计算机操作系统chap5设备管理课程课件_第1页
计算机操作系统chap5设备管理课程课件_第2页
计算机操作系统chap5设备管理课程课件_第3页
计算机操作系统chap5设备管理课程课件_第4页
计算机操作系统chap5设备管理课程课件_第5页
已阅读5页,还剩149页未读 继续免费阅读

下载本文档

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

文档简介

2023/7/22计算机操作系统chap5设备管理课程5.1.I/O系统5.2.I/O控制方式

5.3.缓冲管理

5.4.I/O软件5.5.设备分配5.6.磁盘存储器的管理7/22/2023设备管理的目标

根据设备请求的情况,按照一定的算法,选择和分配输入输出设备以便进行数据传输操作;控制输入输入设备和CPU或内存之间交换数据,同时提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度,以使操作系统获得最佳效率;为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。7/22/2023设备管理功能设备分配与回收缓冲管理设备处理虚拟设备7/22/20235.1.1I/O设备

计算机系统的外围设备包括:显示器、键盘、纸带阅读器、纸带穿孔机、打印机、磁带、磁盘、光盘、激光打印机、绘图仪、图形数字化仪、鼠标器、声音输入、声音输出设备以及办公自动化设备等等,种类相当繁多,可从不同的角度对它们进行分类。

5.1I/O系统7/22/2023系统设备:在操作系统生成时已配置好的的标准设备。如:键盘、显示器、打印机、磁盘等。用户设备:指系统设备之外的非标准设备,一般由用户提供设备及其处理程序,并通过适当的手段把它们纳入系统中,由系统实施管理。如:网卡、调制解调器、绘图仪等。1.设备的从属关系分类7/22/2023块设备:指以数据块为单位存储和传输数据的设备如磁盘、磁带等。字符设备:指以单个字符为单位来传送信息的设备。如键盘、显示器、打印机等。2.设备中的信息交换单位方式分类7/22/2023存储设备:它是计算机用来存储永久性信息的设备如,磁带、磁盘(软盘、硬盘)、光盘等。输入设备:将外部信息送给计算机的设备。如,键盘、鼠标、扫描仪、手写笔、数码相机、麦克风、游戏手柄等输出设备:将计算机加工后的信息传送给外界的设备。

如,显示器、打印机、投影仪等。3.按设备的使用特性分类7/22/2023独占设备:这类设备在用户作业的整个运行期间必须为此用户所占有,即多个作业对某一外设的访问应该是互斥的,一旦系统将这类设备分配给某个作业,便由该设备独占,直至释放该资源。大多数低速I/O设备,如用户终端、打印机等共享设备:指在同一时间段内可以同时让几个作业使用的设备,当然,在某一时刻,该设备只能为一个作业服务。适应于高速设备,如磁盘虚拟设备:根据设备的使用性质来决定一台设备可以分给几个进程以提高该设备的使用率。如虚拟打印机4.按资源分配的角度分类7/22/20231、按()分类可将设备分为块设备和字符设备。A.从属关系B.操作特性C.共享属性D.信息交换单位2、大多数低速设备都属于()设备。A.独占B.共享C.虚拟D.Spooling3、从资源分配的角度看,可以把设备分为独占设备、共享设备和虚拟设备,打印机属于________设备,而磁盘属于__________设备。7/22/2023

5.1.2设备控制器1.设备控制器的概念

设备控制器是CPU与外围设备之间的接口,是一个可编址设备,每一个地址对应一个设备。它接收从CPU发来的命令,并去控制输入输出设备的工作,使CPU从繁杂的设备控制事务中解脱出来,提高CPU的使用效率。7/22/20232.作用:接收从CPU发来的命令,控制I/O设备工作3.功能:接收和识别命令数据交换地址识别标识和报告设备的状态差错控制7/22/20234.设备控制器的组成

(1).设备控制器与处理机的接口(2).设备控制器与设备的接口(3).I/O逻辑7/22/2023I/O系统的结构CPU磁盘控制器存储器打印机控制器其他控制器一、微型机I/O系统:总线结构磁盘驱动器打印机7/22/2023二、主机系统输入输出结构

当主机所配置的输入输出设备较多时,特别是配有较多的高速外设时,采用总线型输入输出系统结构会加重CPU与总线的负担。因此,在这样的输入输出系统中不宜采用单总线结构,而是增加一级输入输出通道,用来代替CPU与各设备控制器进行通信,实现对控制器的控制。7/22/2023

7/22/20235.1.3I/O通道1、通道的引入

为了提高计算机系统的运行效率,就要使CPU摆脱繁忙的I/O事务,而配置专门处理I/O事务的机构——通道。

通道的引入是为了建立独立的I/O操作。它不仅要求数据传送独立于CPU,而且要求I/O操作的组织、管理、结束等也尽量独立,以保证CPU有更多的时间从事计算。这样就可以实现CPU计算和I/O操作的并行工作。7/22/2023思考题一

什么是通道?通道有哪些类型?7/22/20232、I/O通道概念

通道是一种硬件机构,又称I/O处理机。输入输出通道是指专门负责输入输出工作的处理器。它有自己的指令系统(包含数据传送指令和设备控制指令),独立执行自己的通道程序来实现内存与外设之间的数据传输,从而使系统获得CPU与外设并行处理的能力。7/22/20233、通道的类型

根据信息交换方式的不同,可把通道分成字节多路通道、数组多路通道和选择通道三种。(1)字节多路通道

通常都含有许多非分配型子通道,其数量可以从几十到数百个,每一个子通道连接一台输入输出设备,这些子通道按时间片轮转方式共享主通道。

字节多路通道连接低速或中速设备时,不会丢失信息。7/22/2023

选择通道的数据传送是按成批的方式进行的,故传送速率很高。(2)数据选择通道选择通道

它适用于连接高速I/O设备,如磁带、磁盘等。选择通道只有一个分配型子通道,即这个子通道可以连接多台设备,但每次只能把子通道分配给一台设备使用。一旦分配给某台设备,子通道就被它独占,即使暂时出现空闲,也不允许其他设备利用该子通道。直到它被释放,再选择另一台设备为其服务。因此选择通道的利用率是很低的。7/22/2023

这种通道综合了字节多路通道分时并行工作和选择通道传输速率高的特点。它具有多个非分配型子通道,每个子通道连接一台中、高速I/O设备,如:磁带、磁鼓、磁盘等,因而通道所连接的几个设备可以并行工作。

数组多路通道技术相当于通道程序的多道程序设计技术。(3)数组多路通道7/22/2023CPU字节多路通道

打印机1打印机2I/O控制器

I/O控制器

内存

选择通道成组多路通道

磁盘

I/O控制器

磁盘

I/O控制器

I/O控制器I/O控制器

磁带

磁带

存在这三种通道的计算机系统的各硬件的连接关系如图所示:7/22/2023思考题二设备管理中,什么是“瓶颈”现象?如何解决?7/22/2023通道命令和通道程序

通道有自己的指令系统,为了与CPU的指令相区别,通道的指令被称为“通道命令字”。通道命令字条数不多,主要涉及控制、转移、读、写及查询等功能。0783132474863每条通道命令由四个字段组成:(1)操作码(0~7):表示通道要执行的命令;(2)数据主存始址:表示本命令要访问的主存数据区的起始地址;(3)特征位(32~47,只使用了32~36位,其余未用):37~39位必须置0,否则认为通道命令错。7/22/2023

通道程序存放在内存中,由I/O指令启动执行。用户请求I/O时,CPU对通道的通信是向通道发出查询、启动和停止通道程序工作,而通道向CPU的通信则采用中断方式。其执行过程如图所示。7/22/2023用户I/O请求

查询设备忙闲?

调用通道程序

执行通道程序

I/O操作完成,发中断请求

CPU响应中断,进行结束处理

以I/O指令启动通道结束通道工作

进入设备请求队列,等待忙不忙

通道程序的执行过程

7/22/20235、通道工作过程(1)当进程有I/O请求时,系统首先查询设备状态。若忙,进程进入设备请求队列等待;若闲,CPU发指令指明I/O操作、设备号和对应通道。(2)对应通道收到CPU发来的启动指令后,读出内存中的通道指令程序、设置对应设备的控制状态寄存器的初值。(3)设备按通道指令的求,把数据送往内存指定区域。(4)若传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。(5)中断处理结束后,CPU返回到被中断进程处继续执行。(6)当进程调度程序选中这个已得到数据的进程后,才能进行加工处理。7/22/2023思考题三通道的作用是什么?通道是一个独立于CPU的专管输入/输出控制的处理器,它控制内存与外部设备直接进行数据交换。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。通道方式进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。7/22/20235.1.4总线系统1、总线基本概念

在计算机系统内各种子系统,如CPU、内存、I/O设备等之间,构建公用的信号或数据传输通道这种可共享的传输通道称为总线。7/22/20232、总线的分类7/22/2023当用户进程通过系统调用提出I/O请求时,从系统响应此请求开始,至系统完成用户要求的I/O操作,并唤醒相应的等待I/O完成的进程为止,这整个过程称为I/O控制过程。5.2I/O控制方式7/22/2023I/O控制过程包括以下步骤:(1)响应I/O请求,为在具体物理设备上进行I/O操作做准备。包括将逻辑设备名转换为物理设备名(设备分配)、I/O请求的合法性等。(2)设备驱动,控制设备完成I/O操作,对每类设备分别设置不同的设备驱动程序。(3)中断处理,I/O操作完成之后,设备控制器向CPU发送中断信号,CPU响应后转向相应的中断处理程序进行善后处理。7/22/2023I/O操作的控制方式一般有四种:查询方式中断方式直接内存存取方式通道方式

它们的主要差别在于处理器和外设并行工作的方式和程度的不同。7/22/2023查询方式是最简单的I/O控制方式。在设备控制器中有两个寄存器,一个是状态寄存器,由其中的一个状态位的值反映设备的忙或闲;另一个是数据缓冲寄存器。当设备启动时,状态寄存器的启动位为1,此时外设把数据送往数据缓冲寄存器,并将状态寄存器的状态位置1。CPU执行完一条指令后就测试状态位,如果为1,就把数据寄存器中的数据取到内存;若状态位为0,则再测试,直到状态寄存器的状态位为1,然后再读取数据。所以此种方式也称循环测试I/O方式5.2.1查询方式7/22/2023就绪向设备控制器发读命令读设备控制器的状态检查状态从设备控制器中读入字向存储器中写字传送完成CPU->I/OCPU->内存I/O->CPU出错I/O->CPU完成下条指令未完成未就绪7/22/2023步骤:

(1)当用户需要输入数据时,由处理器向设备控制器发出一条输入输出指令,启动设备进行输入(2)当用户进程需要向设备输出数据时,也必须同样发出启动命令启动设备输出,并等待输出操作完成。特点:

工作过程简单,CPU的利用率低。在要求不高的场合下常被采用,而且不能支持多道程序。程序直接控制方式适用于早期的无中断的计算机系统。7/22/2023

查询方式是主机向外设询问,而引入中断后,每当设备完成I/O操作,它便以中断请求方式主动向CPU汇报。因此,CPU一旦启动I/O设备后便可转去处理其他程序,仅在接到I/O中断信息请求时才花费极少时间去处理。

5.2.2中断方式7/22/20231、中断概念

所谓中断,是指处理机在执行进程的过程中,由于某些事件的出现,中止当前进程的运行,转而去处理出现的事件,待处理完毕后返回原来被中断处继续执行或调度其他进程执行。2、中断源

引起中断的事件称为中断源。(1)强迫性中断源硬件故障、程序性错误、外部事件、I/O中断事件(2)自愿性中断源7/22/20233、步骤(1)进程需要数据时,将允许启动和允许中断的控制字写入设备控制状态寄存器中,启动该设备进行输入操作。(2)该进程放弃处理机,等待输入的完成。操作系统进程调度程序调度其他就绪进程占用处理机。(3)当输入完成时,输入设备通过中断请求线向CPU发出中断请求信号。CPU在接收到中断信号之后,转向中断处理程序。(4)中断处理程序首先保护现场,然后把输入缓冲寄存器中的数据传送到某一特定单元中去,同时将等待输入完成的那个进程唤醒,进入就绪状态,最后恢复现场,并返回到被中断的进程继续执行。(5)在以后的某一时刻,操作系统进程调度程序选中提出的请求并得到获取数据的进程,该进程从约定的内存特定单元中取出数据继续工作7/22/2023向设备控制器发读命令读设备控制器的状态检查状态从设备控制器中读入字向存储器中写字传送完成完成下条指令CPU->I/OCPU->内存I/O->CPU出错I/O->CPU未完成CPU做其他中断7/22/2023例如,打印机每打一行需要60ms,在查询方式中,大约有59.99ms,CPU都处于循环等待中,而以中断方式处理的话,CPU仅花费0.1ms时间来处理I/O设备发来的中断,其余的59.99ms都可以用来做别的事情。所以中断方式比查询方式节省CPU的时间。7/22/2023

中断方式的方法是当设备完成I/O操作后,主动向CPU报告,CPU只用少量时间处理I/O中断,并将数据取回。在多道程序中的环境下,一个程序或进程启动I/O设备并允许中断后,不是自己主动去执行别的程序或继续执行主流程,而是应当把自己挂起,控制权交还给进程调度程序。在中断处理程序中,完成指定的I/O操作之后应把等待此结果的进程唤醒,而后由进程调度程序在适当时机把此进程投入运行。7/22/2023某进程其他进程输入中断处理中断调度调度唤醒启动I/O并允许中断阻塞等待处理输入的数据保护现场输入处理唤醒等待进程恢复现场多道程序下的中断处理方式7/22/20234、特点

中断控制方式比程序直接控制方式提高了CPU的利用率。每输入输出一个数据都会发生中断,传输一组数据需要多次中断,浪费了CPU的处理时间。中断控制方式应用于现代计算机系统中。7/22/20231、DMA控制方式的引入

引入的原因:中断处理方式提高了主机的利用率,但是每次中断都要保存现场信息,恢复现场等,仍占用CPU时间。在传送数据量大、速度高的情况下,中断方式就不适应了。为了进一步减少CPU对外设操作干预而引入直接存储器访问方式。5.2.3直接内存存取方式7/22/20232、DMA控制方式

是指对I/O设备的控制由DMA控制器完成,在DMA控制器的作用下,设备和主存之间可以成批地进行数据交换,而不用CPU的干涉。5.2.3直接内存存取方式7/22/2023 3、DMA控制器的组成:DMA控制器的组成命令控制器与设备接口主机—控制器接口内存CPU系统总线I/O控制逻辑CRMARDCDR┇count7/22/20234、DMA工作步骤:

①当进程要求设备输入一批数据时,CPU将设备存放输入数据的内存始址以及要传送的字节数分别送入DMA控制器中的地址寄存器和传送字节计数器;另外,还要将中断位和启动位置为1,以启动设备开始进行数据输入并允许中断。②发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据CPU。③输入设备不断地挪用CPU工作周期,将数据寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。④DMA控制器在传送字节数完成时,通过中断请求线发出中断信号,CPU收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并返回被中断的程序。⑤在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存始址取出数据做进一步处理。7/22/2023CPU向控制器发出启动DMA通知和有关参数控制器向内存发出询问请求访问内存(读、写)计数器减1结束否发中断NYDMA的实现流程7/22/20235、DMA方式特点:

(1)数据传送的基本单位是数据块; (2)所传送的数据是从设备直接送入内存,或者相反; (3)仅在传送一个或多个数据块的开始和结束时,才需中断CPU,请求干预,整块数据的传送是在DMA控制器控制下完成的。

缺点:

DMA方式只能完成简单的数据传送、计数、内存地址加1或减1等操作,不能满足复杂的I/O操作要求。7/22/20236、DMA方式与中断的主要区别

(1)中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理;DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数。(2)中断方式的数据传送是由CPU控制完成的;DMA方式则是在DMA控制器的控制下不经过CPU控制完成的。7/22/20235.2.4I/O通道控制方式1、概念

通道控制方式是一种以主存为中心,是设备与主存直接交换数据的控制方式。CPU只需要发出启动指令,指出通道相应的操作和输入输出设备,该指令就可以启动通道并使该通道从主存中调出相应的通道指令执行,完成一组数据块的输入/输出。

7/22/20232、通道控制方式步骤

(1)当进程要求设备输入时,CPU发指令指明I/O操作、设备号和对应通道。(2)对应通道收到CPU发来的启动指令后,读出内存中的通道指令程序、设置对应设备的控制状态寄存器的初值。(3)设备按通道指令的要求,把数据送往内存指定区域。(4)若传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。(5)中断处理结束后,CPU返回到被中断进程处继续执行。(6)当进程调度程序选中这个已得到数据的进程后,才能进行加工处理。7/22/20233、特点

通道所需要的CPU干预更少,并可以实现CPU、通道和输入输出设备三者之间的并行操作,从而更有效地提高整个系统资源的利用率。通道控制方式适用于现代计算机系统中的大量数据交换。7/22/2023通道和DMA控制器的区别(1)一个DMA控制器只能连接同类外设,且如果是多台同类外设,则它们只能是以串行方式工作。一个通道可以连接多个不同类型的设备控制器,而一个设备控制器又可以管理一台或多台外围设备,这就构成了典型的多级层次结构,众多外设均可在通道控制下同时工作;(2)DMA控制是借助硬件完成数据交换的,而通道是执行通道程序完成数据的;(3)DMA控制器需要CPU对多个外设进行初始化。CPU只需发一个I/O指令启动通道,由通道自己完成外设的初始化。7/22/2023综上所述,在前三种I/O控制方式中,CPU直接对设备控制器和I/O接口编程,可以简化接口的设计。对于非DMA传送,需要CPU实际去完成数据传送。对于高速数据传送可以使用DMA,但还是需要CPU设置设备控制器,初始化DMA操作和操作完毕去检查端口传送状态。而通道不同于DMA控制器,它能够去取和执行它自己的指令;而且这些指令的功能已不仅仅是数据传送,还包括检索、分支转移,甚至一些简单的算术、逻辑运算。7/22/2023大、中型计算机系统普遍用通道方式去控制设备完成I/O操作,以提高CPU与外设,外设与外设并行的程度。一些小型机和绝大多数微型机都是以CPU直接控制设备接口和设备控制器以查询、中断或DMA方式完成I/O操作,以降低系统造价。7/22/2023思考题四

综上所述的4种I/O控制方式,分别适合用于何种场合?7/22/2023课堂练习题1、从下面关于设备属性的论述中,选择一条正确的描述。()A.字符设备的一个基本特征是可寻址的,即能指定输入时的源地址和输出时的目标地址B.共享设备必须是可寻址的和随机访问的设备C.共享设备是指在同一时刻,允许多个进程同时访问的设备D.在分配共享设备和独占设备时,都可能引起进程死锁2、()在一般大型计算机系统中,主机对外围设备的控制可通过通道、控制器和设备三个层次来实现。从下述叙述中选出一条正确的叙述。A控制器可控制通道,设备在通道控制下工作B通道控制控制器,设备在控制器控制下工作C通道和控制器分别控制设备D控制器控制通道和设备的工作7/22/20231、通过硬件和软件的扩充,把原来独立的设备改造成能为若干用户共享的设备,这种设备称为?。2、引起中断发生的事件称为?。3、如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是?。4、常用的I/O控制方式有程序I/O方式、?、?、?.5、DMA是指允许?和?之间直接交换数据的设备。在DMA中必须设置地址寄存器,用于存放?,还必须设置?寄存器,用来暂存交换的数据。6、设备控制器是?和?之间的接口,它接受来自?的I/O命令,并用于控制?的工作。7、按从属关系对I/O设备分类,可分为系统设备和?两类。7/22/20235.3缓冲管理5.3.1缓冲的引入

1、引入的原因(1)缓和CPU与输入输出设备间速度不匹配的矛盾(2)减少对CPU的中断频率,放宽对中断响应时间的限制。(3)提高CPU与输入输出设备间的并行性。7/22/20232、缓冲技术的实现思想

建立一个缓冲区,当进程要执行读写操作时,首先向申请一块内存区域作为缓冲区,然后,将要传送的数据高速送到缓冲区。如果是读操作,则根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。若为写操作,则不断把数据填到缓冲区,直到它被填满为止。7/22/20233、实现缓冲的方法

(1)硬件缓冲。硬件缓冲采用专用硬件缓冲器,一般由外设自带的专用寄存器构成。(2)软件缓冲。在内存中专门开辟若干单元作为缓冲区为各种设备服务。7/22/20235.3.2单缓冲和双缓冲一、单缓冲

单缓冲即是在发送者和接收者之间只有一个缓冲区过程:当一个用户进程要求输入数据时,操作系统控制输入设备将数据送往缓冲区存放,再送往用户进程的数据存储区。7/22/2023特点在主存中只有一个缓冲区。对于块设备,该缓冲区可以存放一块数据,对于字符设备,该缓冲区可以存放一行数据。设备和处理器对缓冲区的操作是串行的,传输速度慢。在任一时刻,只能进行单向的数据传输,并且传输数据量较少。优点是设计简单,容易实现缺点是发送者和接收者不能并行工作7/22/2023二、双缓冲

双缓冲可在发送者与接收者之间设两个缓冲区缓冲区1和缓冲区2。

过程:发送者将数据送满缓冲区1,接收者从缓冲区1取数据时,发送者则可将数据送入缓冲区2,当接收者将缓冲区1取空后,又可到缓冲区2中取数据,这时发送者再将数据送入缓冲区1。于是,发送者和接收者交替使用两个缓冲区,达到了并行工作的目的。7/22/2023特点在主存中设置两个缓冲区,完成数据的传输。两个缓冲区可以交替使用,提高了处理器和输入设备的并行操作能力。在任一时刻,可以进行双向的数据传输。一个缓冲区用于输入,另一个用于输出。适用于输入/输出、生产者/消费者速度基本相匹配的情况。当传输数据量较大,或者两者的速度相差较远时,双缓冲区效率较低,还是不能解决两者并行工作问题。7/22/2023三、循环缓冲

由于双缓冲并不能真正解决实际系统中的并行操作,为了能够进一步提高系统操作的并行程度,可以通过增加缓冲区的个数,即实现多缓冲区方式。为了更好地控制和使用这些缓冲区,将多个缓冲区组成环形,称为循环缓冲技术。循环缓冲技术是在内存中分配大小相等的存储区作为缓冲区,并将这些缓冲区连接起来,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区的指针指向第一个缓冲区7/22/2023

为了充分利用这些缓冲资源,使进程的处理和I/O设备的工作具有较好的连续性,提高设备的利用率,将缓冲区分为以下两种类型:(1)空缓冲区。准备接收输入的数据。(2)满缓冲区。用于存放可供使用的数据。过程:

当循环缓冲接收数据时,将待传送的数据送入EMPTY指向的空缓冲区,填满后,让EMPTY指向下一个空缓冲区。每次申请一个空缓冲区时,需要判断EMPTY是否与FULL相等。若相等,表示系统中已没有空缓冲区,输入进程需要等待;否则,可以继续输入。若要从缓冲区取数据时,直接到FULL所指向的缓冲区中取,然后让FULL指向下一个满缓冲区。同样,每次FULL指针移动时,需要判断FULL是否与EMPTY相等。若相等,表示缓冲区已无数据可取,等待缓冲区满后继续操作。7/22/2023特点:在主存中设置多个缓冲区。读和写可以并行处理,适用于某种特定的输入输出进程和计算进程,如输入/输出、生产者/消费者速度不相匹配的情况。循环缓冲区属于专用缓冲区。当系统较大时,使用多个这样的缓冲区要消耗大量的主存空间,降低缓冲区的使用效率。两个缺点:(1)当系统的资源较多时,就要占用大量的缓冲区,增加内存开销。(2)可能会出现某个设备的缓冲不够用,而其他设备有多个空闲缓冲区的情况,导致循环缓冲的利用率不高。7/22/2023四、缓冲池上述的循环缓冲区仅适用于某特定的I/O进程和计算进程,是专用缓冲结构,而不是针对整个系统的公用缓冲结构。当系统较大时,会有很多这样的缓冲结构,这不仅要消耗大量的内存空间,而且其利用率不高。为了提高缓冲区的利用率,目前普遍采用公用缓冲池结构,在缓冲池中设置了可供多个并发进程共享的缓冲区。7/22/2023如图所示,缓冲池是由多个大小相同的缓冲区组成,同管理程序统一对缓冲池进行管理。当某个进程需要使用缓冲区时,由管理程序将缓冲池中合适的缓冲区分配给它,使用完毕,再将缓冲区释放回缓冲池。

7/22/2023为便于管理,系统将相同类型的缓冲区链成一个队列,缓冲池中共有三种队列:(1)空缓冲队列。(2)输入队列。(3)输出队列。这三种队列各有指向其首缓冲区的队首指针和指向尾缓冲区的队尾指针。系统根据需要从这三种队列中取出缓冲区,对缓冲区进行存数据、取数据操作。这些缓冲区称为工作缓冲区。缓冲池中有四种工作缓冲区:(1)收容输入工作缓冲区。(2)提取输入工作缓冲区。(3)收容输出工作缓冲区。(4)提取输出工作缓冲区。7/22/2023对缓冲池管理提供两个基本操作(过程):(1)getbuf(type):用于从type所指定的队列的队首,摘下一个缓冲区;(2)putbuf(type,number):用于将用参数number所指示的缓冲区,挂在type队列上。7/22/2023下面是缓冲池在具体的工作过程中,对缓冲池中的缓冲区实施管理和使用的情况:(1)当输入设备要进行数据输入时,先从空缓冲区队列的队首摘取一个空缓冲区,将它作为收容输入工作缓冲区,在其装满输入数据后,再将它挂到输入数据队列的队尾。(2)当某个计算进程需要输入数据时,从输入队列中取出一个缓冲区作为输入工作缓冲区,进程从中提取数据,取空后,将该缓冲区挂到空缓冲区队列的队尾。(3)当某个计算进程想输出数据时,从空缓冲区队首摘下一个空缓冲区作为收容输出工作缓冲区,在其装满计算进程的输出数据后,将它挂到输出队列的队尾。(4)当输出设备进行数据输出时,从输出队列取下一个缓冲区作为提取输出工作缓冲区,当其数据全送到输出设备后,再将它挂到空缓冲队列尾。7/22/2023特点

缓冲池结构复杂,在主存中设置公用缓冲池,在池中设置多个可以供多个进程共享的缓冲区。缓冲区既可以用于输入,又可以用于输出(即共享)。缓冲池的设置,减少了主存空间的消耗,提高了主存的利用率,适应于现代操作系统。无论是多缓冲,还是缓冲池,由于缓冲器是临界资源,因此在使用缓冲区时都有一个申请、释放和互斥的问题。7/22/2023缓冲和缓存的差异

缓冲与缓存的基本原理和作用是相似的,如果不加区分的话,都可以称之为缓冲。但两者之间确实存在细微的差异:缓冲的作用在于协调速度不匹配的I/O传输过程;而缓存的作用在于减少对设备的实际访问次数。这个差异导致了两者的管理方法有所不同。7/22/2023

一般来说,缓冲区的生命期较短,当进程开始数据传输时建立,一旦数据传输完毕,将立即释放缓冲区,它只起暂存数据的作用。而缓存区的生命期较长,缓存的数据可以长时间地保存在缓存区中,服务于各种应用目的。如文件系统中的i节点缓存、目录项缓存等在整个系统运行期间都存在于内存中,由文件系统管理和使用。

7/22/2023另外,缓冲区的管理相对简单,系统只需提供简单的分配算法以及同步机制即可。而缓存区的管理则需要利用更复杂的算法,以提高访问的命中率,最大限度地发挥缓存的作用。例如,磁盘的缓存算法要确定哪些数据应存放在缓存中,哪些数据应从缓存中撤出等。

在应用上,进程间的通信多使用缓冲技术,而设备的I/O往往使用缓冲兼缓存技术。7/22/20235.4I/O软件

分层结构的底层是设备相关部分,称为设备驱动程序。它们直接和相应的设备打交道,负责设备的具体驱动和控制。上层通常是和设备无关的,这个部分接受来自用户层的访问请求,并把这些访问请求传给具体的设备驱动程序,再将驱动程序的执行结果进行转换,传给用户7/22/20235.4I/O软件的设计目标和原则设备无关性错误处理同步/异步传输必须能处理独占设备和共享设备的I/O操作7/22/2023为实现以上四个目标,I/O系统应组织成以下四个层次:(1)中断处理程序(2)设备驱动程序(3)与设备无关的I/O软件(4)用户空间的I/O软件7/22/20235.4.2中断处理程序

中断事件通常由硬件发现。对出现的事件进行处理的程序称为中断处理程序。

中断处理程序是由操作系统处理的,属于操作系统的组成部分。

中断处理程序位于I/O系统的最低层。当进程需要进行I/O操作时,操作系统应将该进程挂起,即进入阻塞,直至I/O操作结束并发生中断。当中断发生时,中断处理程序执行相应的操作,以解除相应进程的阻塞状态。7/22/2023一个完整的中断处理过程包括以下四步:

(1)中断请求:由中断源向CPU提出中断请求(软中断除外)。

(2)中断响应:CPU在收到中断请求并具备响应条件的情况下,进行中断响应,以实现向中断服务程序的过渡。(3)中断服务:CPU在执行中断服务程序期间,要进行具体的中断服务。(4)中断返回:中断服务程序的最后一条指令应是中断返回指令。当执行到该指令时,便返回到被终止的程序,从断点处继续执行。7/22/2023中断请求:

中断源需要通过中断线送到中断控制器的输入端,这称为中断请求。

中断控制器是一个硬件装置,它负责捕获中断请求,并以一定的方式向CPU提交中断。由于同时可能会有多个中断信号产生,它们需要共用有限的中断线。因此,当设备要使用中断线时就要先进行中断请求(IRQ),以获得中断线的使用权。7/22/2023中断响应

对中断请求的整个处理过程是由硬件和软件相结合的一整套中断机构实施的。中断响应由硬件实施,中断处理主要由软件实施。中断响应是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址。

在处理器执行完一条指令后,硬件的中断装置就立即检查有无中断事件发生。若无,继续执行下一条指令;若有,则停止现行进程,由操作系统中的中断处理程序占用处理器,这一过程称为“中断响应”。7/22/2023一般说来,中断响应过程顺序执行下述动作:

(1)中止当前进程的执行;(2)对被响应的中断进行应答;

(3)保存当前进程的断点信息(主要是程序状态字PSW和程序计数器PC);

(4)转到中断处理程序入口。7/22/2023中断处理

中断处理主要由软件实施。响应中断后,CPU转去执行相应的中断处理程序。每个中断都对应一个特定的中断处理程序,因而系统中会有许多中断处理程序,如时钟中断处理程序、键盘中断处理程序等。在设备的驱动程序中包含了对该设备所有中断的处理程序。

7/22/2023中断处理过程:

①当中断装置发现中断事件后,先把中断事件存放到程序状态字寄存器中的中断码位置。②把程序状态字寄存器中的“当前PSW”作为“旧PSW”保存到预先约定的主存的固定单元中。③根据中断码,把该类事件处理程序的“新PSW”送入程序状态字寄存器。④处理器按新PSW控制处理该事件的中断处理程序执行。当中断程序处理完后,再恢复现场,继续执行原先被中断的进程7/22/2023中断处理程序的处理过程如下:

1.唤醒被阻塞的驱动程序进程2.保护被中断进程的现场3.分析中断原因、转入相应的设备中断处理程序4.进行中断处理5.恢复被中断进程的现场

中断处理程序的工作是对传输的结果进行必要的处理。7/22/2023多中断的处理

对于中断处理过程中又发生中断,引起多中断处理的问题,通常有两种处理方法。

(1)处理一个中断时禁止中断对任何新中断置之不理,在此期间发生的中断将保持挂起状态,当再次允许中断时,新中断信号被处理器检测到再予以处理(2)中断按照优先权分级允许优先级高的中断打断优先级低的中断处理过程7/22/20235.4.3设备驱动程序

设备驱动程序是驱动物理设备直接进行各种操作的软件,它可看作I/O系统和物理设备的接口。设备驱动程序包括了所有与设备有关的代码。每一个设备驱动程序只处理一种设备或者一类密切相关的设备。

7/22/2023设备驱动程序的功能:(1)实现逻辑设备到物理设备的转换。(2)发出I/O命令,启动相应的I/O设备,完成相应的I/O操作。7/22/2023设备驱动程序与设备控制器交互的大致过程

驱动程序将控制命令发到控制器的命令寄存器中,控制器启动设备进行I/O操作。当数据准备好后,驱动程序负责与控制器交互,完成数据传输工作。控制器将设备产生的状态信息存入状态寄存器中,供驱动程序查询。当有设备中断事件发生时,控制器发出中断请求信号,系统进入中断处理程序进行处理。7/22/2023设备处理方式有三类:

一是为每一类设备设置一个进程,专门执行这类设备的输入输出操作。二是在整个系统中设置一个输入输出进程,专门负责对系统中所有各类设备的输入输出操作。三是不设置专门的设备处理进程,只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。7/22/2023设备驱动程序的特点

(1)驱动程序主要是在请求输入输出的进程与设备控制器之间的一个通信程序。(2)驱动程序与输入输出设备的特性密切相关。因而对不同类型的设备应配置不同的驱动程序(3)驱动程序与输入输出控制方式紧密相关。(4)驱动程序与硬件紧密相关,其部分被固化在ROM中。7/22/2023设备驱动程序的处理过程:

1.将抽象要求转化为具体要求2.检查输入输出请求的合法性3.读出和检查设备的状态4.传送必要的参数5.设置工作方式6.启动输入输出设备7/22/20235.4.4设备独立性软件

为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。

因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。

7/22/20231.逻辑设备与物理设备的概念

物理设备是一个具体的设备。系统为了能识别全部外设,给每台外设分配一个唯一不变的名字,称为物理设备名。系统在实际工作时使用物理设备名。逻辑设备是对实际物理设备属性的抽象,它并不限于某个具体设备。用户在编程时,不用关心系统具体配置了哪些设备,也不需要了解各种设备的物理特性,而只是按照惯例为所用的设备起个逻辑名字,称为逻辑设备名。7/22/20232.设备独立性

设备独立性也称设备无关性,指用户编程时所使用的设备与实际使用的设备无关。为此,要求用户程序对输入输出设备的请求采用逻辑设备名;而在程序实际执行时使用物理设备名,它们之间的关系类似存储管理中的逻辑地址和物理地址的关系。7/22/2023

用户程序以逻辑设备名来请求使用某类设备时,系统将在该类设备中,根据设备的使用情况,将任一台合适的物理设备分配给程序。

在实现了设备独立性的功能后,可带来以下两方面的好处:1)设备分配时的灵活性2)易于实现I/O重定向7/22/20235.4.5用户层I/O软件尽管大部分I/O软件属于操作系统,但是也有一小部分是与用户程序链接在一起的库例程,甚至是在核心外运行的完整程序。系统调用,包括I/O系统调用,通常是库例程调用。在如下C语句:count=write(fd,buffer,nbyte);中,所调用的库函数write()将与用户程序链接在一起,并包含在运行时的二进制代码中。这一类库例程显然也是I/O系统的一部分。标准I/O库包含相当多涉及I/O的库例程,它们作为用户程序的一部分运行。7/22/2023总结I/O系统各层的主要功能如下:

(1)用户进程层执行输入/输出系统调用,对I/O数据进行格式化,为假脱机输入/输出做准备。

(2)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配。

(3)设备驱动程序设置设备寄存器、检查设备的执行状态。

(4)中断处理程序负责I/O完成时,唤醒设备驱动程序进程,进行中断处理。

(5)硬件层实现物理I/O的操作。7/22/20235.5设备分配

设备分配是由I/O系统中的设备分配程序完成的。每当进程提出I/O请求时,设备分配程序便按照一定的策略把所需的设备分配给进程使用。设备分配的原则是要尽可能地让设备忙碌,充分发挥设备的使用效率。7/22/20235.5.1设备分配中的数据结构设备控制表DCT控制器控制表COCT系统设备表SDT通道控制表CHCT(有时有)7/22/20231.设备控制表系统为每个设备配置一张设备控制表,用于记录设备的特性及与输入输出控制器连接的情况。

该表在系统生成时或在该设备和系统连接时创建,但表中的内容则根据系统执行情况而被动态地修改。7/22/2023表目1┊设备控制表集合设备控制表设备控制表7/22/20232.系统设备表SDT系统设备表也称为设备类表,整个系统配置一张。它记录了已被连接到系统中的所有物理设备的情况,并为每个物理设备设一个表项。7/22/2023表目1┊系统设备表7/22/20233.控制器控制表COCT系统为每个控制器配置了一张控制器控制表,以反映控制器的使用状态。7/22/2023表目1┊控制器表

控制器表其中控制器表中包括:控制器标识符、控制器状态、与控制器连接的通道表指针、控制器队列的队首指针和队尾指针。与设备控制表的表目类似,不再重复。7/22/20234.通道控制表CHCT

系统为每个通道配置一张通道控制表,以反映通道的使用状态。该表只在通道控制方式的系统中存在,每个通道一张。7/22/2023表目1┊通道表通道表其中通道表中包括:通道标识符、通道状态、与通道连接的控制器表首址、通道队列的队首指针和队尾指针。与设备控制表的表目类似,不再重复。7/22/2023这几张表的关系:

在系统设备表中有指向设备控制表的指针,在设备控制表中有指向该设备控制器控制表的指针,在控制器控制表中有指向与该控制器连接的通道控制表的指针。系统就是通过这种关系进行设备的分配与回收的。7/22/20235.5.2设备分配时应考虑的因素1.设备的使用性质

按照设备自身的使用性质,可以采用以下三种不同的分配方式:独享分配、共享分配、虚拟分配。独享分配适用于大多数低速设备,如打印机。共享分配适应于高速设备,如磁盘。虚拟分配适应于虚拟设备。根据设备的使用性质来决定一台设备可以分给几个进程。7/22/20232.设备分配的算法

当有多个进程同时请求设备时,系统应采用某种策略决定将设备分配给哪个进程使用。主要的分配策略有先来先服务和优先级两种。

(1)先来先服务算法根据进程对某设备提出请求的先后次序,将这些进程排成一个设备请求队列,设备分配程序总是把设备首先分配给队首的进程。先来先服务的算法简单、公平,但无法满足某些紧迫进程对I/O响应时间的要求。(2)优先级算法的策略是对高优先权进程的I/O请求也赋予高优先权,这有助于这种进程尽快完成。在利用该算法形成设备队列时,将优先级高的进程排在设备请求队列的前面,而对于同优先级的I/O请求,则按先来先服务的原则排队。7/22/20233.设备分配的安全性设备分配的安全性是指在设备分配中应防止发生进程的死锁。设备分配的安全性采用的方法有静态分配策略和动态分配策略,它们可以防止进程死锁。

(1)静态分配策略。静态分配策略是在作业级进行的,用户作业开始执行前,由系统一次分配给该作业所要求的全部设备、控制器和通道,直到该作业撤消为止。静态分配不会出现死锁,但是,设备利用率低。(2)动态分配策略。动态分配策略是在进程执行过程中,根据执行的需要所进行的设备分配。动态分配提高了设备的利用率,但是分配不当,会造成进程的死锁。7/22/20234.设备的独立性

设备的独立性是指用户在编制程序时所使用的设备与实际使用的设备无关。为此,要求用户程序对输入输出设备的请求采用逻辑设备名,而在程序实际执行时使用物理设备名,它们之间的关系类似存储管理中的逻辑地址和物理地址的关系。7/22/20235.5.3独占设备的分配程序在一个具有I/O通道的系统中,当进程提出I/O请求时,对独占设备的分配过程是:

首先为其进行分配合适的设备,然后分配控制器,最后分配通道。7/22/20231.分配设备分配设备的过程如图示:

当进程提出I/O请求后,首先根据进程提出的逻辑设备名,查找到与之对应的物理设备名,检索系统设备表SDT,以获得该设备的设备控制表DCT。查看设备控制表中设备的状态。若设备忙,将该进程PCB放入设备请求队列中;否则,系统可根据一定的算法判定分配此设备给进程是否安全。若不安全,将进程的PCB块也放入设备请求队列。若有设备空闲,且分配安全,就将该设备分配给进程。7/22/20232.分配控制器在系统把设备分配给请求输入输出的进程后,再到设备控制表中找到与该设备相连的控制器控制表,从该表的状态字段中可知该控制器是否忙碌。若控制器忙,则将进程插入到等待该控制器的队列;否则,将该控制器分配给进程,即修改控制器控制表,把状态字段的值由“0”改为进程名。7/22/20233.分配通道在分配完设备控制器后,从控制器控制表中找到与该控制器相连的通道控制表,从该表的状态字段中可知该通道是否忙碌。若通道处于忙碌状态,则将该进程插入到等待该通道的队列;否则,将该通道分配给进程,即修改通道控制表,把状态字段的值由“0”改为进程名。7/22/2023设备回收

当进程撤消或设备使用完毕后,要进行设备的回收,设备回收的过程如图所示。设备回收的步骤:(1)系统根据进程名在设备分配表中找到相应的记录,把设备状态修改为“0”表示未分配,若该设备的等待队列不空,则唤醒队首进程,进行设备分配;(2)到该设备的控制器控制表中,把其状态由进程名改为“0”,若该控制器的等待队列不空,则唤醒队首进程,进行控制器分配;(3)到该控制器的通道控制表中,把其状态由进程名改为“0”,若该通道的等待队列不空,则唤醒队首进程,进行通道分配;(4)在系统设备表中,把回收设备台数添加到“现存设备台数”中。

7/22/2023对设备分配程序的改进

以上设备分配程序有两个特点:

一是,进程是以物理设备名来提出输入输出请求的。

二是,系统采用的是单通路的输入输出系统结构。这样的系统容易产生“瓶颈”现象。

为此,对设备分配程序做以下改进:

(1)增加设备的独立性。进程应以逻辑设备名请求输入输出。系统首先根据系统设备表找到第一个该类设备的设备分配表,若该设备忙,则查找第二个该类设备的设备分配表,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上。这样通过增加设备的独立性,提高了设备分配的安全性。7/22/2023(2)考虑多通路情况。系统采用多通路的输入输出系统结构,如图示:即一个设备可以由多个控制器控制,一个控制器可以由多个通道控制(即增加图中的虚线部分)。这样,可以防止系统出现“瓶颈”现象。也就是对控制器和通道的分配,同样经过几次反复,只要有一个控制器或通道可用,系统就可以把它分配给进程。这样,就增加了分配控制器和通道的可能性,提高了设备分配的效率。返回7/22/20235.5.4SPOOLing技术虚拟设备技术

虚拟设备:指通过某种虚拟技术,将一台物理设备变换成若干台逻辑设备,从而实现多个用户对该物理设备的同时共享。由于多台逻辑设备实际上并不存在,而只是给用户的一种感觉,因此被称作虚拟设备。过程:当进程中请求独享设备时,系统将共享设备的一部分存储空间分配给它。进程与设备交换信息时,系统把要交换的信息存放在这部分存储空间,在适当的时候对信息作相应的处理。

7/22/2023SPOOLing的概念

为了缓和CPU的高速性与I/O设备低速性间的矛盾而引了脱机输入、脱机输出技术,利用专门的外围控制机,将数据在低速I/O设备上与高速磁盘之间传送。通过共享设备来模拟独享设备所采用的操作是假脱机操作,或SPOOLing,即在联机情况下外部设备设备同时操作。什么是SPOOLing系统?指在多道程序的环境下,利用多道程序中的一道或两道程序来模拟外围控制机,从而在联机的条件下实现脱机I/O的功能。7/22/2023SPOOLing系统的组成 1.输入井和输出井。2.输入缓冲区和输出缓冲区。3.输入进程和输出进程。7/22/2023假脱机技术的组成:(1)输入井和输出井。这是在磁盘上开辟的两个大的存储区。输入井是模拟脱机输入时的磁盘,用于收容输入设备输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。(2)输入缓冲区和输出缓冲区。它们是在主存中开辟的两个缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井,输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。(3)输入进程和输出进程。输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入设备,通过输入缓冲区送到输入井。当CPU需要数据时,直接从输入井读入主存。输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从主存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。7/22/2023思考题SPOOLing是如何实现输入输出的?

输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存;输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。7/22/2023用SPOOLing技术实现打印机共享例

系统在外存开辟了一个打印机输出井和一个磁带机输入井。对用户进程来说,这就是一台虚拟打印机和一台虚拟磁带机。当进程需要从磁带机输入数据时,SPOOLing系统启动磁带机,将数据读入磁带机输入井中,随后进程直接从输入井提取数据,不需再等待。当进程需要打印输出时,它们将数据高速地送入打印机输出井,然后继续运行。在输出井等待打印的数据形成打印队列,由SPOOLing系统控制在适当的时候完成实际的打印工作。7/22/2023

虚拟设备除了可以减少进程对设备的等待时间外,还可以解决多个进程对独占设备的竞争问题。例如,在设置了虚拟打印机的系统中,每个进程都可以随时执行打印输出操作,好像系统的打印机是自己独占的。也就是说,使用虚拟设备永远不会引起进程死锁。7/22/2023

当用户进程请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该用户进程,而只为它做两件事:①由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;②输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。7/22/2023思考题请说明SPOOLing系统是如何实现虚拟设备的?答:SPOOLing系统主要由输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出三部分组成。当要运行用户程序时,由输入进程将用户要求的程序和数据预先从输入设备经由输入缓冲区送到输入井,当程序运行需要输入数据时,直接从输入井将数据读入内存。当用户程序要求输出数据时,由输出进程先将数据从内存送到输出井,待输出设备空闲时,再将输出井中的数据经由输出缓冲区送到输出设备上。由于磁盘是共享设备,输入井及输出井是磁盘上的两个存储区域,因此多个用户进程可以共享使用输入井及输出井,这样,就将独占型设备改造成了可共享使用的虚拟设备。7/22/2023SPOOLing系统特点1.提高了I/O速度。 2.将独享设备改造为共享设备。 3.实现了虚拟设备功能。(1)提高了输入输出速度。SPOOLing技术引入了输入井和输出井,可以使输入进程、用户进程和输出进程同时工作,从而提高了输入输出速度。(2)将独占设备改造为共享设备。由于SPOOLing技术把所有用户进程的输出都送入输出井,然后再由输出进程完成打印工作,而输出井在磁盘上,为共享设备。这样SPOOLing技术就把打印机等独占设备改造成了共享设备。(3)实现了虚拟设备功能。由于SPOOLing技术实现了多个用户进程共同使用打印机这种独占设备的情况,从而实现了把一个设备当成多个设备来使用,即虚拟设备的功能。7/22/20235.6磁盘存储器的管理5.6.1磁盘性能简述磁盘的结构

每个盘面上有许多磁道,从0开始按由外向里的次序顺序编号,不同盘面上具有相同编号的磁道在同一个柱面上,把盘面上的磁道号称为“柱面号”。

每个盘面有一个读写磁头,所有的读写磁头被固定在唯一的移动臂上同时移动,把所有的读写磁头按从上到下的次序从0开始进行编号,称为磁头号。在磁盘初始化时把每个盘面划分成相等数量的扇区,按磁盘旋转的反向从0开始给各扇区编号,称为扇区号。

要确定一个块所在的位置,必须给出三个参数:柱面号、磁头号、扇区号。7/22/2023磁盘的类型1)固定头磁盘

这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。2)移动头磁盘

每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。7/22/2023磁盘访问时间启动磁盘执行输入输出操作时,要把移动臂移动到指定的柱面,再等待指定的扇区旋转到磁头位置下,然后让指定的磁头进行读写,完成信息传送。因此,执行一次输入输出所花的时间有:

1)寻道时间——磁头在移动臂带动下移动到指定柱面所花的时间。(Seek)2)延迟时间(Delay)——指定扇区旋转到磁头下所需的时间。3)传输时间——由磁头进行读写完成信息传送的时间。7/22/20235.6.2磁盘调度1.先进先服务算法FCFS

温馨提示

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

评论

0/150

提交评论