设备管理_计算机设备管理--操作系统

上传人:F****n 文档编号:91971732 上传时间:2019-07-05 格式:PPT 页数:80 大小:652.50KB
返回 下载 相关 举报
设备管理_计算机设备管理--操作系统_第1页
第1页 / 共80页
设备管理_计算机设备管理--操作系统_第2页
第2页 / 共80页
设备管理_计算机设备管理--操作系统_第3页
第3页 / 共80页
设备管理_计算机设备管理--操作系统_第4页
第4页 / 共80页
设备管理_计算机设备管理--操作系统_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《设备管理_计算机设备管理--操作系统》由会员分享,可在线阅读,更多相关《设备管理_计算机设备管理--操作系统(80页珍藏版)》请在金锄头文库上搜索。

1、第5章 设备管理,操作系统中负责I/O设备管理的部分称为I/O系统,完成设备管理功能,对OS影响非常大。与处理机管理、存储器管理密切相关,设备管理因此常常作为操作系统内核的一部分。,设备管理的主要对象:I/O设备,设备控制器和I/O通道。 设备管理的基本任务:完成用户提出的I/O请求,提高I/O效率,提高I/O设备的利用率。 设备管理的主要功能:缓冲区管理,设备分配,设备处理,虚拟设备,实现设备独立性。 I/O设备种类多操作差异大,设备管理是操作系统中最繁杂且与硬件最紧密相关的部分。,5.1 I/O系统概述,I/O系统的组成主要包括:I/O设备、设备控制器及相关接口、总线等,大型主机还包括I/

2、O通道。,5.1.1 I/O设备,1、I/O设备的类型 (1) 按传输速率分类 低速:键盘、鼠标、语音输入输出设备。 中速:行式打印机、激光打印机。 高速:磁盘、磁带、光盘。,(2) 按信息交换单位分类(信息组织方式): 块设备:信息的存取以数据块为单位,如磁盘(适合DMA方式) 字符设备:信息的存取以字符为单位,如打印机、交互式终端。 (3) 按设备共享属性分类: 独占:如打印机 共享:如磁盘 虚拟:通过虚拟技术将一占设备变换为若干台逻辑设备,供多个进程同时使用。,2、设备与控制器之间的接口 设备不直接同计算机连接,一般是通过专用的电缆线连接控制器与设备。 两者传递的信号主要是三类: (1)

3、 数据信号:控制器到设备(输出)、设备到控制器(输入) (2) 控制信号:控制器到设备 (3) 状态信号:设备到控制器 在小型机和微型机中,控制器一般直接做成印刷电路板插入计算机(在微机中习惯称为卡,如图形加速卡,网卡),5.1.2 I/O管理目标,设备管理要达到的主要目标是: 1. 提供统一界面、方便用户使用 使用逻辑操作和逻辑设备名掩盖设备的物理细节。 程序对设备的独立性:在源程序和目标程序中都使用设备符号名(逻辑设备名);提供设备管理与文件系统的统一接口;向程序提供设备重定向功能。,2. 发挥系统的并行性,提高I/O设备使用效率。 采用各种软硬结合的技术使设备、CPU、用户程序、人这四者

4、达到最高程度的并行 采用的技术有:中断技术、缓冲技术、设备共享和假脱机技术。 3. 实现设备的正确、安全使用设备保护 技术:掩盖细节的高级接口;命名与权限管理;只有特权指令才能使用设备硬件接口。,5.1.3 I/O管理功能,1. 缓冲区管理 计 算 机 系 统 中 各 个 部 件 速 度 的 差 异 很大。 中 央 处 理 机 的 速 度 以 纳 秒 计, 外 部 设 备 的 处 理 速 度 则 以 毫 秒 甚 至 秒 计。 在 不 同 时 刻, 系 统 各 部 分 的 负 荷 也 常 常 很 不 均 衡。为充分发挥并行性,引入缓冲技术。,2. 外围设备的分配 按 照 设 备 的 类 型 (

5、独 享、 共 享 或 虚 拟 ) 和 系 统 中 所 采 用 的 分 配 算 法, 决 定 把 一 个 I/O 设 备 分 配 给 哪 一 个 要 求 该 类 设 备 的 进 程。 在 大、 中 系 统 中, 分 配 设 备 的 同 时, 还 应 分 配 相 应 的 控 制 器 和 通 道, 以 保 证 I/O 设 备 与 CPU 之 间 有 传 递 信 息 的 通 路; 凡 未 分 配 到 所 需 设 备 或 控 制 器 或 通 道 的 进 程, 应 放入 相 应 的 等 待 队 列。 设 备 分 配 程 序 就 是 用 来 实 现 这 一 功 能 的。,3. 设备处理 设备处理程序又叫设备

6、驱动程序。 4. 虚拟设备及实现设备独立性,5.1.4 I/O应用接口,I/O系统必须采用某种技术使I/O设备可以按统一的标准方式对待。 采用的方式有:抽象、包装与软件分层 可以从不同的I/O设备中抽象出一些通用类型。每个通用类型都可以通过一组标准函数(即接口)来访问。具体的差别被内核模块(设备驱动程序)所封装。 不同设备有自己的驱动程序,但提供了一组标准接口。,设备驱动程序层为内核I/O子系统隐藏设备控制器之间的差异,从而简化了OS开发人员的任务,也有利于硬件制造商。 每种OS都有自己的设备驱动程序接口。故一个特定设备可能有多种设备驱动程序。 而I/O系统调用又为上层应用程序包装了硬件细节。

7、,5.1.5 设备管理的总体结构,划分为四层: 设备中断处理程序; 中断处理程序是设备驱动程序中的一部分 设备驱动程序; 与设备无关的操作系统软件(设备无关层) 负责将逻辑设备名转换为物理设备名,实现设备的分配和回收,进行缓冲区管理。 用户级软件(指用户空间的I/O软件) 用户与设备管理模块的接口,负责解释用户的应用请求,并将这种请求转化为具体的输入/输出操作。,相关层(较低的层)用于将硬件特征与无关层(较高的层)隔离开,而无关层(较高的层)则参与向用户提供一个友好、清晰而规范的接口。 从功能上看,无关层是I/O管理的主要部分,从代码量看,驱动层是I/O管理的主要部分。,内核I/O结构,Lif

8、e Cycle of An I/O Request,5.1.6 I/O控制方式,询问方式,又称程序直接控制方式。 中断方式 DMA方式 通道技术,5.2 内核I/O子系统,内核I/O子系统是建立在硬件和设备驱动程序之上的。提供与I/O有关的服务,如调度、缓冲、高速缓冲、假脱机、错误处理等。,5.2.1 I/O调度,I/O调度是指OS根据一定算法按照一定的顺序为系统中的I/O请求提供服务。从而改善系统性能,使进程公平地共享设备。 OS通过为每个设备维护一个请求队列来实现调度。 I/O调度根据需要重新安排队列顺序以改善系统总体效率和应用程序的平均响应时间。,5.2.2 缓冲管理,缓冲区是用来保存在

9、两个设备之间或在设备和应用程序之间所传输数据的内存区域。 1.引入缓冲区的原因 (1)处理数据的生产者和消费者速度不匹配。如从调制解调器上收到文件并保存到硬盘上。 (2)协调传输数据大小不一致的设备。 如计算机网络上,发送方消息被分成若干包,接收方在缓冲区中重组数据。 (3)减少对CPU的中断频率 (4)提高CPU和I/O设备之间的并行性,2. 单缓冲(single buffer): 当用户进程发出I/O请求时,OS便在主存中为之分配一个缓冲区。 一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。,3. 双缓冲(double buffer): 为了加快输入和输出速度,引入双缓冲

10、区。 设备输入时,先将数据送入第一缓冲区,装满后再转向第二缓冲区。 此时OS可以从第一缓冲区移出数据,送入用户进程所在内存。 两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。,4. 循环缓冲 环形缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。可参见“生产者消费者问题”, 以上的缓冲区仅适用于特定的I/O进程和计算进程,属于专用缓冲区。系统较大时,会有多个专用缓冲区,消耗大量内存空间,利用率低,目前广泛使用公用缓冲池,池中设置了多个供若干进程共享的缓冲区。,5. 缓冲池 (1) 缓冲池的组成 既可用于输入,又可用于输出,

11、缓冲池中有三类缓冲区: 空闲缓冲区队列emq 输入缓冲区队列inq:由装满输入数据的缓冲区链成的队列。 输出缓冲区队列outq:由装满输出数据的缓冲区链成的队列。,(2) 对缓冲池的操作: 收容输入设备输入数据 提取输入计算进程读入数据 收容输出计算进程输出数据 提取输出向设备输出数据。 上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。,5.2.3 设备分配与回收,当进程向系统提出I/O请求时,只要是可能和安全的,设备分配程序便按照一定的策略把设备分配给请求进程。 有的系统中还要分配相应的控制器和通道。,1 设备分配中的数据结构,(1) 设备控制表(DCT, Device Control

12、 Table) 每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括: 设备标识:用来区别不同的设备; 设备类型:反映设备的特性;如:块设备或字符设备; 设备配置:I/O地址等;,设备状态:忙/闲,等待/不等待;(若与设备链接的控制器或通道忙,则等待) 等待队列:等待使用该设备的进程队列; 与设备连接的控制器表指针。,(2) 系统设备表(SDT, System Device Table) 系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成: DCT指针:指向相应设备的DCT; 设备使用进程标识:正在使用该

13、设备的进程标识; DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;,(3)控制器控制表(COCT, COntroller Control Table) 每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。 (4)通道控制表(CHCT, CHannel Control Table) 每个通道一张,描述通道工作状态。,2 设备分配时应考虑的因素,设备分配的原则是合理使用外设(公平和避免死锁),提高设备使用率。 (1) 考虑设备的固有属性 独享设备:打印机等。进程使用完自己释放,一般不能剥夺; 共享设备:磁盘、网卡等。多个进程并发

14、使用,需合理调度; 虚拟设备:虚拟打印机等。可有多个进程使用,但FCFS。,(2) 设备分配算法 与进程调度类似,但简单一些; 先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备; 基于优先级:依据进程的优先级,指定I/O请求的优先级,优先级高的排在设备队列的队首;同优先级则FCFS;按优先级高低分配设备。,(3) 设备分配中的安全性 安全分配方式 进程发出I/O请求后阻塞,完成后唤醒,即进程运行时不占有任何设备资源,摈弃了“请求保持”条件。缺点:CPU与I/O设备是串行工作。 不安全分配方式 进程发出I/O请求后仍继续运行,又可发出I/O请求,仅当进程

15、所请求的设备已被另一进程占用时,进程才进入阻塞状态。优点:多个设备并行操作;缺点:可能造成死锁。,3 设备的独立性,(1) 设备独立性(Device independence)的概念 设备独立性指除了直接与设备打交道的底层软件之外,其它部分的软件并不依赖于硬件。可以提高软件的设计效率。 为了实现设备独立性:引入物理设备、逻辑设备 应用程序使用逻辑设备名调用设备;OS实际执行时,使用物理设备名。 OS负责将逻辑设备名转换为物理设备名。,(2) 设备独立性带来如下好处: 设备分配时的灵活性 进程请求设备时,OS可从一类设备中选择空闲的分配,不会因特定设备忙而阻塞。 实现I/O重定向 I/O重定向:

16、实现I/O操作的设备可以更换,而不必改变应用程序。 如,调试程序时先输出到屏幕,最后再打印,(3)逻辑设备名到物理设备名映射的实现 逻辑设备表(LUT) 当进程用逻辑设备名请求I/O设备时,系统为它分配相应的物理设备,并在LUT中建立一个表目。 LUT的设置可采用两种方式 整个系统一张,不能有相同逻辑设备名。 每个用户一张,放入PCB中,4. 基本的设备分配程序 (1) 分配设备 (2) 分配控制器 (3)分配通道,5.2.4 SPOOLing技术,利用假脱机技术(SPOOLing, Simultaneous Peripheral Operation On Line, 也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。,1、什么是SPOOLing 引入:在多道程序系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。,让主机直接控制I/O称为联机I/O;让另一台“外围机”代替主机控制I/O称为脱机I/O。

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

当前位置:首页 > 商业/管理/HR > 其它文档

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