1.背景网卡接收一个数据包的情况下,会经过三个阶段:- 网卡产生硬件中断通知CPU有包到达- 通过软中断处理此数据包- 在用户态程序处理此数据包在SMP体系下,这三个阶段有可能在3个不同的CPU上处理,如下图所示:而RFS的目标就是增加CPU缓存的命中率从而提高网络延迟。当使用RFS后,其效果如下:...
分类:
其他好文 时间:
2014-12-24 14:39:47
阅读次数:
206
纤程(Fiber)和协程(coroutine)是差不多的概念,也叫做用户级线程或者轻线程之类的。Windows系统提供了一组API用户创建和使用纤程,本文中的库就是基于这组API实现的。纤程的概念中有两个关键点:
纤程拥有独立的栈空间和寄存器环境;
纤程在用户态实现调调度,也就是说完全由程序员控...
分类:
编程语言 时间:
2014-12-21 22:01:08
阅读次数:
269
内核与用户态通信的接口简直太多了,有时候如果非要将它们分个三六九等也是不合适的,比如臭名昭著的ioctl,一旦臭起来就抽到底了,没人说它得好。有
时候它并非想象中的那么坏,绝大多数是因为人们误用了它们,然后哪位大师说了一句它不好,从此以后人们就随大师而去了...对于..
分类:
其他好文 时间:
2014-12-21 01:57:56
阅读次数:
275
内核与用户态通信的接口简直太多了,有时候如果非要将它们分个三六九等也是不合适的,比如臭名昭著的ioctl,一旦臭起来就抽到底了,没人说它得好。有时候它并非想象中的那么坏,绝大多数是因为人们误用了它们,然后哪位大师说了一句它不好,从此以后人们就随大师而去了...对于ioctl,对应到socket类型文件描述符上,就是get/setsockopt两个接口函数,其实我不明白从函数名称上区分操作类型和从命...
分类:
其他好文 时间:
2014-12-20 22:13:43
阅读次数:
265
intel cpu提供Ring0-Ring3三种级别的运行模式,Ring0级别最高,Ring3最低。Linux使用了Ring3级别运行用户态,Ring0作为 内核态,Ring3状态不能访问Ring0的地址空间,包括代码和数据,一条工作在0级特权级的指令具有了CPU能提供的最高权力,而一条工作在3级特...
分类:
其他好文 时间:
2014-12-20 11:37:48
阅读次数:
177
现在的存储设备分成了两大阵营,一般是物理机械盘,直接在本地存储,一种是网络磁盘,通过主机适配器,连接到磁盘机柜上,实现的是远程的传输。一般情况下,我们是不应该干涉磁盘高速缓冲区的回写例程。Linux目前采用的是异步IO读写的方式,所以用户态调用的write函数只是将内..
分类:
其他好文 时间:
2014-12-16 19:33:36
阅读次数:
188
协程是一种用户态的轻量级线程。本篇主要研究协程的C/C++的实现。利用ucontext提供的四个函数getcontext(),setcontext(),makecontext(),swapcontext()可以在一个进程中实现用户级的线程切换。本篇一步一步教你使用ucontext组件实现自己的协程库。 一步两步,一步两步,一步一步似爪牙,.......
分类:
其他好文 时间:
2014-12-13 17:58:59
阅读次数:
609
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,
可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,
超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就
会启动休眠的那套机制来进入休眠.
(一).内核维护了:
1).两个链表,active_wake_locks[WAKE_LOCK_TYPE_COUNT]
active...
分类:
移动开发 时间:
2014-12-10 18:03:05
阅读次数:
160
通常程序访问的地址都是虚拟地址,用32位操作系统来讲,访问的地址空间为4G,linux将4G分为两部分。如图1所示,其中0~3G为用户空间,3~4G为内核空间。通过MMU这两部分空间都可以访问到实际的物理内存。
进程在用户态只能访问0~3G,只有进入内核态才能访问3G~4G
*进程通过系统调用进入内核态
*每个进程虚拟空间的3G~4G部分是相同的
*进程从用...
分类:
系统相关 时间:
2014-12-10 16:17:30
阅读次数:
278
Linux包过滤防火墙概述netfilter、iptables都可以称作Linux的防火墙,区别在于netfilter位于Linux内核的包过滤功能体系中,叫做Linux防火墙的“内核态”;而iptables位于/sbin/iptables,是用来管理防火墙规则的工具,可以叫做Linux防火墙的“用户态”。iptables的作用在于为包..
分类:
系统相关 时间:
2014-12-10 11:00:07
阅读次数:
280