操作系统设备管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

§7.2 数据传送控制方式
HD
打印机
CPU 内存
磁盘控制器
打印机控制器 …
微机的I/O设备通过总线与CPU连接
系统总线
设备控制器
§7.2 数据传送控制方式
设备控制器通过自己内部的寄存器与CPU通信 数据寄存器 数据传输的缓冲 状态寄存器 存放外设的状态,供CPU测试 控制寄存器 存放CPU发出的操作命令与参数 OS把命令以及参数写入控制寄存器,外设据此
§7.3 设备分配
预输入程序与缓输出程序 — 预输入进程 将用户要求的输入数据, 从输入设备输入缓冲区输入井, 当CPU需要输入数据时,直接从输入井读入 内存。
缓输出进程 将用户要求输出的数据,从内存 输出井 输出缓冲区(当输出设备空闲时)输出设备。
§7.3 设备分配
SPOOLing系统工作示意
§7.1 I/O设备
基于设备的从属关系: —系统设备(一般是标准设备)(OS生成时
就配置在系统中的标准设备,如:键盘、鼠标、 显示器、终端、打印机等) —用户设备(一般为非标准设备)(设备的 处理程序由用户提供,需另外安装,如:扫描 仪、A-D/D-A转换设备等)
§7.1 I/O设备
基于设备的分配特性: — 独享设备(使用具有排它性,低速I/O设备) — 共享设备(可由多个用户程序交替使用,如
§7.1 I/O设备
在多道程序环境中,设备管理把着眼点放在: 设备的有效使用 设备和CPU的并行工作 让用户方便使用设备
§7.1 I/O设备
一、计算机设备的分类
基于设备的工作特性: 外部存储设备(长期保存信息,可随时访问,
如磁盘、磁带) 输入/输出设备(字符设备,以单个字符为单位
存储、传输信息,如显示器、键盘、打印机等)
若有,取出现时队首的请 求表,继续上述操作
若无,即打印队列空,输出进程 阻塞自己
等再有打印请求才被唤醒
§7.3 设备分配
SPOOLing系统的特点 :
将独占设备改造为共享设备,实现了虚拟 设备功能。
宏观上看,多个进程能同时使用一台独 占设备,从每一个进程看,都认为自己独 占了一个设备(逻辑设备)。
输入设备
内存 预输入进程 缓输出进程
输入缓冲区
输出设备
输出缓冲区
磁盘
输入井 输出井
§7.3 设备分配
以共享打印机为例说明SPOOLing系统工作过程
系统对用户请求的处理 当用户请求打印输出时,SPOOLing系统中输出 进程做如下2件事: A)在输出井申请一空闲盘块区
将要打印的数据送入其中 B)为用户申请空白的用户请求打印表
§7.2 数据传送控制方式
CPU
通道 …
设备控制 器
设备控制 器
设备 设备 设备 设备
§7.2 数据传送控制方式
通道方式工作步骤:
1. 一进程提出I/O请求,CPU把数据传输任务 交给通道(指明操作方向、设备号、通道 号)
2. 该进程阻塞,CPU随即被调度给其它进程
3. 通道按CPU发来的启动命令,调用通道程 序执行(这时通道与CPU并行工作),外 设在通道程序的规定下,与内存交换数据
§7.1 I/O设备
二、设备管理的目标与功能
1. 设备管理目标: 提高系统资源利用率
多道程序环境下,资源数总是少于进程数。 需合理分配设备资源,并使外设与外设、外设与CPU并
行工作,使设备尽可能处于忙碌状态。
方便用户使用
对于各种各样的外设,为用户提供便利、统一的使用界面。 OS把各种外设的物理特性隐藏起来,把各种外设的具体 操作方式隐藏起来,由OS面对; 而让用户面对的是使用方便的设备,这样就可使用户摆脱 繁琐的编程负担。
第七章 I/O设备管理
§7.1 I/O设备 §7.2 数据传送控制方式
§7.3 设备分配 §7.4 缓冲管理 §7.5 I/O处理过程
§7.1 I/O设备
OS设备管理中的设备指外部设备,包括输入 设备与输出设备,即除主机(CPU+内存)之 外的所有设备。 I/O性能经常成为整个系统性能的瓶颈,CPU 性能并不等于系统性能,CPU性能越高,与I/O 差距越大。 OS庞大复杂的原因之一就是外设资源多而杂, 种类繁多,结构各异,I/O数据信号类型不同, 速度差异很大。
§7.3 设备分配
SPOOLing系统由3部分组成: 输入井与输出井 硬盘上2大存储空间 — 输入井:用于收容I/O设备的输入数据 — 输出井:用于收容用户程序的输出数据 输入缓冲区与输出缓冲区 内存中开辟的2个缓冲区 — 输入缓冲区:用于暂存由输入设备送来的 数据,以后再传送输入井
— 输出缓冲区:用于暂存由输出井送来的数 据,以后再传送输出设备
CPU
内存
I/O设备
§7.2 数据传送控制方式
DMA传输数据步骤: 1.一进程请求设备I/O,CPU做如下事:
内存起始地址→DMA控制器的地址寄存器 传输字节数 →DMA控制器的字节计数器 启动DMA控制器 2.该进程阻塞,等待I/O完成 3.DMA与内存进行数据传输,成批数据传送由字节计 数器计算控制 4.传输完,向CPU发中断完成信号 5.CPU接受DMA中断请求,转中断处理程序 6.数据传送完成,唤醒被阻塞进程
硬盘) — 虚拟设备 ( 模拟独占设备为共享设备,即将
慢速的独占设备经软件技术改造成为多个进程 可以共享的设备,典型如SPOOLing技术 )
§7.1 I/O设备
基于信息组织和处理的方式: — 字符设备(信息以字符为单位来组织和
分配的;系统中大部分均属此类,如打印机、 键盘、显示器等;特点是速度慢,也称慢速 设备) — 块设备(信息以块为单位来组织和分配 的;如磁盘、磁带等;特点是速度快,也称 快速设备)
§7.3 设备分配
一、设备属性和设备分配方法
1.独占设备:使用上具有排它性的设备,如打 印机。
分配策略:系统一旦将该类设备分配给指定 进程,就由它独占使用,直到用毕释放。
2.共享设备:如磁盘,这类设备可由多个进程 同时使用,每个进程只用其中一部分,在时 间上则是交叉对设备进行存取访问。
系统对共享设备不进行分配,而是对这一类 的I/O请求进行调度。
§7.2 数据传送控制方式
§7.2 数据传送控制方式
五、通道方式
通道介绍: 独立于CPU、专门用作管理I/O的处理机,控制
设备与内存直接进行数据交换 通道有自己的指令系统,数量不多,仅涉及读、
写、查询、控制等功能;用以编写通道程序 采用通道的系统中,主机与通道相连,通道与设
备控制器相连,设备控制器与设备相连
§7.2 数据传送控制方式
四、直接存储器存取方式
以上介绍的程序控制方式和中断方式,主机与 外设进行的数据传送都是以CPU为中心组织的。
内存
CPU
I/O设备
DMA(Direct Memory Access)
DMA方式在外设与内存之间开辟了直接交换数 据的通路,使用于磁盘等高速I/O设备。
在DMA控制器的控制下,内存和硬盘直接进行 成批数据的快速传送,不需要CPU的加入。形成 了以内存为中心组织的数据传送。
实现I/O 设备控制器接受命令后,就独立于CPU去完成
命令指定的任务。
§7.2 数据传送控制方式
外设接受了CPU的I/O命令,随后即独立于CPU 进行I/O操作,这时外设与CPU并行,即在外设I/O 的同时,CPU在运行其它进程。
外设完成所要求的I/O任务后,要通知CPU。 早期采用“被动式”,控制器设置一个完成标志,
将用户的打印请求填入表中 把该表挂到请求打印队列上。 如还有其它进程提出打印请求,系统一概接受请 求,同样做上述2件事。
§7.3 设备分配
系统对具体输出的处理
如打印机空闲,输出进程做以下操作:
从请求打印队列的队首取出请求打印表
将打印数据从输出井送内存输出缓冲区
打印机执行打印操作
打印完即检查打印队列是否还有请求表
其它功能:管理缓冲区,CPU与I/O设备通过缓冲区传送
数据,以解决高速CPU与慢速外设之间矛盾。OS有专门软 件管理缓冲区的分配与回收。
§7.2 数据传送控制方式
计算机系统的输入/输出,实质是进行数据 的输入/输出,即数据的传输。 数据传输:I/O设备←→内存
I/O设备←→CPU 数据传输方式有四种: 程序直接控制方式 中断控制方式 DMA方式 通道控制方式
§7.2 数据传送控制方式
三、中断方式
向控制器发读命令
ቤተ መጻሕፍቲ ባይዱ
以读为例,
说明中断控
CPU→I/O
制I/O方式
CPU做其它事
读控制器状态
中断完成信号
I/O→CPU
检查状态
就绪
从控制器中读入字
出错 I/O→CPU
未完成
向内存中写字
传送完成?
CPU→内存 完成
下条指令
§7.2 数据传送控制方式
中断方式说明: 1.某一进程处于执行状态,通过CPU向外设控制器发出I/O指令;
§7.3 设备分配
3.虚拟设备:在大容量磁盘的支持下,用软 件技术对独占设备进行改造,使得用户在 使用独占设备时,感觉上认为不用同其它 进程竞争,便可方便地获得独占设备。 Spooling技术就是一个典型的实现虚拟设 备的系统。
§7.3 设备分配
二、Spooling技术
基本思想:
一些低速字符设备都是独享设备,其使用 具有排它性,不利于多道程序并行工作, 影响系统效率。 OS以大容量的共享设备—磁盘为依托, 用软件技术来改造独享设备,使用户在感 觉上认为他们使用的是共享设备。
§7.2 数据传送控制方式
一、设备控制器
I/O设备一般由机械部分与电子部分构成, 把这两部分分开处理,通过接插件、电缆相连。
机械部分即设备本身 电子部分即设备控制器(适配器、接口卡) 每种I/O设备都要通过设备控制器与CPU相
连。 设备控制器是CPU与I/O设备间的接口,处
于CPU与外设之间。
提高了I/O速度。
从请求打印的进程角度看,其输出数据 实质上是送到输出井,极其快速。
§7.3 设备分配
三、设备分配方法
设备分配2种方式: 静态分配方式 在用户进程创建时,OS便一次
性地把进程运行所要求的全部设备都分配给它, 并由该进程占有,直到进程撤消。
不会死锁,但设备利用率极其低下。
动态分配方式 在进程执行过程中,随时根据需 要,向系统提出设备请求,由系统依据一定算法 给进程分配设备,用户进程用完设备,即予释放。
等待CPU来查询,即程序直接控制方式。 现在采用“主动式”,即通过中断方式主动通知
CPU,让CPU来进行处理,即中断控制方式。 直接存储器存取方式(DMA)和通道控制方式也
是基于中断的主动型的数据传输控制方式。
§7.2 数据传送控制方式
二、程序直接控制方式 以读为例, 说明程序直 接控制I/O 向控制器发读命令 CPU→I/O 方式
该进程随即阻塞,等待I/O完成; OS立即将CPU调度给其它进程使用; 而外设控制器得到指令后,就独立于CPU进行指令规定的操 作; 如此,CPU与I/O并行工作。 2.当外设I/O操作完成,设备控制器立即向CPU发中断完成信号; CPU接到信号响应该中断,立即转中断处理程序; 由中断处理程序把数据从设备控制器传送到内存。 3.被阻塞进程在I/O完成后,状态即转变为就绪,等待OS调度, 以执行余下的程序。
§7.1 I/O设备
2. 设备管理的功能:
提供用户接口:提供一组I/O命令,即用户使用外设的接
口,用户在程序中通过这些命令使用外设。
进行设备的分配与回收:OS中I/O管理程序负责接受用
户使用外设的请求、分配设备、回收设备。
实现真正的I/O操作:OS依据用户的请求,通过具体的
设备驱动程序,启动外设,进行实际的I/O操作;操作完毕 就通知用户进程,由设备中断服务程序完成善后工作。
4. 数据传输完毕,通道向CPU发中断请求
5. CPU响应中断,转中断处理程序,对I/O作 善后处理,唤醒被阻塞的进程成就绪态。
§7.3 设备分配
在OS的统一管理下,用户进程使用设备, 须先提出I/O请求,由OS的设备管理程序进 行分配。 设备分配与下列因素有关: 设备属性 系统采用的分配算法 与设备无关性原则 设备分配的安全性
未就绪
读控制器状态
I/O→CPU
检查状态
就绪
从控制器中读入字
出错 I/O→CPU
未完成
向存储器中写字 CPU→内存
完成
传送完成?
下条指令
§7.2 数据传送控制方式
评价: 在程序I/O方式中,由于CPU的高速与I/O设备的 低速,使得CPU绝大部分时间,都处于等待外设 完成数据I/O的循环测试之中,造成CPU的极大浪 费。 此外,CPU与I/O设备只能串行工作,整个计算 机系统效率低下。
相关文档
最新文档