摘要: 1、Linux 文件系统的目录结构/ Linux文件系统的入口,也是处于最高一级的目录;/bin 系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。/boot Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;/dev 设备文件存储目录,比如声卡、磁盘... .../etc 系统配置... 阅读全文
posted @ 2013-10-08 22:29 Jan5 阅读(237) 评论(0) 推荐(0) 编辑
摘要: #1 设置测试系统 &想要在运行的内核当中扩展模块,就必须先准备好一个内核源代码树(可以是“主线”内核,也可以是发行版内核),构造一个新的内核,然后安装到自己的系统中,作为测试系统;#2 Hello World 模块 &构造好内核树之后,就可以开始编写模块了。我们先从简单的 “Hello World 模块”入手: 1 #include 2 #include 3 MODULE_LICENSE("Dual BSD/GPL"); 4 5 static int hello_init(void) 6 { 7 printk(KERN_ALERT "Hello, 阅读全文
posted @ 2013-10-08 21:52 Jan5 阅读(348) 评论(0) 推荐(0) 编辑
摘要: #1 设备驱动程序的作用 &设备驱动程序的作用在于提供机制,而不是策略。所谓机制,即“需要提供什么样的功能”;所谓“策略”,即“如何使用这些功能”。前者精于设计,专注细节;后者实现调用,不需要知道任何与硬件相关的信息。 &决定设备驱动通常不带策略的主要原因是:不同的环境需要不同的方式来使用硬件,而设备驱动针对底层硬件,不可能为每一种方式都编写一个策略。因此,我们让驱动程序提供机制,而让系统高层提供策略。 当然,有时候我们也要在驱动程序当中实现一些策略。例如,某个数字 I/O 驱动程序只提供以字节为单位访问硬件的方法,这样就可以避免编写额外的代码来处理单个数据位的麻烦。 & 阅读全文
posted @ 2013-10-08 15:55 Jan5 阅读(1191) 评论(3) 推荐(2) 编辑