2-1设备管理(中嵌教育-嵌入式linux开发课件)

上传人:油条 文档编号:48589506 上传时间:2018-07-17 格式:PPT 页数:30 大小:340KB
返回 下载 相关 举报
2-1设备管理(中嵌教育-嵌入式linux开发课件)_第1页
第1页 / 共30页
2-1设备管理(中嵌教育-嵌入式linux开发课件)_第2页
第2页 / 共30页
2-1设备管理(中嵌教育-嵌入式linux开发课件)_第3页
第3页 / 共30页
2-1设备管理(中嵌教育-嵌入式linux开发课件)_第4页
第4页 / 共30页
2-1设备管理(中嵌教育-嵌入式linux开发课件)_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《2-1设备管理(中嵌教育-嵌入式linux开发课件)》由会员分享,可在线阅读,更多相关《2-1设备管理(中嵌教育-嵌入式linux开发课件)(30页珍藏版)》请在金锄头文库上搜索。

1、设 备 管 理1 设备管理概述 2 I/O控制方式 3 设 备 分 配 4 Linux中的设备管理 1 设备管理概述1.1 I/O设备的类型按设备的所属关系可以将I/O设备分为以下两 类。 (1)系统设备系统设备是在系统生成时已登记于系统中的 标准设备,属于系统的基本配置。 (2)用户设备用户设备是在系统生成时未登记在系统中的 非标准设备。按设备的信息交换的单位可将I/O设 备分为以下两类。 (1)字符设备字符设备是以字符为单位进行输入和 输出的设备。 (2)块设备块设备的输入和输出是以数据块为单 位的。按设备的共享属性可将I/O设备分为以下三类。(1)独占设备所有的字符设备都是独占设备。独占

2、设备是指一段时间内只允许一个用户(进程)访问的设备,即临界资源。(2)共享设备块设备都是共享设备。共享设备是指一段时间内允许多个进程同时访问的设备。 (3)虚拟设备通过虚拟设备技术把一占设备变换为若干台逻辑设备,供若干个用户(进 程)同时使用,以提高设备的利用率。 1.2 设备管理的任务和功能设备管理是对计算机的输入/输出系统 的管理,它是操作系统中最具有多样性和 复杂性的部分。其主要任务如下所述。(1)选择和分配I/O设备以便进行数据 传输操作。(2)控制I/O设备和CPU(或内存)之 间交换数据。(3)为用户提供一个友好的透明接口, 把用户和设备硬件特性分开,使得用户在编 制应用程序时不必

3、涉及具体设备,由系统按 用户的要求来对设备的工作进行控制。另外 ,这个接口还为新增加的用户设备提供一个 和系统核心相连接的入口,以便用户开发新 的设备管理程序。(4)提高设备和设备之间、CPU和设备 之间以及进程和进程之间的并行操作程度 ,以使操作系统获得最佳效率。为了完成上述主要任务,设备管理程序一 般要提供下述功能。 (1)提供和进程管理系统的接口 (2)进行设备分配 (3)实现设备和设备、设备和CPU等之间 的并行操作 (4)进行缓冲管理 (5)设备控制与驱动1.3 设备控制器设备控制器是CPU与I/O设备之间的接 口,它接收从CPU发来的命令并去控制I/O 设备工作。设备控制器是一个可

4、编址设备 ,当它仅控制一个设备时,它只有一个惟 一的设备地址;当它控制多个设备时,则 应具有多个设备地址,使每一个地址对应 一个设备。 为实现设备控制器的功能,大多数设备控制器都由以下三部分组成。1设备控制器与处理机的接口2设备控制器与设备的接口3I/O逻辑图10.1 设备控制器的组成 1.4 I/O通道设置I/O通道的目的是使一些原来由 CPU处理的I/O任务转由通道来承担,从而 把CPU从繁杂的I/O任务中解脱出来。在设置了通道后,CPU只需向通道发送 一条I/O指令。通道在收到该指令后,便从 内存中取出本次要执行的通道程序,然后 执行该通道程序,仅当通道完成了规定的 I/O任务后,才向C

5、PU发中断信号。实际上,I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。通道有两种基本类型:选择通道和多路通道。 图10.2 单通路I/O系统 图10.3 多通路I/O系统 1.6 设备驱动设备驱动程序的主要任务,是接收上层 软件发来的抽象要求,如read或write命令,再把它转换为具体要求,发送给设备控 制器;此外,它也将由设备控制器发来的 信号传送给上层软件,从而完成两者间的 相互通信。设备驱动程序的处理过程。 (1)将抽象要求转换为具体要求 (2)检查I/O请求的合法性 (3)读出和检查设备的状态 (4)传送必要的参数 (5)工作

6、方式的设置 (6)启动I/O设备2 I/O控制方式 2.1 程序I/O方式图10.4示出了程序I/O方式的流程。图10.4 程序I/O方式的流程 2.2 中断驱动I/O控制方式在现代计算机系统中,都毫无例外地引 入了中断机构,致使对I/O设备的控制,广 泛采用中断驱动(Interrupt Driven)方式 。即当某进程要启动某个I/O设备工作时, 便由CPU向相应的设备控制器发出一条I/O 命令,然后立即返回继续执行原来的任务, 设备控制器则按照该命令的要求去控制指定 I/O设备。此时,CPU与I/O设备并行操作。例如,在输入时,当设备控制器收到 CPU发来的读命令后,便去控制相应的输 入设

7、备读数据。一旦数据进入数据寄存器 ,控制器便通过控制线向CPU发送一个中 断信号,由CPU检查输入过程中是否出错 ,若无错,便向控制器发送取走数据的信 号,然后再通过控制器及数据线,将数据 写入内存指定单元中。图10.5示出了中断 驱动I/O控制方式的流程。图10.5 中断驱动I/O控制方式的流程 2.3 DMA控制方式DMA方式的基本思想是,在外围设备 和内存之间开辟直接的数据交换通路。在 DMA控制器中,除了控制状态寄存器和数 据缓冲寄存器外,还包括传送字节计数器 和内存地址寄存器以及控制电路等。因此 ,DMA控制器可用来代替CPU,以实现内 存和设备之间进行成批的数据交换。DMA 方式的

8、传送结构如图10.6所示。图10.6 DMA方式的传送结构 3.2 设备分配时应考虑的因素 1设备的固有属性 2设备分配算法I/O设备的分配,除了与I/O设备的固有 属性有关之外,还与系统所采用的设备分 配算法有关。I/O设备的分配与进程调度很 相似,同样可采用如下一些算法。 (1)先来先服务 (2)优先级最高者优先3设备分配中的安全性从进程运行的安全性方面考虑,设备分配方式有以下两种。(1)静态分配(2)动态分配4设备独立性为了提高系统的可适应性和可扩展性,应使所编制的用户程序与实际使用的物理设备无关,即应用程序独立于具体使用的物理设备,这就是所谓的设备独立性。6 Linux中的设备管理 6.1 Linux设备管理概述在Linux系统中,用户是通过文件系统 与设备接口的。所有设备都作为特别文件 ,从而在设备管理上具有下列特性。(1)每个设备都对应文件系统中的一个 索引节点,都有一个文件名。(2)应用程序通常可以通过系统调用 open()打开设备文件,建立起与目标设 备的连接。(3)对设备的使用类似于对文件的存取 。(4)设备驱动程序都是系统内核的一部 分,它们必须为系统内核或者它们的子系统 提供一个标准的接口。(5)设备驱动程序使用一些标准的内核 服务,如内存分配等。 图10.18 设备驱动分层结构

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号