操作系统课程设计讲稿-201609重点.pptVIP

  • 4
  • 0
  • 约 67页
  • 2017-03-21 发布于湖北
  • 举报
为什么要学习设备驱动 Linux内核代码太复杂,学习设备驱动是学习Linux内核的一个切入点 设备更新很快,对设备驱动的需求很旺 采用设备独立的方法,各种设备基本原理是一样的 参考书目: Linux 设备驱动 Edition 3 ,By Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman 设备的分类与特点 字符设备:串行顺序依次进行访问,无缓冲 块设备:可任意顺序访问,以块为操作单位,有缓冲 网络设备:面向数据包的发送和接收,不对应文件系统 设备驱动程序vs应用程序 应用程序以main开始,驱动程序没有main,它以一个模块初始化函数作为入口。 应用程序从头到尾执行一个任务,驱动程序完成初始化之后不再运行,等待系统调用 应用程序可以使用GLIBC等标准C函数库,驱动程序不能使用标准C库。 模块化编程 建立模块测试环境 一个最简单的模块:Hello World Hello World Module #include linux/init.h #include linux/module.h MODULE_LICENSE(Dual BSD/GPL); static int hello_init(void) { printk(KERN_ALERT Hello, world\n); return 0; }

文档评论(0)

1亿VIP精品文档

相关文档