7设备管理课件111
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
记 记 录 录 3 4 (a) 一个记录一个IRG
(2) 磁盘
记 记 记 记 记 记 记 记 录 录 录 录 录 录 录 录 5 6 7 8 9 10 11 12 (b) 一块(4个记录)一个IRG
返回目录
7.1.3 设备管理的功能
设备管理的功能
提供一组I/O命令(实质就是系统调用命令),以便用户进程能够在程序一 . 级发出所需要的 I/O请求,这就是用户使用外部设备的“界面”。
. .
DMA是“直接内存访问”的意思。DMA独立于CPU工作,在它控制 下的设备,可直接和内存进行信息传送,其间无需CPU做任何干预。
7.2.3 直接内存访问I/O
(1) CPU把信息写入DMA控制器的有关寄存器中,启动DMA控制器工作。 这样,CPU就把这次I/O所要完成的任务交给了DMA去完成,自己就可脱出身去做其他 与该I/O无关的事情了。 DMA通过总线向磁盘控制器发送读盘请求,要它取得总线使用权,并把数据 传输到指定的内存区域中。 (3) 磁盘控制器按照I/O要求,把内部缓冲区里的数据传输到内存。 (4) 数据传输完毕,磁盘控制器通过总线向DMA控制器发出应答信号,表示这一 次传输已经结束。DMA向CPU发出中断信号,请求进行I/O的结束处理。
. .
(1) 磁带是一种严格按照信息存放的物理顺序进行定位与存取的存储设备。它是一种 适于顺序存取的存储设备。磁带上每个记录间有所谓的“记录间隙(IRG)”。
IRG 记 录 1 记 录 2 IRG IRG IRG 记 录 5 IRG 一块 IRG 记 记 记 记 录 录 录 录 1 2 3 4 一块 IRG 一块 IRG 0
返回目录
3. I/O接口程序 . I/O接口程序是设备管理中与设备无关部分的软件,它接收用户对设 备提出的I/O请求,然后负责把I/O请求转变成所需要的I/O命令,调用具 体的设备驱动程序去执行,完成这个I/O请求。 . I/O接口程序要为用户提供统一的设备命名方式。通常,系统是用主 设备号和次设备号组成的逻辑设备名来为设备命名,主设备号指定设备 的类型(于是确定了所要使用的设备驱动程序),次设备号作为参数传 . 递给设备驱动程序,用来确定真正完成读写操作的设备。 用户编程时不用实际的设备名而使用逻辑设备名,有利于I/O设备的故 障处理,为I/O设备的分配增添了灵活性。称这种方法是设备管理中的 “I/O设备无关性”。
.
2. 设备驱动程序 . 操作系统中与设备相关的设备管理软件是设备驱动程序, 用于实现对具体设备的管理和操作; 与设备无关部分的设备管理软件是一些系统调用,用来把用 户的I/O请求导向到具体的设备驱动程序。
. 要让设备工作,必须访问设备控制器中的各种寄存器,这是通过编写 的特定程序代码来实现的。这样的代码程序就是“设备驱动程序”。 . 在中断驱动I/O的情形下,设备驱动程序被分成两个部分,一部分用 来完成对设备操作的初始化,另一部分是中断处理程序,用来处理设备 操作的完成。 设备驱动程序通过访问设备控制器里的寄存器了解设备的各种工作 状态,发出操作命令。
. 中断机制下,硬件有条中断请求线( IRL)。CPU执行完指令后,就去
.
.
设备驱动程序
设备处理程序
⑥
中断处理程序
③
②
⑧
⑤
状态寄存器 设备控制器 数据寄存器
硬件接口
命令寄存器
返回目录
7.2.3 直接内存访问I/O
1. 直接内存访问I/O的含义
.
为减少中断对CPU造成的负担,对系统中的一些高速I/O设备以及成组 交换数据的情形,可采用直接内存访问I/O的方式,把I/O的主要任务交给一 个专用的、名为DMA的控制器去完成。
7.2
I/O的四种实现方式
read (device, …)
用户程序
状态寄存器中“忙”位的能力:“1”时表示该设 数据区 ① 备在工作,暂时不能接受新的I/O请求;“0”时表 系统接口 示设备空闲,可接受新的I/O请求。只有CPU不断 地去测试“忙”位,才能判断该设备是工作或空 “读”系统调用命令 闲。 如图所示给出了程序循环控制I/O的“读” ② ⑤ “写”系统调用命令 操作执行情形,具体步骤如下: (1) 用户进程程序对某个设备提出读请求。 ④ ③ 硬件接口 (2) CPU执行设备驱动程序,测试设备状态 寄存器中的忙位。如果设备忙,就不断进行循环 命令寄存器 状态寄存器 数据寄存器 测试,直等到设备空闲。 设备控制器 (3) 驱动程序重新设置忙位,把输入命令存入 设备控制器的命令寄存器,启动设备开始工作。 (4) 这时,设备去做I/O,驱动程序仍不断测试忙位,等待I/O操作的完成。 (5) 驱动程序将数据寄存器中的数据内容读到用户指定的位置,完成读操作。
. 进行设备的分配与回收。在多道程序设计环境下,多个用户进程可能
会同时对某一类设备提出使用请求。设备管理软件应根据一定的算法,决 定把设备具体分给哪个进程使用;当某设备使用完毕后,设备管理软件应 及时将其回收,如有用户进程正在等待使用,那么立即进行再分配。
.
对缓冲区管理。CPU的执行速度、访问内存的速度都较高,外部设备的数据传 输速度则大都较低,产生了高速CPU与慢速I/O设备间速度不相匹配的矛盾。为此, 系统往往在内存开辟一些区域称为“缓冲区”,CPU和I/O设备都通过这种缓冲区传 递数据。
CPU 1.CPU对DMA 控制器进行编程 DMA控制器 地址寄存器 字节计数寄存器 控制寄存器 完成时中断 总线 2.DMA请求 传输到内存 3.数据传输 4.应答 缓冲区 磁盘驱动器 磁盘控制器 内存
. 采用这种方式实现I/O,是基于设备只有设置 .
7.2.1 程序循环控制I/O
返回目录
7.2.2 中断驱动I/O
检查IRL。检测到有设备控制器通过中断请求线发出了信号,CPU就去执行中断处理程 序,判定中断原因,进行必要的处理,再让CPU返回中断以前的执行状态。 在利用中断的情况下,设备驱动程序由进行I/O操作初始化、启动设备工作的设备 驱动程序和I/O完成后做善后处理的设备处理程序组成。系统维护一张“设备状态表”, read (device, …) 表项里记录一个设备发生中断 数据区 时的有关信息。 ⑩ 系统接口 这时I/O的“读” ① ⑨ 设备状态表 操作执行情形如图所 示。 ④ ⑦
第7章 设备管理
7.1 设备管理概述
7.1.1 7.1.2 7.1.3 7.1.4 7.2.1 7.2.2 7.2.3 7.2.4 I/O系统的组织结构 计算机设备的分类 设备管理的目标与功能 设备管理的数据结构 程序轮询控制I/O 中断驱动I/O 直接内存访问I/O 通道管理I/O
7.4 磁盘及磁盘的移臂调度策略
. 整个I/O结构分成三个层次:底层是具体的设备和硬件接口,中间是系
进程A
用户程序 与设备 无关软件
统软件(与设备相关软件、与设备无关软件),最上面是用户程序。
进程B 进程C 进程N
用户 空间
I/O接口程序
内核 空间
与设备 相关软件 硬件接口
打印机 驱动程序
摄像机 驱动程序
磁盘 驱动程序
打印机控制器
3. 基于设备的传输特性
.
.
字符设备:是指以字符为单位与内存进行信息 交换的那些设备,也称为是“面向字符”的设备。键 盘、打印机是字符设备的典型代表。
块设备:是指以独立寻址的数据块(比如一个扇区) 为单位与内存进行信息交换的那些设备,也称为是“面向 块”的设备。磁带、磁盘是块设备的典型代表。
返回目录
.
CPU与设备控制器接口
设备控制器与I/O设备接口 设备控制器 与I/O设备 的接口1 I/O 逻辑 部件 设备控制器 与I/O设备 的接口2 数据 状态 控制 数据 状态 控制 数据 状态 控制
数据线
数据寄存器 控制/状态 寄存器
CPU
地址线
控制线
设备控制器 与I/O设备 的接口i
设备控制器除要将设备与计算机连接外,还有更为重要的任 务是随时监视设备所处状态,实现对设备的控制与操作。
.
.
为能使CPU与设备控制器中的各寄存器进行通 信,常采用两种方法
单独的I/O空间 :设备控制器里每个寄存器都有一个I/O端口号,它 们单独组成地址空间。计算机系统除了内存空间外,还有I/O端口地址空 间。CPU将用不同的指令,完成对这两个空间的访问。
.
Biblioteka Baidu
内存映射I/O:这时设备控制器里的每个寄存器没有特定的设备 地址,而是与一个内存地址关联,这些地址不分配作他用。这种 系统称为“内存映射I/O”。CPU将通过相同的指令,实现对整个 内存空间的访问。
4. 基于设备的工作特性 输入/输出设备:输入设备是计算机“感知”或“接触”外部 世界的设备,用户通过输入设备把信息送到计算机系统内部;输 出设备是计算机“通知”或“控制”外部世界的设备,计算机系 统通过输出设备把处理结果告知用户。通常把它们称为“字符设 备”。 存储设备:是指计算机永久保存信息的设备,可分为顺序访问存储 设备和随机访问存储设备两种,它们都是面向块的。
7.4.1 7.4.2 7.4.3 7.4.4 磁盘的格式化 磁盘的性能参数 磁盘的移臂调度策略 独立磁盘冗余阵列:RAID
7.2 I/O的四种实现方式
7.3 缓冲、虚拟设备与SPOOLing技术
7.3.1 I/O缓冲 7.3.2 虚拟设备与SPOOLing技术
7.1 设备管理概述
7.1.1 I/O系统的组织结构
7.1.2 计算机设备的分类
2. 基于设备的分配特性 独享设备:这种设备的特点是一旦分配给某个用户进程使用,就必须等 它们使用完后,才能重新分配给另一个用户进程使用,否则不能保证所传送 信息的连续性,也可能会出现获得的结果混乱不清、无法辨认的局面。独享 设备的使用具有排它性。 . 共享设备:这种设备的特点是可由几个用户进程“交替地”对它做信息 的读/写操作。从宏观上看,它们都在同时使用该设备;从微观上看,每一 时刻只有一个进程使用。共享设备必须是可寻址和可随机访问的。 . 虚拟设备:以大容量辅助存储器的支持,利用SPOOLing技术,把独 享设备“改造”成为能被多个进程共享的 I/O设备,以提高独享设备的利用 . 率。实际上这种“共享”设备并不存在,是一种逻辑上、概念上的I/O设备, 因此称它们为“虚拟设备”。
返回目录
7.1.2 计算机设备的分类
1. 基于设备的从属关系
.
. 系统设备:操作系统生成时就纳入系统管理范围的设 备是系统设备,也称为“标准设备”。比如键盘、显示器、 打印机和磁盘驱动器等。
.
用户设备:在完成任务过程中,用户特殊需要的设 备为用户设备。由于这些是操作系统生成时未经登记的非 标准设备,用户就要向系统提供使用该设备的有关程序 (如设备驱动程序等);系统就要提供接纳这些设备的手 段,以便将它们纳入系统来管理。
.有些进程都是因为暂时得不到这个设备的服务而被阻塞的,所以应该
排在与该设备有关的阻塞队列上,这个阻塞队列在操作系统的设备管 理中被称为“设备请求队列”。
.
DCB表 DCB1
DCBi 设备标识 设备类型 设备状态 PCB1 PCB2 PCBn
DCBi
设备请求队列指针 设备驱动程序起址 其他
DCBn
设备请求队列 返回目录
摄像机控制器
磁盘控制器
设备 打印机 摄像机 硬盘
7.1 设备管理概述
7.1.1 I/O系统的组织结构
I/O设备一般由机械和电子两个部分组成。
为了使设计更加模块化、更具通用性,也为了降低设计制作的 成本,如今常把它们分开来处理:电子部分称作是“设备控制器” 或“适配器”;机械部分仍被称作是“设备”。 设备控制器的一端与计算机连接,另一端与设备本身连接设备 控制器上通常有连接器,由设备引出的电缆可以插入到该连接器, 完成与设备控制器的连接。很多设备控制器可同时连接多个设备, 它们将共享设备控制器里的I/O逻辑部件。
.
实现真正的I/O操作。程序中使用系统提供的I/O命令后,设备管理要按用户的具 体请求,启动设备,通过设备驱动程序进行实际的I/O操作。完成后将结果通知用 户进程。
返回目录
7.1.4 设备管理的数据结构
. 设备控制块( DCB)
.
整个系统还有一张“系统设备表(SDT)”。系统初启时,每个标准 的以及用户提供的外部设备,在该表中都有一个表项。在I/O处理过程 中,系统从SDT得到设备的设备控制块DCB,然后从DCB得到有关该 设备的信息。