{设备管理}6设备管理

上传人:冯** 文档编号:140116676 上传时间:2020-07-27 格式:PPTX 页数:44 大小:217.34KB
返回 下载 相关 举报
{设备管理}6设备管理_第1页
第1页 / 共44页
{设备管理}6设备管理_第2页
第2页 / 共44页
{设备管理}6设备管理_第3页
第3页 / 共44页
{设备管理}6设备管理_第4页
第4页 / 共44页
{设备管理}6设备管理_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《{设备管理}6设备管理》由会员分享,可在线阅读,更多相关《{设备管理}6设备管理(44页珍藏版)》请在金锄头文库上搜索。

1、1,第6章 设备管理,主要内容: I/O硬件概念,设备控制器,I/O控制方式,缓冲技术,设备的使用方法,I/O层次结构,磁盘管理。 重点: I/O控制方式,缓冲区的种类,设备分配。 难点: 磁盘调度策略。,2,6.1 I/O硬件概念,6.1.1 常见I/O设备的分类,人-机交互设备(字节设备,发送接收以字节方式); 存储类型设备(块设备,读写以数据块方式); 网络通信的设备(网络接口,调制解调器)。,I/O设备的特点: 数据传输速率不同; 数据传输单位不同; 控制的复杂性不同; 设备的使用目的不同。,3,6.1.2 设备控制器(I/O部件),I/O设备通常包含一个机械部件和一个电子部件。电子部

2、件被称做I/O部件或设备控制器(当控制多设备时:又叫总线控制器,通道控制器)。 操作系统一般只与控制器打交道,而非设备本身。 早期CPU是直接控制外部设备的,在引入I/O部件之后,才将CPU逐渐从与外设的交互细节中解放出来。,4,PCI总线 控制器,处理机 (CPU),主存,显卡,SCSI 控制器,外设 控制器,控制器,控制器,连接CPU、主存、设备控制器和I/O设备模型,磁带,磁盘,外设,SCSI总线,主板总线,设备控制器的功能: 1、接收和识别来自CPU的各种命令; 2、实现CPU与设备控制器、设备控制器与设备之间的数据交换; 3、记录设备的状态供CPU查询; 4、识别控制器的每个设备的地

3、址;,5,控制器的任务是在外部设备与CPU(内存)之间完成比特流(外部信号)和字节流(块)之间的转换。,6,每个控制器都有一些用来与CPU通信的I/O寄存器。操作系统通过向这些寄存器写命令字来执行I/O功能。,IBM PC的I/O地址,内存,0,k,n,控制器寄存器,7,6.1.3 I/O控制方式,(1)程序直接控制方式,CPU直接控制I/O操作的全过程,包括测试设备状态、发送读写命令、传输数据。,处理机指令集应包括指令下述指令: 控制类 测试类 读写类I/O。 示例: 从外存读数据块到内存(见下一页),8,向I/O部件发读命令,读I/O部件状态寄存器,从I/O部件读字数据,将该字写入内存,未

4、OK,OK,出错,OK,下一 指令,未OK,检查状态,该块读完?,9,向I/O部件发读命令,读I/O部件状态寄存器,检查状态,从I/O部件读字数据,将该字写入内存,OK,出错处理,该块读完,OK,下一 指令,未OK,中断,(2)中断控制方式,优点: CPU不必反复测试,节约了时间。 缺点:仍然消耗大量的CPU时间,10,(3)DMA方式,DMA方式的思想:DMA(直接内存存取)负责完成整个I/O操作,无需再经CPU寄存器转发,并在全部传输结束后向CPU发中断信号。,给DMA的命令中应包括: 操作类别 I/O设备的地址 读写数据在内存中的首地址 字数。,向DMA部件发读命令,读取DMA部件状态,

5、中断,下一条指令,注意:DMA的功能可以以独立的DMA部件在系统I/O总线上完成,也可整合到I/O部件中完成。 缺点:DMA部件需与CPU竞争控制总线。,11,CPU直接控制外部设备,引入I/O部件,CPU直接控制I/O部件,引入中断驱动方式,引入DMA,I/O通道或I/O处理机,输入/输出控制方式的发展过程,12,6.2 设备输入/输出子系统,6.2.1 设备的使用方法 一、设备相关系统调用 1.申请设备。有参数说明要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(独占还是分时共享)及设备的占用情况来分配设备,返回申请是否成功标志。 2.将数据写入设备。 3.从设备读取数据。 4.

6、释放设备。这是申请设备的逆操作。,说明: 主要用于对人-机交互类慢速外设的使用。 对于存储类外设,用户程序一般通过文件的访问。,13,在UNIX中,可以用如下的系统调用将数据直接写入软盘中: fd=open(“/dev/fd0”,ORDRW);申请软盘,/dev/fd0代表软盘。 lseek(fd,1004,0);将软盘当前I/O位置定位到1024字节位置。 Write(fd,buffer,36);将用户缓冲区buffer中的36个字节写入软盘10241059字节。 close(fd) ;释放软盘。,14,二、独占式使用设备 如打印机,15,三、分时式共享使用设备 独占式使用设备时,设备利用率

7、很低。 分时式共享:以一次I/O为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O。 注:针对一个逻辑上完整的数据的I/O操作。 如:终端设备,磁盘设备。,16,请求,请求,设备,图6.6 排队使用设备,17,产生的条件:I/O中断;通道;磁盘。 SPOOLing(并发的外部设备联机操作)的基本思想:用磁盘设备作为主机的直接输入/输出设备,即主机从磁盘选取作业并运行,结果也存在磁盘中。相应的通道则负责磁盘与慢速外设的传输。利用通道和中断机制,作业的输入/输出与作业在处理机上的运行可很好地并行起来。,四、以SPOOLing方式使用外设,18,通道,主机,通道,通道,卡

8、片机,打印机,SPOOLing系统图示,磁盘,19,例如:所有输出数据已经写到文件当中,并排到打印输出队列,打印进程申请占用打印机后,成批读出文件中数据,并送打印机打印出去。,20,6.2.2 I/O层次结构,通常,操作系统将设备管理系统划分并组织成三个层次: 用户层I/O; 设备无关的I/O; 设备驱动及中断处理;,21,用户进程,用户层I/O,设备无关的I/O,设备驱动及中断处理,硬件,设备管理子系统,逻辑结构图,22,一、用户层I/O,与设备的控制细节无关。 将所有的设备看做逻辑资源,为用户进程提供各类I/O函数。用户以设备标识符和一些简单的函数来使用设备,如打开、关闭、读、写等。 如C

9、库中的函数fopen( ),fread( ), fwrite( ),fclose( )等。,23,二、设备无关的I/O,基本功能:执行适用于所有设备的公共I/O功能,并向其上层提供统一的系统调用接口。 任务包括: 1.设备名及与设备驱动程序的映射。在UNIX中,如/dev/tty00惟一地确定了一个i-node数据结构,其中包含了主设备号,通过主设备号可以找到相应的设备驱动程序。 2.设备保护:许可权限保护。 3.缓冲I/O:块设备、字符设备。 4. 错误报告:报告驱动程序产生的错误信息。 5.分配及释放独占型设备:申请、关闭。,24,三、设备驱动与中断处理,1.设备驱动程序 包括了所有与设备

10、相关的代码,其功能是从与设备无关的软件中接收I/O的请求,排入请求队列或执行之;执行时,将请求转化为更具体的形式。 2.中断处理 当进程进行I/O操作时,将其阻塞至I/O操作结束并发生中断。中断发生时,由中断处理程序启动请求排队的下一请求并解除等I/O进程的阻塞状态,使其能够继续执行。,25,6.2.3 设备驱动程序,一设备驱动程序接口函数 驱动程序初始化函数:做一些针对驱动程序本身的初始化工作,如向操作系统登记该驱动程序的接口函数,该初始化函数在系统启动时或驱动程序安装入内核时执行。 驱动程序卸载函数:在支持驱动程序可动态加载卸载的系统中才需要。 申请设备函数:申请一个驱动程序所管理的设备,

11、按照设备特性进行独占式占用或者分时共享式占用。 释放设备函数 IO操作函数:实现对设备的IO。对独占型设备:包含了启动IO的指令;分时共享型设备:将IO请求形成一个请求包,将其排到设备请求队列。 中断处理函数:在设备IO完成时向CPU发中断,然后被调用。该函数对IO完成做善后处理。,26,二、设备管理有关的数据结构 描述设备、控制器等部件的表格:系统中常常为每一个部件、每一台设备分别设置一张表格,常称为设备表或部件控制块。这类表格具体描述设备的类型、标识符、进行状态,以及当前使用者的进程标识符等。 建立同类资源的队列:通常在设备表的基础上通过指针将相同物理属性的设备连成队列(称设备队列)。 面

12、向进程I/O请求的动态数据结构:每当进程发出块I/O请求时,系统建立一张表格(称I/O请求包)。将此次I/O请求的参数填入表中,同时也将该I/O有关的系统缓冲区地址等信息填入表中。I/O请求包随着I/O的完成而被删除。 建立I/O队列:如请求包队列 。,27,设备管理有关数据结构关系,28,引入原因: (1)可以改善进程运行速度与I/O传输速度之间的速差矛盾。 (2)减少中断CPU的次数。 (3)提高CPU和I/O设备之间的并行性。,6.2.4 缓冲技术,29,30,缓冲区结合预先读和延迟写技术对具有重复性及阵发性I/O进程、提高I/O速度很有帮助。,31,6.3 存储设备 6.3.1 常见存

13、储外设,磁盘 数据组织 一个磁盘有多个盘面组成,盘面有同心圆磁道组成,磁道有扇区组成,扇区为基本传输单位。 物理特性 单磁头,多磁头。,32,多磁头活动头盘示意图,33,光学存储设备 CD-ROM; CD-R,CD-RW。,34,6.3.2 磁盘调度,磁盘地址:台号+柱面号+盘面号+扇区号,读写一次磁盘信息所需的时间可分解为:寻找时间(寻道时间)、延迟时间、传输时间。,为提高磁盘传输效率,软件应着重考虑减少寻找时间和延迟时间。,35,一、减少寻找时间(寻道时间)的方法,减少寻找时间是提高磁盘传输效率的关键。因为“寻找时间”在几十毫秒时间量级。,操作系统磁盘驱动程序可以通过对磁盘的访问请求顺序合

14、理调度多道进程,达到减少磁盘平均服务时间的目的。,36,磁盘调度策略,1 、先来先服务FCFS (First Come First Server) :这是最简单的磁盘调度策略,它根据进程请求访问磁盘的时间顺序进行调度。 2 、最短寻道时间优先SSFT (Shortest Seek Time First) :它是根据磁头当前的位置,选择请求队列中距离磁头最短的请求响应。 3 、SCAN :也称电梯策略,要求磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到它到达这个方向的最后一个磁道,或这个方向没有别的请求为止,然后倒转服务方向,同样按顺序完成的有请求。 4 、CSCAN :是循环扫描

15、法,当到达最后一个磁道时,磁头臂返回到磁头的另一端,并再次开始扫描。,37,其他调度策略,为避免磁头臂的粘性,磁盘请求队列被分成段,一次只有一个段被完全处理,1、N-Step-SCAN :它是把磁盘请求分成长度为N的子队列,每次用SCAN处理一个子队列。当N比较大时性能与SCAN相近,当N1时退化为FCFS,2、 FSCAN :使用两个子队列,当扫描开始时,所有请求都在一个队列中,而另一个队列为空。在扫描过程中,所有新到的请求都被放入另一个队列。因此,对新请求的服务延迟到处理完所有老请求以后。,38,假设磁盘有200个磁道,磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58

16、、39、18、90、160、150、38、184,当前磁头在100磁道处 FCFS策略磁头臂的移动轨迹如下:,18,38,39,55,58,90,150,160,184,100,39,假设磁盘有200个磁道,磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58、39、18、90、160、150、38、184,当前磁头在100磁道处 SSTF策略磁头臂的移动轨迹如下:,18,38,39,55,58,90,150,160,184,100,40,假设磁盘有200个磁道,磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58、39、18、90、160、150、38、184,当前磁头在100磁道处 SCAN策略磁头臂的移动轨迹如下:,18,38,39,55,58,90,150,160,184,100,200,41,假设磁盘有200个磁道,磁盘请求队列中是一些随机请求。被请求的磁道按接收顺序分别为:55、58、39、18、90、160、150、38、184,当前磁头在100磁道处 C-S

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

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

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