3/25/2008

今天白天在办公室看了将近一章的C++书。然后回家看了几页"understanding linux driver", 看这本书的进度很慢,想改进一下看书的方法。上网查了查别人的学习方法,发现有些方法可以借鉴:
1。内核不过就几部分。想做什么方面的就学什么方面的。
2。Arch部分不要管,除非你在为一个chipset Vender做。当然关键时候还得看看--得有hardware的基础(别以为学点i386的体系就是知道hardware),各种接口协议你得懂,比如PCI总线。
3。Net部分,linux用得最多的是在网络通信产品中。少了这部分就没什么发展。
4。内存管理。linux中内存管理的实现大部分是根据arch的特性。大概了解就可以。
5。driver部分,driver有很多种,找个device的datasheet,结合起来看才有点用。
6。进程调度,linux中的精华。简单而可靠---取其精神,用于以后的程序设计中。
7。文件系统。事实上也就是设备driver的一部分。知道怎么用就行。
8。情景分析,初学者可以试试看看,系统的启动顺序。从start_kernel()开始跟踪下去。

所以觉得还是要把书粗粗地看一边(包括"linux device driver"), 然后再开始编一些简单的驱动程序, 不懂的再翻看书中的相关部分。


有用的学习内核的网站:
http://www.oldlinux.org/

0 comments: