全部博文(2759)
发布时间:2013-10-24 11:47:00
概述: 有时候我们不只是相应一个事件,我们还需要缓存一些数据,基本的操作如下: 我们决定往一个连接输出一些数据,我们会首先把数据放到一个缓存中, 等待文件描述符可写。 往连接中写尽可能多的数据 &.........【阅读全文】
发布时间:2013-10-09 12:06:25
拿到内核,首先进行编译选项配置,make menuconfig,对内核编译选项作配置,最后保存的结果会存放在源码目录下的.config文件下。对应的模块的值被赋值成Y,N,MY表示要编译进内核,N表示不编译进内核也不编译成模块,M将代码编译成模块通过insmod插入使用。这个配置界面是专门有个系统维护的,如果我们要把自己的东西添加.........【阅读全文】
发布时间:2013-09-29 13:26:29
整体上分为三步: 1、配置内核(就是确定哪些功能要保留在编译好的内核中,哪些功能要从内核中删除),生成一个编译配置文件.config 2、编译内核。 3、 安装内核。1、到http://www.kernel.org/下载源码包 在这里我们假设下到的源码包为linux-.........【阅读全文】
发布时间:2013-09-26 10:09:02
前段时间对内核态和用户态交互的两种方式:netlink套接字和procfs进行了皮毛层次的了解,感觉这个东西还挺有意思的,于是打算深入的学习下linux内核态和用户态交互的各种方法。 内核态和用户态有不同的地址空间,因此,在内核和应用.........【阅读全文】
发布时间:2013-09-22 11:21:29
传统的自旋锁实际上就是一个整数,值为1时表示没有被占用,值为0或负数时表示锁已经被占用,此时spin_lock循环等待,直到spin_unlock将自旋锁的值置为1,在这个过程中没有保存线程申请自旋锁的顺序信息,后进入等待的线程有可能先获得自旋锁。 排队自旋锁.........【阅读全文】