6设备管理PPT课件下载推荐.ppt
《6设备管理PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《6设备管理PPT课件下载推荐.ppt(44页珍藏版)》请在冰豆网上搜索。
操作系统一般只与控制器打交道,而非设备本身。
早期CPU是直接控制外部设备的,在引入I/O部件之后,才将CPU逐渐从与外设的交互细节中解放出来。
4,PCI总线控制器,处理机(CPU),主存,显卡,SCSI控制器,外设控制器,控制器,控制器,连接CPU、主存、设备控制器和I/O设备模型,磁带,磁盘,外设,SCSI总线,主板总线,设备控制器的功能:
1、接收和识别来自CPU的各种命令;
2、实现CPU与设备控制器、设备控制器与设备之间的数据交换;
3、记录设备的状态供CPU查询;
4、识别控制器的每个设备的地址;
5,控制器的任务是在外部设备与CPU(内存)之间完成比特流(外部信号)和字节流(块)之间的转换。
6,每个控制器都有一些用来与CPU通信的I/O寄存器。
操作系统通过向这些寄存器写命令字来执行I/O功能。
IBMPC的I/O地址,内存,0,k,n,控制器寄存器,7,6.1.3I/O控制方式,
(1)程序直接控制方式,CPU直接控制I/O操作的全过程,包括测试设备状态、发送读写命令、传输数据。
处理机指令集应包括下述指令:
控制类测试类读写类I/O。
示例:
从外存读数据块到内存(见下一页),8,向I/O部件发读命令,读I/O部件状态寄存器,从I/O部件读字数据,将该字写入内存,未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部件状态,中断,下一条指令,注意:
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.释放设备。
这是申请设备的逆操作。
说明:
主要用于对人-机交互类慢速外设的使用。
对于存储类外设,用户程序一般通过文件的访问。
13,在UNIX中,可以用如下的系统调用将数据直接写入软盘中:
fd=open(“/dev/fd0”,ORDRW);
申请软盘,/dev/fd0代表软盘。
lseek(fd,1024,0);
将软盘当前I/O位置定位到1024字节位置。
Write(fd,buffer,36);
将用户缓冲区buffer中的36个字节写入软盘10241059字节。
close(fd);
释放软盘。
14,二、独占式使用设备如打印机,15,三、分时式共享使用设备独占式使用设备时,设备利用率很低。
分时式共享:
以一次I/O为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O。
注:
针对一个逻辑上完整的数据的I/O操作。
如:
终端设备,磁盘设备。
16,请求,请求,设备,图6.6排队使用设备,17,产生的条件:
I/O中断;
通道;
磁盘。
SPOOLing(并发的外部设备联机操作)的基本思想:
用磁盘设备作为主机的直接输入/输出设备,即主机从磁盘选取作业并运行,结果也存在磁盘中。
相应的通道则负责磁盘与慢速外设的传输。
利用通道和中断机制,作业的输入/输出与作业在处理机上的运行可很好地并行起来。
四、以SPOOLing方式使用外设,18,通道,主机,通道,通道,卡片机,打印机,SPOOLing系统图示,磁盘,19,例如:
所有输出数据已经写到文件当中,并排到打印输出队列,打印进程申请占用打印机后,成批读出文件中数据,并送打印机打印出去。
20,6.2.2I/O层次结构,通常,操作系统将设备管理系统划分并组织成三个层次:
用户层I/O;
设备无关的I/O;
设备驱动及中断处理;
21,用户进程,用户层I/O,设备无关的I/O,设备驱动及中断处理,硬件,设备管理子系统,逻辑结构图,22,一、用户层I/O,与设备的控制细节无关。
将所有的设备看做逻辑资源,为用户进程提供各类I/O函数。
用户以设备标识符和一些简单的函数来使用设备,如打开、关闭、读、写等。
如C库中的函数fopen(),fread(),fwrite(),fclose()等。
23,二、设备无关的I/O,基本功能:
执行适用于所有设备的公共I/O功能,并向其上层提供统一的系统调用接口。
任务包括:
1.设备名及与设备驱动程序的映射。
在UNIX中,如/dev/tty00惟一地确定了一个i-node数据结构,其中包含了主设备号,通过主设备号可以找到相应的设备驱动程序。
2.设备保护:
许可权限保护。
3.缓冲I/O:
块设备、字符设备。
4.错误报告:
报告驱动程序产生的错误信息。
5.分配及释放独占型设备:
申请、关闭。
24,三、设备驱动与中断处理,1.设备驱动程序包括了所有与设备相关的代码,其功能是从与设备无关的软件中接收I/O的请求,排入请求队列或执行之;
执行时,将请求转化为更具体的形式。
2.中断处理当进程进行I/O操作时,将其阻塞至I/O操作结束并发生中断。
中断发生时,由中断处理程序启动请求排队的下一请求并解除等I/O进程的阻塞状态,使其能够继续执行。
25,6.2.3设备驱动程序,一设备驱动程序接口函数驱动程序初始化函数:
做一些针对驱动程序本身的初始化工作,如向操作系统登记该驱动程序的接口函数,该初始化函数在系统启动时或驱动程序安装入内核时执行。
驱动程序卸载函数:
在支持驱动程序可动态加载卸载的系统中才需要。
申请设备函数:
申请一个驱动程序所管理的设备,按照设备特性进行独占式占用或者分时共享式占用。
释放设备函数IO操作函数:
实现对设备的IO。
对独占型设备:
包含了启动IO的指令;
分时共享型设备:
将IO请求形成一个请求包,将其排到设备请求队列。
中断处理函数:
在设备IO完成时向CPU发中断,然后被调用。
该函数对IO完成做善后处理。
26,二、设备管理有关的数据结构描述设备、控制器等部件的表格:
系统中常常为每一个部件、每一台设备分别设置一张表格,常称为设备表或部件控制块。
这类表格具体描述设备的类型、标识符、进行状态,以及当前使用者的进程标识符等。
建立同类资源的队列:
通常在设备表的基础上通过指针将相同物理属性的设备连成队列(称设备队列)。
面向进程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常见存储外设,磁盘数据组织一个磁盘由多个盘面组成,盘面有同心圆磁道组成,磁道有扇区组成,扇区为基本传输单位。
物理特性单磁头,多磁头。
32,多磁头活动头盘示意图,33,光学存储设备CD-ROM;
CD-R,CD-RW。
34,6.3.2磁盘调度,磁盘地址:
台号+柱面号+盘面号+扇区号,读写一次磁盘信息所需的时间可分解为:
寻找时间(寻道时间)、延迟时间、传输时间。
为提高磁盘传输效率,软件应着重考虑减少寻找时间和延迟时间。
35,一、减少寻找时间(寻道时间)的方法,减少寻找时间是提高磁盘传输效率的关键。
因为“寻找时间”在几十毫秒时间量级。
操作系统磁盘驱动程序可以通过对磁盘的访问请求顺序合理调度多道进程,达到减少磁盘平均服务时间的目的。
36,磁盘调度策略,1、先来先服务FCFS(FirstComeFirstServer):
这是最简单的磁盘调度策略,它根据进程请求访问磁盘的时间顺序进行调度。
2、最短寻道时间优先SSFT(ShortestSeekTimeFirst):
它是根据磁头当前的位置,选择请求队列中距离磁头最短的请求响应。
3、SCAN:
也称电梯策略,要求磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到它到达这个方向的最后一个磁道,或这个方向没有别的请求为止(Look算法),然后倒转服务方向,同样按顺序完成的有请求。
4、CSCAN:
是循环扫描法,当到达最后一个磁道时,磁头臂返回到磁头的另一端,并再次开始扫描。
(C-Look算法),37,其他调度策略,为避免磁头臂的粘性,磁盘请求队列被分成段,一次只有一个段被完全处理,1、N-Step-SCAN:
它是把磁盘请求分成长度为N的子队列,每次用SCAN处理一个子队列。
当N比较大时性能与SCAN相近,当N1时退化为FCFS,2、FSCAN:
使用两个子队列,当扫描开始时,所有请求都在一个队列中,而另一个队列为空。
在扫描过程中,所有新到的请求都被放入另一个队列。
因此,对新请求的服务延迟到处理完所有老请求以后。
38,假设磁盘有200个磁道,磁盘请求队列中是一些随机请求。
被请求的磁道按接收顺序分别为:
55、58、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-SCAN策略磁头臂的移动轨迹如下:
18,38,39,55,58,90,150,160,184,100,200,42,调度策略的比较,结论:
SCAN和C-SCAN适合于磁盘负载较大的系统。
SSTF较为通用和自然。
FCFS最理想。
43,二、减少延迟时间的方