Linux kernel
youkuxiaobin
快乐起来
展开
-
网络协议栈和安全方面(CU)
先搞过来,慢慢细看下 6.1 基于2.6.20版本的《Linux内核源码剖析--TCP/IP实现》【样章01 02 03 22 30】 作者:lmarsin http://linux.chinaunix.net/bbs/thread-1157659-1-1.html 6.2 [出版]--基于2.6.26内核的《追踪LINUX TCP/IP代码运行》 作者:qinjiana07原创 2011-12-21 22:04:03 · 1444 阅读 · 0 评论 -
构造内核源码树
编写驱动程序时, 需要内核源码树的支持。内核源码树时从内核源代码编译得到的。下面开始构造内核源代码的步骤。 以Ubuntu为例子 1. 下载内源代码,位置www.kernel.org. (注意:源码树内核的版本要和驱动程序运行的目标平台的内核版本一致) apt-cache search linux-source //搜索内核版本转载 2012-02-29 21:56:22 · 679 阅读 · 0 评论 -
Linux device drives 5(并发与竟态)
竟态会导致对共享数据的非控制访问。发生这种错误模式的访问,会产生非预期结果。 内核提供了许多可延迟代码执行的机制,比如workqueue(工作队列)、tasklet(小任务)、以及timer(定时器),而且内核代码可以是抢占式的。对于竟态的发生时很有可能的,虽然竟态一般都是小概率时间,但是带来的危害却很大。 对于这种竟态问题,只要有可能就应该避免资源的共享。 处理并发和竟态的办法就是把这个共原创 2012-03-24 00:03:15 · 1545 阅读 · 0 评论 -
Linux device drives chapter 2(构造和运行模块)
Linux device drives chapter 2 1. 如果你想编译驱动程序,那么你的系统必须存在构造好的内核源码树,否则驱动编译的时候头文件和链接文件找不到。 2. linux驱动程序的运行不依赖于c库,不能调用c库中的函数,但是一般c库中的函数在内核都有实现。照这个模式是可以使用c库函数,但使用的不是c库的。 3. 对于驱动模块的原创 2012-03-04 01:11:19 · 1030 阅读 · 0 评论 -
linux 驱动开始了(Helllo World)
虽然说最近 被各种boss鄙视,心情很不爽。学习是不能误的,毕竟是要跳槽的人 开始我的linux内核之旅 Hello World #include #include MODULE_LICENSE("Leok/GPL"); void hello_init() { printk("this is my hello world\n"); } v原创 2012-02-29 23:00:04 · 849 阅读 · 1 评论 -
Linux device drives chapter 3(字符设备)
第三章字符设备驱动程序 1. 对字符设备的访问是通过文件系统内的设备名称的,那些名称成为特殊文件、设备文件,或者简单称之为文件系统树的节点,他们通常存在在/dev/下面,字符设备是ls 前面 是‘c’的表示字符设备,b的表示块设备。如下图: ls 查看字符设备文件的时候,在时间前面2012-03-10 的200是主设备号、0代表次设备号 。调用mknod/dev/l原创 2012-03-11 22:09:51 · 998 阅读 · 0 评论 -
Linux device drives chapter 4(调试技术)
第四章 内核调试技术 内核调试技术支持 make menuconfig对内核进行配置 在kernel hacking这一项中包含了一些内核的调试支持 make menuconfig之后就会看到kernel hacking选项 一些内核调试选项有如下说明:(通过搜索找到的) CONFIG_DEBUG_KERNEL -> kernel hacking原创 2012-03-17 23:37:37 · 1210 阅读 · 1 评论