[第章设备管理.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[第章设备管理

第九章 linux设备管理 9.1、Linux设备分类与识别 9.2、缓冲技术 9.3、设备分配SPOOLING技术 9.4、Linux的I/O控制 9.5、设备驱动程序 9.1设备分类与识别 1、Linux设备的分类 9.1设备分类与识别 2、设备文件 linux设备管理的特点是:物理设备抽像化,把物理设备看成文件,采用文件系统的接口和系统调用来管理和控制设备。 Linux设备就是一种特殊文件,称为设备文件 9.1设备分类与识别 9.1设备分类与识别 9.1设备分类与识别 设备文件与与普通文件的差异: 设备文件没有象普通文件那样的文件实体,不在外存占据数据块来存放数据 进程访问普通文件是读写磁盘分区中的数据,访问设备文件是对硬件设备进行读写,完成设备与内存之间的数据传送 9.1设备分类与识别 3、Linux设备的识别 9.1设备分类与识别 crw-rw-rw- 1 root root 1, 3 Feb23 1999 null crw------- 1 root root 10, 1 Feb23 1999 psaux crw------- 1 rubini tty 4, 1 Aug16 22:22 tty1 crw-rw-rw- 1 root dialout 4, 64 Jun30 11:19 ttyS0 crw-rw-rw- 1 root dialout 4, 65 Aug16 00:00 ttyS1 crw------- 1 root sys 7, 1 Feb23 1999 vcs1 crw------- 1 root sys 7, 129 Feb 23 1999 vcsa1 crw-rw-rw- 1 root root 1, 5 Feb23 1999 zero 9.4 Linux的I/O控制方式 在计算机系统中,对设备的输入、输出过程实际上是:在cpu的控制下主机(内存)与外部设备之间传送数据的过程。 linux的I/O控制方式有3种: 查询等待方式 中断方式 DMA方式 9.5 设备驱动程序 驱动程序结构图 9.5 设备驱动程序 1、设备处理的主要功能 2、设备注册 3、中断处理程序 4、编写设备驱动程序 9.5 设备驱动程序 1、设备处理的主要功能: (1)对设备进行初始化 (2)启动、停止设备的运行 (3)把设备上的数据传到内存 (4)把数据从内存传送到设备 (5)检测设备状态 9.5 设备驱动程序 2、设备注册 当一种设备安装到系统时,必须向系统进行注册,注册之后才能使用,设备注册的任务是把驱动程序加载到系统中。 设备的驱动程序是系统在启动时装载到系统中的; 对于“即装即用”设备,驱动程序作为程序模块可以随时加载到系统中; 9.5 设备驱动程序 9.5 设备驱动程序 *******: 1、设备注册表的下标是某种设备的主设备号。 2、两个注册表的第一个表项通常为null,因为系统中不存在主设备号为0的字符设备和块设备 9.5 设备驱动程序与设备注册 2、设备注册(注册函数) 9.5 设备驱动程序 2、设备注册(注销函数) 当设备需要撤销时,可以使用注销函数从设备注册表中删除。 9.5 设备驱动程序 3、中断服务例程 9.5 设备驱动程序 9.5 设备驱动程序 9.5 设备驱动程序 3、驱动程序的编制: 编制设备驱动程序的工作就是: 1、使用汇编或c语言编写控制设备完成各种操作的例程 2、把这些操作例程的入口地址赋予file_operations结构体的有关成员项。 9.5 设备驱动程序 说明: (1)设备驱动程序是一个函数和数据结构的集合,它的目的是实现一个简单的管理设备的接口。 (2)设备驱动程序一般都集成在操作系统内核中,使不同的应用程序进行共享。 (3)系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。 (4)驱动程序虽然是在设备生产厂家开发的,但装入系统后由内核统一管理,处于内核态,成为内核的一部分。 (5)Linux对设备的管理和控制是使用VFS提供的各种数据结构和操作函数实现的。 编写驱动程序的示例 主要内容 1、设备文件的建立 2、设备文件的操作 3、驱动程序出入口 4、模块的加载与卸载 编写驱动程序的示例 1、设备文件的建立 编写驱动程序的示例 编写驱动程序的示例 3.驱动程序出入口 驱动程序的入口: init_module():主要是注册设备; 驱动程序的出口: cleanup_

文档评论(0)

1974wangpeng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档