计算机外部设备管理_第1页
计算机外部设备管理_第2页
计算机外部设备管理_第3页
计算机外部设备管理_第4页
计算机外部设备管理_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章设备管理在此,“设备〞泛指计算机系统中的外部设备,即除主机以外的其他所有设备。4.1概述

4.1.1计算机设备的分类

可以从不同的角度对外部设备进行分类。〔1〕基于设备的附属关系,可以把系统中的设备分为系统设备与用户设备两类。系统设备用户设备〔2〕基于设备的分配特性,可以把系统中的设备分为独享设备、共享设备和虚拟设备三类。独享设备共享设备虚拟设备〔3〕基于设备的工作特性,可以把系统中的设备分为输入/输出设备和存储设备两类。输入/输出设备存储设备磁带是一种严格按照信息存放物理顺序进行定位与存取的存储设备。磁带机的启停必须要考虑到物理上惯性的作用,当启动读磁带上的下一个记录时,必须经过一段时间,才能使磁带从静止加速到额定速度;从读完一个记录后,到真正停下来,又要滑过一小段距离。因此,磁带上每个记录之间要安排有所谓的“记录间隙〔IRG〕〞存在。图4-1记录与记录间隙〔IRG〕磁带写时,是在缓冲区中把假设干个记录拼装成一块,然后写出,这个过程被称为“记录的成组〞;磁带读时,是先把一块读到内存缓冲区,然后从中挑选出所需要的记录,这个过程被称为“记录的分解〞。因此,它越来越成为现代计算机系统中一个不可缺少的重要组成局部。图4-2磁盘结构示意图4.1.2设备管理的目标与功能1.设备管理的目标操作系统设备管理的目标之一是提高外部设备的利用率。

操作系统设备管理的目标之二是为用户提供便利、统一的使用界面。2.设备管理的功能设备管理必须具有如下功能:〔1〕提供一组I/O命令,以便用户进程能够在程序一级发出所需要的I/O请求,这就是用户使用外部设备的“界面〞。〔2〕进行设备的分配与回收。〔3〕对缓冲区管理。〔4〕实现真正的I/O操作。4.2输入/输出的处理步骤

4.2.1I/O请求的提出

输入/输出请求来自用户作业进程。图4-3I/O请求的处理步骤4.2.2对I/O请求的管理

设备的输入/输出管理程序由三块内容组成:接受用户的I/O请求,组织管理输入/输出的进行,以及输入/输出完成后的善后处理。4.2.3I/O请求的具体实现

在操作系统的设备管理中,是由设备驱动程序来具体实现I/O请求的。设备驱动程序有时也称为输入输出处理程序,它必须使用有关输入/输出的特权指令来与设备硬件进行交往,以便真正实现用户的输入/输出操作要求。4.3设备的分配与调度算法

4.3.1管理设备时的数据结构为了管理系统中的外部设备,操作系统为每一台设备开辟一个存储区,随时记录系统中每一台设备的根本信息,这个存储区被称为“设备控制块DCB〔DeviceControlBlock〕〞。图4-4设备控制块DCB及设备请求队列因为设备控制块DCB中存放的是一台具体设备的有关信息,找到一个设备的DCB,就得到了该设备的特性、各种参数、使用情况等,所以DCB是设备管理中最重要的一种数据结构。图4-5系统设备表SDT为了管理设备,系统除了为每个设备设置DCB外,整个系统还要有一张所谓的“系统设备表〔SDT—SystemDeviceTable〕〞。图4-5系统设备表SDT4.3.2独享设备的分配“独享设备〞即是在使用上具有排它性的设备。

独享设备的使用具有排它性,因此对这类设备只能采取“静态分配〞的策略。为了管理起见,系统在内部对每一台设备进行编号,以便相互识别。设备的这种内部编号称为设备的“绝对号〞。为了便于区分,防止混乱,允许用户对自己要求使用的几台相同类型的设备进行编号。这种编号出自于用户,因此称为设备的“相对号〞。用户是通过“设备类,相对号〞来提出使用设备的请求的。操作系统设置两种表,一是“设备类表〞,整个系统就只有一张设备类表;一是“设备表〞,每一类设备有一张。图4-7设备类表和设备表对于独享设备,常采用的分配算法有如下两种:〔1〕先来先效劳〔2〕优先级高者先效劳4.3.3共享磁盘的调度

当有很多进程向磁盘提出I/O请求时,对它们就有一个调度安排问题:让谁先用,让谁后用。执行一次磁盘的输入/输出需要花费的时间有如下几种。〔1〕查找时间:在移动臂的带动下,把磁头移动到指定柱面所需要的时间。〔2〕等待时间:将指定的扇区旋转到磁头下所需要的时间。〔3〕传输时间:由磁头进行读/写,完成信息传送所需要的时间。图4-8磁盘的访问过程1.“先来先效劳〞调度算法以I/O请求到达的先后次序作为磁盘调度的顺序,这就是先来先效劳调度算法。图4-9先来先效劳磁盘调度算法2.“最短查找时间优先〞调度算法把距离磁头当前位置最近的I/O请求作为下一次调度的对象,这就是最短查找时间优先调度算法。图4-10最短查找时间优先磁盘调度算法3.“电梯〞调度算法总是沿着移动臂的移动方向选择距离磁头当前位置最近的I/O请求作为下一次调度的对象。如果该方向上已无I/O请求,那么改变方向再做选择。图4-11电梯调度算法〔1〕图4-12电梯调度算法〔2〕4.“单向扫描〞调度算法单向扫描调度算法总是从0号柱面开始往里移动移动臂,遇到有I/O请求就进行处理,直到到达最后一个请求柱面。然后移动臂立即带动磁头不做任何效劳地快速返回到0号柱面,开始下一次扫描。图4-13单向扫描调度算法例4-1一个具有40个柱面的磁盘,现在正在处理柱面11上的I/O请求。这时又顺序到达新的请求,涉及的磁道是1、36、16、34、9和12。分别采用先来先效劳、最短查找时间优先以及电梯调度算法,试问它们各需要滑过多少柱面?为了减少移动臂移动时花费的时间,通常信息〔也就是文件〕不是按照盘面上的磁道顺序存放。磁盘上磁盘块〔即扇区〕的编号按照柱面的顺序进行〔从0开始〕,每个柱面按照柱面上的磁道顺序〔也就是按照磁头顺序〕进行〔从0开始〕,每个磁道按照扇区顺序进行〔从0开始〕。假定用c表示每个柱面上的磁道数,用s表示每个盘面上的扇区数,那么第i个柱面、j磁头、k扇区所对应的磁盘块号b可以用如下的公式计算: b

=

k

+

s

×

(j

+

i

×

c) 〔1〕同样地,根据给出的磁盘块号,也可以计算出它在磁盘上的位置〔即它位于的柱面号、磁头号、扇区号〕。仍以上面的假定为前提,现在要求第p个磁盘块在磁盘上的位置。令D=s*c〔每个柱面上拥有的磁盘块数〕,设M

=

p/D,N

=

p%D〔注意,这里的“/〞和“%〞分别表示整除和求余〕。于是,求第p块在磁盘上位置的公式为柱面号

=

M;磁头号

=

N

/s;扇区号

=

N

%s〔2〕例4-2假定一个磁盘组共有100个柱面,每个柱面上有8个磁道,每个盘面被划分成8个扇区。现在有一个含6400个记录的文件,记录大小与扇区尺寸相同,编号从0开始。该文件从0柱面、0磁道、0扇区顺序存放。试问:a.该文件的第3680个记录应该存放在磁盘的哪个位置?b.第78柱面的第6磁道的第6扇区中应该存放该文件的第几个记录?4.4数据传输的方式

数据传输,或发生在I/O设备与内存之间,或发生在I/O设备与CPU之间。所谓“数据传输的方式〞,就是讨论在进行输入/输出时,I/O设备与CPU谁做什么的问题。4.4.1设备控制器为了使设计模块化、具有通用性,也为了降低设备本钱,通常总是把这两局部分开:机械局部称为设备本身,电子局部称为“设备控制器〔或适配器〕〞。设备挂接在控制器上,因此要让设备做输入/输出操作,操作系统总是与控制器交往,而不是与设备交往。图4-15CPU与控制器之间的单总线模型4.4.2程序循环测试方式在早期的计算机系统中,都是采用程序循环测试的方式来控制数据传输的。4.4.3中断方式所谓“中断〞,是一种使CPU暂时中止正在执行的程序而转去处理特殊事件的操作。能够引起中断的事件称为“中断源〞,它们可能是计算机的一些异常事故或其他内部原因〔比方缺页〕,更多的是来自外部设备的输入输出请求。程序中产生的中断,由CPU的某些错误结果〔如计算溢出〕产生的中断称为“内中断〞;由外部设备控制器引起的中断成为“外中断〞。图4-16中断方式的数据传输4.4.4直接存储器存取〔DMA〕方式直接存储器存取方式即是通常所说的DMA〔DirectMemoryAccess〕方式,主要适用于一些高速的I/O设备,如磁带、磁盘等。图4-17DMA控制方式DMA控制器中包含有四个存放器:数据存放器,状态存放器,地址存放器和字节计数器。在数据传输之前,将根据I/O命令参数对这些存放器进行初始化。每个字节传输后,地址存放器内容自动增1,字节计数器自动减1。使用DMA方式进行数据传输具有如下特点:〔1〕DMA控制器是在获得总线控制权的情况下直接与内存储器进行数据交换,CPU不介入数据传输的任何事宜。〔2〕在DMA方式下,设备与内存储器之间进行的是成批数据传输,比方一块。〔3〕用DMA方式传输数据时,CPU不得使用总线,因此用DMA方式传输数据,不存在设备与CPU并行工作的问题。〔4〕在DMA方式下,CPU只做启动和蔼后处理工作,数据传输以及I/O管理等事宜均由DMA负责实行。4.4.5通道方式通道是一个独立于CPU的、专门用来管理输入/输出操作的处理机,它控制设备与内存储器直接进行数据交换。通道有自己的指令系统,称为“通道命令字〞。图4-18IBM的通道命令字格式假设干通道命令字构成一个“通道程序〞,它规定了设备应该执行的各种操作和顺序。必须把存放通道程序的内存起始地址告诉通道。存放这个起始地址的内存固定单元,被称为“通道地址字〞。当采用通道来进行数据传输时,计算机系统的I/O结构应该是通道与主机相连,设备控制器与通道相连,设备与设备控制器相连。图4-19带有通道的I/O结构使用通道方式进行数据传输的步骤如下:〔1〕当进程提出I/O请求后,CPU发出start命令,指明I/O操作、设备号和对应的通道。把数据传输的任务交给通道。〔2〕发出I/O请求的进程被阻塞,进程调度程序把CPU分配给另一个进程使用。〔3〕通道接收CPU发来的启动命令,调出通道程序执行,设备与CPU并行工作。〔4〕通道逐条执行通道程序中的通道命令字,指示设备完成规定的操作,与内存储器进行数据交换。〔5〕数据传输完毕,通道向CPU发出中断请求。〔6〕CPU响应通道提出的中断请求,对这次I/O进行善后处理,把阻塞进程的状态变为就绪,重新参与对CPU的竞争。缓冲的实现有两种方法:一种是采用专门的硬件存放器,这是“硬件缓冲〞;另一种是在内存储器中开辟出n个单元,作为专用的I/O缓冲区,这种内存缓冲区就是“软件缓冲〞。在I/O管理中,主要采用的是软件缓冲。根据系统设置缓冲区的个数,可以分为单缓冲、双缓冲、多缓冲以及缓冲池等四种。〔1〕单缓冲〔2〕双缓冲〔3〕多缓冲〔4〕缓冲池图4-20单缓冲与双缓冲的工作示意图图4-21多缓冲的两个队列但这仅仅是一种“幻觉〞,系统中并不存在多个独享设备。这种用一类物理设备模拟出的另一类物理设备,被称为“虚拟设备〞

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论