爱悠闲 > 分类 >

Linux kernel 第1页

网络协议栈和安全方面(CU)
先搞过来,慢慢细看下 6.1 基于2.6.20版本的《Linux内核源码剖析--TCP/IP实现》【样章01 02 03 22 30】 作者:lmarsin          链接地址 6.2 [出版]--基于2.6.26内核的《追踪LINUX TCP/IP代码运行》 作者:qinjiana0786          链接地址 6.3 PF_RING实现分析 作者:独孤九贱          链接
构造内核源码树
编写驱动程序时, 需要内核源码树的支持。内核源码树时从内核源代码编译得到的。下面开始构造内核源代码的步骤。 以Ubuntu为例子 1. 下载内源代码,位置www.kernel.org.  (注意:源码树内核的版本要和驱动程序运行的目标平台的内核版本一致) apt-cache search linux-source          //搜索内核版本 apt-get install linux-so
linux 驱动开始了(Helllo World)
虽然说最近 被各种boss鄙视,心情很不爽。学习是不能误的,毕竟是要跳槽的人 开始我的linux内核之旅 Hello World #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Leok/GPL"); void hello_init() { printk("this is my he
Linux device drives chapter 2(构造和运行模块)
Linux device drives chapter 2 1.        如果你想编译驱动程序,那么你的系统必须存在构造好的内核源码树,否则驱动编译的时候头文件和链接文件找不到。 2.        linux驱动程序的运行不依赖于c库,不能调用c库中的函数,但是一般c库中的函数在内核都有实现。照这个模式是可以使用c库函数,但使用的不是c库的。 3.         对于驱动模块的加载ins
Linux device drives chapter 3(字符设备)
第三章字符设备驱动程序 1.       对字符设备的访问是通过文件系统内的设备名称的,那些名称成为特殊文件、设备文件,或者简单称之为文件系统树的节点,他们通常存在在/dev/下面,字符设备是ls 前面 是‘c’的表示字符设备,b的表示块设备。如下图: ls 查看字符设备文件的时候,在时间前面2012-03-10 的200是主设备号、0代表次设备号 。调用mknod/dev/leok c 200
Linux device drives 5(并发与竟态)
竟态会导致对共享数据的非控制访问。发生这种错误模式的访问,会产生非预期结果。 内核提供了许多可延迟代码执行的机制,比如workqueue(工作队列)、tasklet(小任务)、以及timer(定时器),而且内核代码可以是抢占式的。对于竟态的发生时很有可能的,虽然竟态一般都是小概率时间,但是带来的危害却很大。 对于这种竟态问题,只要有可能就应该避免资源的共享。 处理并发和竟态的办法就是把这个共享的数