学习Linux内核的方法小结zz
2009-10-19 14:33
253 查看
假定你会C语言,而且明白C语言面向对象编程的schme,对操作系统(包括调度,内存分配,分页,同步,etc)比较了解。那么你可以按照如下顺序学习Linux 内核。
1.看Linux Device Driver这本书。这是为了让你懂得编译内核模块的方法。还有为Linux各种设备留下一些印象。同时一遍看书一边看某些设备的源代码,推荐看如下几个 设备的源代码:mem,raw,hidmouse。看mem是为了了解字符设备的基本编写方法和概念。比如如何利用dev_t,如何利用不同的Minor 部分确定该Device的功能,等等。看raw是为了了解如何利用Linux的Device Model。hidmouse是为了了解如何利用interrupt方式与usb hub通信,以及usb设备驱动的基本架构。至于PCI我还没研究。其实第一次看的时候可以忽略PCI Driver后面的所有章节。自己写一个只有逻辑的字符设备驱动即可进行下一步。
2.看Understanding the Linux Kernel这本书。这本书没什么好说的,经典。适合从头看到尾一次,选感兴趣章节再看N次。为什么我不支持大家第一次就看这本书?这是因为里面描述了许多内核的数据结构,不自己写一些设备驱动,很难熟悉他们。
3.好了,现在看了N次Understanding the Linux Kernel了。再看一次Linux Device Driver吧。然后什么设备驱动,内核rookit,你都可以畅通无阻了。
1.看Linux Device Driver这本书。这是为了让你懂得编译内核模块的方法。还有为Linux各种设备留下一些印象。同时一遍看书一边看某些设备的源代码,推荐看如下几个 设备的源代码:mem,raw,hidmouse。看mem是为了了解字符设备的基本编写方法和概念。比如如何利用dev_t,如何利用不同的Minor 部分确定该Device的功能,等等。看raw是为了了解如何利用Linux的Device Model。hidmouse是为了了解如何利用interrupt方式与usb hub通信,以及usb设备驱动的基本架构。至于PCI我还没研究。其实第一次看的时候可以忽略PCI Driver后面的所有章节。自己写一个只有逻辑的字符设备驱动即可进行下一步。
2.看Understanding the Linux Kernel这本书。这本书没什么好说的,经典。适合从头看到尾一次,选感兴趣章节再看N次。为什么我不支持大家第一次就看这本书?这是因为里面描述了许多内核的数据结构,不自己写一些设备驱动,很难熟悉他们。
3.好了,现在看了N次Understanding the Linux Kernel了。再看一次Linux Device Driver吧。然后什么设备驱动,内核rookit,你都可以畅通无阻了。
相关文章推荐
- 学习Linux内核的方法小结
- C# 静态成员和方法的学习小结
- C# 静态成员和方法的学习小结
- 计算机网络(自顶向下方法)学习笔记 1.8 小结
- 一个学习Linux内核原理的好方法
- Back Stack学习之Android退出方法小结
- [置顶] angularJS学习小结——$apply方法和$watch方法
- [zz]网络编程学习小结
- 大学四年学习过程和方法小结
- C# 静态成员和方法的学习小结
- C#: 静态成员和方法的学习小结
- JSTL学习小结——对fn:substring()方法的理解
- C# 静态成员和方法的学习小结(转)
- 从Linux内核代码中学习获得结构体成员偏移量的方法
- javascript Promise简单学习使用方法小结
- 黑马程序员——OC学习小结------成员变量以及对应的set、get方法
- 黑马程序员——OC学习小结------构造方法,分类,方法的重写,SEL
- 从Linux内核代码中学习获得结构体成员偏移量的方法 .
- Servlet 学习小结之doPost()方法和doGet()方法
- Unity3d C# 脚本学习小结【常用方法】