摘要: 首先说说系统调用是什么,当你的代码需要做IO操作(open、read、write)、或者是进行内存操作(mmpa、sbrk)、甚至是说要获取一个系统时间(gettimeofday),就需要通过系统调用来和内核进行交互。无论你的用户程序是用什么语言实现的,是php、c、java还是go,只要你是建立在 阅读全文
posted @ 2020-10-31 10:47 zhangyanfei01 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 前文中中我们用实验的方式验证了Linux进程和线程的上下文切换开销,大约是3-5us之间。当运行在一般的计算机程序时,这个开销确实不算大。但是海量互联网服务端和一般的计算机程序相比,特点是: 高并发:每秒钟需要处理成千上万的用户请求 周期短:每个用户处理耗时越短越好,经常是ms级别的 高网络IO:经 阅读全文
posted @ 2020-10-31 10:35 zhangyanfei01 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 进程是操作系统的伟大发明之一,对应用程序屏蔽了CPU调度、内存管理等硬件细节,而抽象出一个进程的概念,让应用程序专心于实现自己的业务逻辑既可,而且在有限的CPU上可以“同时”进行许多个任务。但是它为用户带来方便的同时,也引入了一些额外的开销。如下图,在进程运行中间的时间里,虽然CPU也在忙于干活,但 阅读全文
posted @ 2020-10-31 10:25 zhangyanfei01 阅读(358) 评论(0) 推荐(0) 编辑