1 / 13 实验八 模块和设备驱动程序一
通过实验了解下文件驱动程序的框架;
通过驱动程序的编写,理解对设备管理的方式;
理解设备驱动程序中与内核交互部分
实验指导是操作系统的一种变种, 在下编写驱动程序的原理和思想完全类似于其他的系统,但它和或环境下的驱动程序有很大的区别
设备在中,用户进程不能直接对物理设备进行操作,必须通过系统调用向内核提出设备请求, 由内核实现对物理设备的分配并完成进程请求的操作
在内核中实现对设备进行操作的一组程序称为设备驱动程序
系统调用是操作系统内核和应用程序之间的接口, 设备驱动程序是操作系统内核和机器硬件之间的接口,为应用程序屏蔽了硬件的细节, 在应用程序看来, 硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作
设备驱动程序是内核的一部分,它完成以下的功能 : )
对设备初始化和释放)把数据从内核传送到硬件和从硬件读取数据)读取应用程序传送给设备文件的数据和回送应用程序请求的数据)检测和处理设备出现的错误在系统把设备分为类: 块设备、 字符设备和网络设备
每类设备都有独特的管理控制方式和不同的驱动程序
字符设备:以字符为单位进行输入输出的设备,并且以字符为单位对设备中的信息进行组织和处理
包括:显示器、键盘、打印机、绘图仪、串口等
通常对字符设备传送的数据是顺序处理
字符设备以访问文件的方式访问
块设备:以一定大小的数据块为单位进行输入输出,设备中的数据也以物理块为单位进行组织和管理
块设备可以采取随机存取方法
包括硬盘、软盘、光2 / 13 盘、盘等
通常作为外存使用,文件系统建立在外存中,块设备通过文件系统访问
为匹配与块设备间的速度差异,通常使用缓冲区传送数据
网络设备:与网络通信线路连接的网络适配器
使用套接口以文件方式提供对网络数据的访问
本实验主要介绍字符设备驱动程序的编