计算机软件基础之操作系统设备管理_第1页
计算机软件基础之操作系统设备管理_第2页
计算机软件基础之操作系统设备管理_第3页
计算机软件基础之操作系统设备管理_第4页
计算机软件基础之操作系统设备管理_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

计算机软件基础之操作系统设备管理第一页,共三十三页,2022年,8月28日*2I/O管理功能1.状态跟踪设备控制块是存放设备管理和控制信息的数据结构。系统要掌握设备的状态。2.设备存取决定一种策略,实现对设备的存取操作。3.设备分配在多用户的环境下,负责设备的分配和回收。静态分配、动态分配4.设备控制设备控制包括设备的驱动、完成和故障中断处理。第二页,共三十三页,2022年,8月28日*3即:分配设备按设备的不同类型和操作系统选用的算法分配,包括分配相应的通道、设备控制器以及对未分配的任务或作业进行排队等。控制和实现真正的输入输出并行操作包括通道程序控制、启动设备、及时响应及处理中断讯号等。对输入输出缓冲区进行管理如:逻辑名的管理,多个缓冲区的分时及串并行操作,同类多个外部设备的均衡工作。在一些较大系统中实现虚拟设备技术。第三页,共三十三页,2022年,8月28日*4设计目标:1.方便性:为用户提供友好的使用环境2.设备独立性:用户的程序与设备要互相独立3.并行性:各设备充分并行工作,同时防止死锁产生4.有效性与均衡性:避免各设备忙闲不均分类:1、独享设备、共享设备、虚拟设备2、逻辑设备、物理设备第四页,共三十三页,2022年,8月28日*5设备独立性设备独立性的概念设备独立性是指用户在编程序时所使用的设备与实际设备无关。两类设备独立性:1.一个程序应独立于分配给它的某类设备的具体设备。即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。2.程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至于信息I/O使用的设备不需用户指明。第五页,共三十三页,2022年,8月28日*6二、设备独立性的实现

逻辑设备和实际设备的联系通常是由操作系统命令语言中提供的信息实现的。在用户一级仅进行逻辑指派,而操作系统的I/O管理模块则需要建立逻辑设备——物理设备的连接(通过构造逻辑描述器),并在进程请求设备时进行设备分配和设备传输控制。有的系统可以通过作业说明书提供的信息或键盘命令实现设备独立性。第六页,共三十三页,2022年,8月28日*7一个具体进程的逻辑设备名和物理设备名的对应关系记录在被称为逻辑设备描述器(LLD)的数据结构中,并由PCB中的一个指针指向它。当进程第一次使用某个逻辑设备时,系统为其分配一台给定类型的具体设备,称在该点上进程打开了这个逻辑设备。逻辑设备的关闭指的是不再使用这个逻辑设备了,相应的逻辑设备描述器可释放给系统。逻辑设备描述器包含四项内容:设备逻辑名、设备物理名、设备控制块指针、逻辑设备描述器队列勾链字。第七页,共三十三页,2022年,8月28日*8三、设备独立性的优点1.方便用户编程2.使用户程序运行不受具体的机器环境的限制。系统提供标准输入和输出,在用户程序中的输入输出都使用这两个标准的I/O,实际运行时,根据具体情况而定。如果配备打印机,则将输出信息送到打印机打印,如果没有配备打印机,就把输出重向到某个指定文件,把要打印的信息送到该文件中。3.便于程序移植第八页,共三十三页,2022年,8月28日*9缓冲技术CPU与各种外部设备的速度上的差异很大,设备与设备之间的速度差异也很大。系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O。造成I/O负荷的不均匀要解决这两个方面的问题就要引入缓冲的概念。第九页,共三十三页,2022年,8月28日*10在I/O部分缓冲所起的作用(1)解决信息的到达率和离去率不一致的矛盾由于输入数据的速度和处理数据的速度往往不相同,于是,有必要设置一个缓存,作为它们之间的缓冲,以解决它们速度上的匹配以及由于速度不一致而造成数据的丢失和紊乱。(2)缓存起中转站的作用缓存可以是内存与外存之间的中转站(3)使得一次输入的信息能够多次使用这主要是用在文件系统中,由于有的文件是可以共享的,所以会出现多个任务同时需要使用一个文件的情况,这样就可以从缓存中读取所需内容,而不必启动I/O到外存上去读取;另外,在通道或控制器内设置局部寄存器作为缓冲寄存器,可暂存I/O信息,以减少中断CPU的次数。第十页,共三十三页,2022年,8月28日*11缓冲的实现方式(a)硬件方式

一般是采用专用硬件缓冲器,如I/O控制器中的数据缓冲寄存器等。(b)软件方式

开辟出一个具有N个单元的专用缓冲区,以便临时存放I/O操作期间的数据。操作系统为每一个缓冲区建立一个数据结构,称为缓存控制块BCB(buffercontrolblock)。操作系统通过BCB对每一个缓存实施具体的管理。常用的缓冲技术有三种:单/双缓冲、环形缓冲、缓冲池第十一页,共三十三页,2022年,8月28日*12双缓冲系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。这种缓冲技术是最简单的,用于低频度活动的I/O系统。解决两台外设、打印机和终端之间的并行操作的办法是设置双缓冲,也就是设置两个缓冲区,分别用于外设的输入和输出。工作过程:首先输入将数据送入BUF1,然后,申请BUF2,在向BUF2输入数据的同时,输出进程可从BUF1中取数据。同理,向BUF1输入与从BUF2中取数据可以并行。第十二页,共三十三页,2022年,8月28日*13环形缓冲在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。环形缓冲技术的使用:设置一个输入指针in、一个输出指针out、开始指针strat,开始指针strat指向环形缓冲中的第一个缓冲区。系统初始时,strat=in=out。第十三页,共三十三页,2022年,8月28日*14输入时,要判断in是否与out相等,若相等,则要等待。否则,将信息送入in指向的缓冲区,填满后,将缓冲区中的指向下一个缓冲区的指针next置in,如此类推。

输出时,首先判断out=in,若相等,则等待(意味着系统中没有数据可取)。否则,取出缓冲区中的信息,将缓冲区中的next置out;第十四页,共三十三页,2022年,8月28日*15缓冲池系统在自由主存区设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。并由系统统一分配和管理。缓冲池既可以用于输出也可以用于输入。在缓冲池管理中,一个缓冲区由两部分组成:一部分用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。这两部分有一一对应的关系。对缓冲池的管理是通过对每一个缓冲器的首部进行操作实现的。缓冲首部包括设备号、设备上的数据块号(块设备时)、互斥标识位以及缓冲队列连接指针和缓冲器号等。第十五页,共三十三页,2022年,8月28日*16缓冲区自动管理系统组成缓冲池的缓冲区的用途:输入缓冲区处理机缓冲区输出缓冲区几种缓冲队列装入队列出空队列文件队列后备队列几种操作输入设备输出设备缓冲区自动管理程序后备队列装入队列出空队列主存输入文件队列输出文件队列处理机缓冲区自动管理系统第十六页,共三十三页,2022年,8月28日*17输入设备输出设备缓冲区自动管理程序后备队列装入队列出空队列主存输入文件队列输出文件队列处理机缓冲区自动管理系统信息管理输入文件队列→后备队列输出文件队列→出空队列后备队列→输出文件队列后备队列→装入队列输入中断装入队列→输入文件队列后备队列→装入队列输出中断出空队列→后备队列缓冲区管理程序对缓冲区队列的管理第十七页,共三十三页,2022年,8月28日*18设备分配分配原则一、静态分配和动态分配1、静态分配当一个作业(或进程)运行时,根据作业要求的设备,系统如果能满足,则将其要求的设备全部分配给它,然后开始运行,运行完成释放其占用的所有设备。这种分配方式的优点是系统绝不会出现死锁,缺点是设备利用率太低。2、动态分配这种分配方法是在作业(或进程)运行的过程中,需要使用设备时,就向系统申请,系统根据某种分配原则进行分配。这种方法的优点是设备的利用率高,缺点是系统有出现死锁的可能。考虑:设备固有特性;系统采用的分配算法;分配的安全性,避免死锁第十八页,共三十三页,2022年,8月28日*19二、I/O设备分配算法1、先来先服务算法每一设备有一队列管理,当多个作业或任务对同一设备提出I/O请求时,该算法把请求的先后次序排成一个等待该设备的队列,设备分配程序把设备分配给队列中的第一个作业。2、优先级高者优先一般是系统高于用户,超级用户(系统管理员)高于一般用户。对于优先级相同的I/O请求,则按先来先服务的原则分配。

三、设备分配的安全性对于独占设备,采用静态分配不会出现死锁。对于共享设备,采用动态分配有可能造成死锁。第十九页,共三十三页,2022年,8月28日*20独享分配共享分配虚拟设备技术1、SPOOLing—simultaneousperipheraloperationson-line,即外部设备联机同时操作,它是慢速字符设备如何与计算机进行信息交换的一种技术,通常又称为“假脱机技术”。这是一种预输入、缓输出的转储管理技术。设备分配的主要技术:第二十页,共三十三页,2022年,8月28日*212、字符设备和主机交换信息的两种方式,即脱机方式和联机方式。(a)联机方式,就是一般字符设备直接与内存交换信息。这种交换信息的缺点是:由于字符设备信息传送速度慢,当一个任务要求从外设上输入信息时,往往要等候很长的时间;其次,由于字符设备本质上是顺序存取设备的,因此,在一个任务的信息未传输完之前,别的任务不能进行输入或输出,这就降低了整个系统的并行处理能力。第二十一页,共三十三页,2022年,8月28日*22(b)脱机方式,以输入为例,先使用一台外围机把字符设备上的信息输入到块设备上(磁带或磁盘等),然后把块设备与主机联上。这样,主机在从块设备上(而不是从字符设备)上输入它所需要的信息。这种输入方式的优点是可以提高输入的并行度,缺点是需要人工干预,这就会降低系统的平均运行速度,而且容易出差错和损坏设备。

(c)SPOOLing技术是对上述两种信息传输方式的综合,它取两者的长处,而避免两者的短处,以联机的输入、输出方式,获得脱机的输入、输出的优点,所以SPOOLing技术有时也叫“假脱机技术”。

第二十二页,共三十三页,2022年,8月28日*233.SPOOLing系统的组成1.输入井和输出井这是在磁盘上开辟的两大存储空间。输入井是模拟脱机输入时的磁盘,用于收容外部设备(I/O)输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。2.输入缓冲区和输出缓冲区在主存中要开辟两个缓冲区;暂时存放来自输入井或要进输出井的数据。第二十三页,共三十三页,2022年,8月28日*24第二十四页,共三十三页,2022年,8月28日*252.程序工作的输入进程SPi和输出进程SPi进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机送到输入井。当CPU需要输入数据时,直接从输入井读入内存。SPo进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,送到输出设备上。第二十五页,共三十三页,2022年,8月28日*264.SPOOLing系统的特点(1)提高了I/O速度(2)将独占设备改造为共享设备在SPOOLing系统中,实际上并没有为各进程分配物理设备,而只是在输入井和输出井中,为各个进程分配一存储区和建立一张I/O请求表。这样,便把独占设备改造为共享设备。(3)实现了虚拟设备功能宏观上,虽然是多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。当然,该设备只是逻辑上的设备。SPOOLing系统实现了将独占设备变换为若干台对应的逻辑设备的功能。第二十六页,共三十三页,2022年,8月28日*27共享打印机是SPOOLing技术应用的典型实例。它将一台打印机改造为供多个用户共享的打印机,目前广泛地应用在多用户系统和局域网中。1.打印机共享的SPOOLing技术SPOOLing系统在收到用户进程的打印请求时(1)由输出进程在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;(2)输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求添入其中,再将该表挂到请求打印队列上。(3)如果还有进程要求打印输出,系统仍可接受其请求,也同样为该进程重复(1)、(2)。第二十七页,共三十三页,2022年,8月28日*282.打印队列请求打印队列是由若干张请求打印表所形成的队列,系统为每个请求打印的进程建立一张请求打印表。如果打印机空闲,输出进程将从请求打印队列的队首取出一张请求打印表,根据表中的要求将要打印的数据从输出井取出,由打印机进行打印。打印完成后,输出进程再查看请求打印队列中是否还有等待打印的请求表。若有,又取出第一张表,并根据其中的要求进行打印,如此下去,直至请求队列为空为止,输出进程才将自己停止工作,直到下次再有打印请求是才被唤醒继续工作。第二十八页,共三十三页,2022年,8月28日*29I/O控制方式一、循环测试I/O方式早期的设备控制方式采用。二、I/O中断方式为了提高CPU和设备的利用率,就应使CPU与设备并行

温馨提示

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

评论

0/150

提交评论