您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机操作系统操作系统第5章
第五章设备管理概述1、按设备的使用特性分类(1)第一类是存储设备。(2)第二类是输入/输出设备。2、按设备的共享属性分类(1)独占设备,即临界资源。(2)共享设备。指在一段时间内允许多个进程同时访问的设备。对于每一时刻而言,该类设备仍然只允许一个进程访问。典型的共享设备是磁盘。(3)虚拟设备。这是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用。5.1I/O系统缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O设备设备与控制器之间的接口:设备并不是直接与CPU进行通信,而是与设备控制器通信,I/O设备中含有与设备控制器间的接口。设备控制器的组成数据寄存器控制/状态寄存器数据线I/O逻辑…控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制…地址线控制线CPU与控制器接口控制器与设备接口1.ISA和EISA总线1)ISA(IndustryStandardArchitecture)总线1984年推出的80286型微机的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。2)EISA(ExtendedISA)总线到20世纪80年代末期,ISA总线已难于满足带宽和传输速率的要求,于是人们又开发出扩展ISA(EISA)总线,其带宽为32位,总线的传输速率达32Mb/s,同样可以连接12台外部设备。总线系统:2.局部总线(LocalBus)局部总线,是指将多媒体卡、高速LAN网卡、高性能图形板等,从ISA总线上卸下来,再通过局部总线控制器直接接到CPU总线上,使之与高速CPU总线相匹配,而打印机、FAX/Modem、CDROM等仍挂在ISA总线上。在局部总线中较有影响的是PCI总线。2)PCI(PeripheralComponentInterface)总线Intel公司分别在1992年和1995年颁布了PCI总线的V1.0和V2.1规范,后者支持64位系统。PCI在CPU和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。在管理层中配有数据缓冲,通过该缓冲可将线路的驱动能力放大,使PCI最多能支持10种外设,并使高时钟频率的CPU能很好地运行,最大传输速率可达132Mb/s。程序I/O和中断驱动方式的流程向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读入字向存储器中写字传送完成?未就绪就绪出错CPU→I/OI/O→CPUI/O→CPUCPU→内存完成未完向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读字向内存中写字传送完成?就绪出错CPU→I/OI/O→CPUI/O→CPUCPU→内存完成未完中断CPU做其它事向I/O控制器发布读块命令CPU→DMACPU做其它事读DMA控制器的状态中断DMA→CPU下一条指令(a)程序I/O方式(b)中断驱动方式(c)DMA方式下一条指令下一条指令5.2I/O控制方式DMA控制器的组成DRMARDCCRI/O控制逻辑…主机—控制器接口控制器与块设备接口count内存CPU命令系统总线DMA控制器直接存储器访问(DMA)I/O控制方式(1)命令/状态寄存器(CR)。用于接收从CPU发来的I/O命令,或有关控制信息,或设备的状态。(2)内存地址寄存器(MAR)。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。(3)数据寄存器(DR)。用于暂存从设备到内存,或从内存到设备的数据。(4)数据计数器(DC)。存放本次CPU要读或写的字(节)数。DMA方式的工作流程图设置MAR和DC初值启动DMA传送命令挪用存储器周期传送数据字存储器地址增1字计数寄存器减1DC=0?请求中断在继续执行用户程序的同时,准备又一次传送否是利用缓冲寄存器实现缓冲1位缓冲9.6Kb/s8位缓冲寄存器送内存9.6Kb/s8位缓冲寄存器9.6Kb/s送内存(b)(a)(c)5.3缓冲管理5.3.2单缓冲和双缓冲1.单缓冲(SingleBuffer)每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。设:T=把一块数据从磁盘送到缓冲区的时间M=缓冲区数据传送到用户区的时间C=CPU对这块数据处理的时间T和C是可以并行的,系统对每块数据的处理时间为:Max(C,T)+M单缓冲工作示意图工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程工作区用户进程缓冲区1缓冲区2I/O设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)2.双缓冲(DoubleBuffer)缓冲池(既可用于输入又可用于输出):至少含有以下三种类型的缓冲区:①空(闲)缓冲区;②装满输入数据的缓冲区;③装满输出数据的缓冲区。将相同类型的缓冲区链成一个队列:(1)空缓冲队列emq。队首指针F(emq),队尾指针L(emq)。(2)输入队列inq(装满输入数据的缓冲区)。队首指针F(inq)和队尾指针L(inq)。(3)输出队列outq(装满输出数据的缓冲区)。队首指针F(outq)和队尾指针L(outq)。还有四种工作缓冲区:①用于收容输入数据的工作缓冲区;②用于提取输入数据的工作缓冲区;③用于收容输出数据的工作缓冲区;④用于提取输出数据的工作缓冲区。数据结构已经学过的过程:(1)Addbuf(type,number)过程。将由参数number所指示的缓冲区B挂在type队列上。(2)Takebuf(type)过程。用于从type所指示的队列的队首摘下一个缓冲区。为每一队列设置一个互斥信号量MS(type)。为每个缓冲队列设置一个资源信号量RS(type)。从队列队首摘取数据缓冲区:ProcedureGetbuf(type)beginWait(RS(type));Wait(MS(type));B(number):=Takebuf(type);Signal(MS(type));end把数据缓冲区挂在队列上:ProcedurePutbuf(type,number)beginWait(MS(type));Addbuf(type,number);Signal(MS(type));Signal(RS(type));end缓冲区的4种工作方式hinsoutsinhout收容输入提取输出用户程序提取输入收容输出缓冲池磁盘的结构和布局盘面9盘面8盘面7盘面6盘面5盘面4盘面3盘面2盘面1盘面0轴心读写磁头主杆扇区磁道磁道间隔扇区间隔5.6磁盘存储器的管理一个物理记录存储在一个扇区上,磁盘上存储的物理记录块数目是由扇区数、磁道数以及磁盘面数所决定的。例,10GB容量磁盘,有8个双面可存储盘片,共16个存储面(盘面),每面有16383个磁道(也称柱面),63个扇区。磁盘调度:1.先来先服务(FCFS,FirstComeFirstServed)优点:公平、简单,每个进程的请求都能依次地得到处理。缺点:平均寻道时间可能较长。举例如下:(从100号磁道开始)被访问的下一个磁道号移动距离(磁道数)5545583391918219072160701501038112184146平均寻道长度:55.32.最短寻道时间优先(SSTF,ShortestSeekTimeFirst)要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。但这种算法不能保证平均寻道时间最短。举例如下:(从100号磁道开始)被访问的下一个磁道号移动距离(磁道数)90105832553391638118201501321601018424平均寻道长度:27.53.扫描(SCAN)算法1)进程“饥饿”现象SSTF算法可能导致某个进程发生“饥饿”(Starvation)现象。只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必然优先满足。2)SCAN算法(电梯调度算法)不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。例如,当磁头正在自里向外移动时,SCAN算法所考虑的下一个访问对象,应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向为自外向里移动。由于这种算法中磁头移动的规律颇似电梯的运行,因而又常称之为电梯调度算法。(从100#磁道开始,向磁道号增加方向访问)被访问的下一个磁道号移动距离(磁道数)1505016010184249094583255339163811820平均寻道长度:27.8(从100#磁道开始,向磁道号增加方向访问)被访问的下一个磁道号移动距离(磁道数)15050160101842418166382039155165839032平均寻道长度:35.84.循环扫描(CSCAN)算法
本文标题:计算机操作系统操作系统第5章
链接地址:https://www.777doc.com/doc-3353320 .html