资料介绍
设备驱动程序
第六章 设备管理实验
【实验目的】
通过本实验的学习,了解Linux操作系统中的设备驱动程序包括哪些组成部分,并
能编写简单的字符设备(scull,Simple Character Utility for Loading
Localities)和块设备(sbull,Simple Block Utility for Loading
Localities)的驱动程序以及对所编写设备驱动程序的测试,最终了解Linux操作系统
是如何管理设备的。
【准备知识】
一.设备驱动程序的简单介绍
Linux设备驱动程序集成在内核中,实际上是处理或操作硬件控制器的软件。从本
质上讲,驱动程序是常驻内存的低级硬件处理程序的共享库,设备驱动程序就是对设
备的抽象处理;也即是说,设备驱动程序是内核中具有高特权级的、常驻内存的、可
共享的下层硬件处理例程。
设备驱动程序软件封装了如何控制这些设备的技术细节,并通过特定的接口导出
一个规范的操作集合(见图1);内核使用规范的设备接口(字符设备接口和块设备接
口)通过文件系统接口把设备操作导出到用户空间程序中。(由于本实验不涉及网络
设备,故在此就不作讨论)
在Linux中,字符设备和块设备的I/O操作是有区别的。块设备在每次硬件操作时把
多个字节传送到主存缓存中或从主存缓存中把多个字节信息传送到设备中;而字符设
备并不使用缓存,信息传送是一个字节一个字节地进行的。
Linux操作