当前位置:文档之家› 第六章 设备管理

第六章 设备管理


3、可虚拟设备
可虚拟设备是指一台物理设备采用虚拟
技术后,可变成多台逻辑上的所谓虚拟 设备。 一台可虚拟设备是可共享的设备,可以 将它同时分配给多个进程使用,并对这 些访问该设备的先后次序进行控制。
SPOOLing技术 SPOOLing 技术是在批处理操作系统时代 引入的,即所谓假脱机输入输出技术。把这 种技术用于对设备的使用实质就是对输入/ 输出数据成批处理。
2) 按信息交换的单位分类
块设备(Block Device),这类设备用于存储信息。
由于信息的存取总是以数据块为单位, 故而得名。 典型的块设备是磁盘,每个盘块的大小为512 B~4 KB。 磁盘设备的基本特征是: 1)传输速率较高,通常每秒钟为几兆位; 2) 可寻址,即对它可随机地读/写任一块; 字符设备(Character Device),用于数据的输入和 输出。 其基本单位是字符, 故称为字符设备。 如交互式终端、打印机等。传输速率低。字符设 备在I/O时,常采用中断驱动方式。
一、程序直接控制方式
CPU直接控制I/O操作的全过程,包括发送 读写命令、传输数据、测试设备状态。 设备控制器接收到相应的命令后,将I/O 状态寄存器的相应位置上。随着操作的执 行更改状态位,由CPU执行相应指令读取 I/O完成状态。 在该方式中,CPU还负责从主存中取出需 要输出的数据,送到设备控制器寄存器; 或从设备控制器寄存器取出输入数据,将 输入数据存入主存。
连接CPU、内存、设备控制器和I/O设备模型
处理机 内存 显卡
PCI 总 线 控 制器 外设控制 器 外 设 IDE 总 线 控 制器 控 制 器 控 制 器 磁 盘
光 盘
每个控制器都有一些用来与CPU通讯的I/O 寄存器。操作系统通过向这些寄存器写命令 字来实现I/O功能。
键盘 硬盘 060 - 063 320 – 32F
CPU向设备控 制器发读命 令
读设备控制器 状态寄存器
检查状态 未OK OK 从设备控制器 读字数据到 CPU寄存器中
出错
未OK 该块读完? OK
将该字写 入内存
下一 指令
缺点:
在这种方式中CPU的大量时间用在了等
待输入输出的循环测试上,使主机不能 充分发挥效率,外设也不能得到合理使 用,整个系统效率很低。
Spooling技术可以实现设备的(
)分
配。 A.独占
B.虚拟
C.物理
6.3.3.
缓冲技术
虽然中断、DMA和通道控制技术使得系统中设备和 设备、设备和CPU等得以并行工作,但是外围设备 和CPU的处理速度不匹配的问题是客观存在的。外 围设备和CPU处理速度不匹配的问题极大地制约了 计算机系统性能的进一步提高和限制了系统的应 用范围。
对于有些设备必须进行独占式使用,如打印机,通常往打 印机输出的数据不是独立的字符行,而是一批关联的字符 行。当输出这批关联字符行时,必须独占打印机设备,才 能使关联的字符行打印出来。如果在进程执行中一边生成 输出结果一边调用写打印机系统调用输出,则打印机在独 占期间因为等输出结果而未被充分利用。因此必须避免边 生成边打印,可以将输出数据边生成边写入文件中,文件 相当于虚拟打印设备,待全部输入完成,在独占打印机把 文件内容从打印机上打印出来。
第六章 设备管理
管理和控制所有的外部设备(I/O设备), 是操作系统的主要功能之一。 本章介绍: 外部设备分类及控制方式 设备使用方法、I/O子系统的层次结构及缓 冲技术 辅存及磁盘请求调度技术
6.1 I/O 系 统
1、 I/O设备的类型
1) 按传输速率分类
低速设备:这是指其传输速率仅为每秒钟几个
核 心 态 运 行
设备无关 的I/O 设备驱动及 中断处理 硬件
设 备 管 理 子 系 统
逻辑结构图
一、用户层I/O
实现与用户交互的接口,用户可直接调 用在用户层提供的、与I/O操作有关的库函 数,对设备进行操作。 它将所有的设备看作逻辑资源,为用户进 程提供各类I/O函数。用户以设备标识符和 一些简单的函数来使用设备,如打开、关闭、 读、写等。 如C库中的函数open(); read(); write(); close()等。
共享设备:它是指在一段时间内允许多个进程同时访 问的设备,当然,对于每一时刻而言,该类设备仍然 只允许一个进程访问。 虚拟设备:它是指通过虚拟技术将一台独占设备变换 为若干台逻辑设备,供若干个用户(进程)同时使用, 通常把这种经过虚拟技术处理后的设备,称为虚拟设 备。
2.设备控制器(I/O部件) 设备控制器是计算机中的一个实体,其 主要职责是控制一个或多个I/O设备,以实 现I/O设备与和计算机之间的数据交换。它 是CPU与I/O设备的接口,它接收从CPU发来 的命令,并去控制I/O设备工作。 操作系统一般只与控制器打交道,而非 设备本身。 早期CPU是直接控制外部设备的,在引入 设备控制器之后,I/O指令功能加强,才将 CPU逐渐从与外设的交互细节中解放出来。
二、设备无关的I/O(设备独立性软件)
设备独立性的概念 设备独立性,也称为设备无关性。 其基本含义是: 应用程序独立于具体使用 的物理设备。I/O系统中有许多不同种类的 设备,作为程序员,只需要知道如何使用这 些资源来完成所需的操作,而无需了解设备 的有关具体实现细节。
这一层的基本功能:向上层提供统一的 系统调用接口,对下通过设备驱动程序接口 调用设备驱动程序。主要任务: • 设备命名及与设备驱动程序的映射。在 UNIX中,如/dev/fd0唯一地确定了一个 inode数据结构,其中包含了主设备号,通 过主设备号可以找到相应的设备驱动程序。 • 统一命名:在系统中对各类设备采取预先 设计的、统一的逻辑名称进行命名,所有软 件都以逻辑名称访问设备。
打印机
软盘
378 – 37F
3F0 – 3F7
彩色显示器
3D0 – 3DF
IBM PC的I/O地址
6.2 I/O控制方式
所谓I/O操作的控制方式也就是外围设备
和内存之间的数据传送控制方式,经历 了程序直接控制方式,中断控制方式, DMA方式和通道方式四种。 它们之间的不同主要在与I/O交互过程中 CPU的干预程度。
字节至数百个字节的一类设备。典型设备有键 盘、 鼠标器、语音的输入和输出等设备。 中速设备:这是指其传输速率在每秒钟数千个 字节至数万个字节的一类设备。典型设备有: 行式打印机、激光打印机等。 高速设备: 这是指其传输速率在数百千个字节 至数十兆字节的一类设备。 典型的高速设备有 磁带机、 磁盘机、 光盘机等。
3) 按设备的共享属性分类
这种分类方式可将I/O设备分为如下三类: 独占设备:它是指在一段时间内只允许一个用户(进程) 访问的设备,即临界资源; 因而,对多个并发进程而言,应互斥地访问这类设备, 系统一旦把这类设备分配给某进程后,便由该进程独 占,直至用完释放,应当注意,独占设备的分配有可 能引起进程死锁。
在应用程序中, 使用逻辑设备名称来请
求使用某类设备;而系统在实际执行时 , 还必须使用物理设备名称。因此,系 统须具有将逻辑设备名称转换为某物理 设备名称的功能,这非常类似于存储器 管理中所介绍的逻辑地址和物理地址的 概念。
逻辑设备名
/dev/tty /dev/printer
物理设备名 驱动程序入口地址
3 5 1024 2046
…..
…..
…..
三、设备驱动程序
• 设备驱动程序 包括了所有与设备相关的代码,其功能 是从与设备无关的软件中接收I/O请求并执 行。与硬件直接相关,负责具体实现系统对 设备发出的操作命令,驱动I/O设备工作的 驱动程序。
四、中断处理程序
• 中断处理

用于保存被中断进程的CPU环境,转 入相应的中断处理程序进行处理,处理 完后恢复被中断进程的线程后返回被中 断进程。中断处理层的主要工作有:进 行进程上下文的切换,对处理中断信号 源进行测试,读取设备状态和修改进程 状态等。
6.3.2. 设备的使用方法
1、独占式使用设备 所谓独占式使用设备是指在一段时间内 只允许一个用户(进程)访问的设备。通 常以一次设备使用过程为单位使用设备。 在申请设备时,如果设备空闲,就将其 独占,不再允许其它进程申请使用,一直 等到该设备被释放,才允许被其它进程申 请使用。
2、分时共享式使用设备 独占式使用设备时,设备利用率很低。 分时共享式设备是指在一段时间内允许 多个进程同时访问的设备,当然,对于每一 时刻而言,该类设备仍然只允许一个进程访 问。
该块读完?
OK
下一 指令
缺点:
虽然中断的引入改善了中央处理机的利
用率,但I/O操作毕竟还是由CPU控制的, 此时每传输一个字或字符,往往就要做 一次中断处理,每个字的数据传输都必 须经过CPU寄存器转发。由此可见,当 I/O设备很多时,CPU可能完全陷入I/O 处理中。
三、DMA方式 前两种方式的缺陷: • I/O的传输速率受CPU测试或中断响应 的速度限制 • CPU为管理I/O耗费大量时间。 DMA(直接内存存取)负责完成整个I/O操 作,无需再经CPU寄存器转发,并在全部传 输结束后向CPU发中断信号。 CPU向DMA部件发送I/O命令后,即可进行 其他工作。当传送完成后,DMA部件向CPU发 中断信号。因此仅在数据块传送的开始和结 束涉及到CPU。
O通道控制方式
6.3 设备I/O子系统
6.3.1 I/O层次结构
通常,操作系统将设备管理系统划分并组 织成四个层次: • 用户层I/O • 设备无关的I/O(设备独立性软件) • 设备驱动程序 • 中断处理程序
用户层I/O
系统调用接口,设备无关的操作系统软件 设备驱动及中断处理 硬件
用户进程 用户层I/O
设备相关系统调用简介
申请设备。该系统调用中有参数说明了
要申请的设备名称,操作系统处理该系 统调用时,会按照设备特性(是独占还 是共享式使用)及设备的占用情况来分 配设备,返回申请是否成功标志。 将数据写入设备。 从设备读取数据。 释放设备。这是申请设备的逆操作。
相关主题