您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 计算机软件基础之操作系统设备管理
2019年10月4日星期五7时55分59秒1操作系统之设备管理输入输出管理计算机外部设备在计算机系统中除CPU和内存储器外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。外部设备(可以从不同的角度来分类)存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等;I/O设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。I/O管理就是设备管理,它是操作系统的一个重要的组成部分,负责管理系统中所有的外部设备。2019年10月4日星期五7时55分59秒2I/O管理功能1.状态跟踪设备控制块是存放设备管理和控制信息的数据结构。系统要掌握设备的状态。2.设备存取决定一种策略,实现对设备的存取操作。3.设备分配在多用户的环境下,负责设备的分配和回收。静态分配、动态分配4.设备控制设备控制包括设备的驱动、完成和故障中断处理。2019年10月4日星期五7时55分59秒3即:分配设备按设备的不同类型和操作系统选用的算法分配,包括分配相应的通道、设备控制器以及对未分配的任务或作业进行排队等。控制和实现真正的输入输出并行操作包括通道程序控制、启动设备、及时响应及处理中断讯号等。对输入输出缓冲区进行管理如:逻辑名的管理,多个缓冲区的分时及串并行操作,同类多个外部设备的均衡工作。在一些较大系统中实现虚拟设备技术。2019年10月4日星期五7时55分59秒4设计目标:1.方便性:为用户提供友好的使用环境2.设备独立性:用户的程序与设备要互相独立3.并行性:各设备充分并行工作,同时防止死锁产生4.有效性与均衡性:避免各设备忙闲不均分类:1、独享设备、共享设备、虚拟设备2、逻辑设备、物理设备2019年10月4日星期五7时55分59秒5设备独立性设备独立性的概念设备独立性是指用户在编程序时所使用的设备与实际设备无关。两类设备独立性:1.一个程序应独立于分配给它的某类设备的具体设备。即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。2.程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至于信息I/O使用的设备不需用户指明。2019年10月4日星期五7时55分59秒6二、设备独立性的实现逻辑设备和实际设备的联系通常是由操作系统命令语言中提供的信息实现的。在用户一级仅进行逻辑指派,而操作系统的I/O管理模块则需要建立逻辑设备——物理设备的连接(通过构造逻辑描述器),并在进程请求设备时进行设备分配和设备传输控制。有的系统可以通过作业说明书提供的信息或键盘命令实现设备独立性。2019年10月4日星期五7时55分59秒7一个具体进程的逻辑设备名和物理设备名的对应关系记录在被称为逻辑设备描述器(LLD)的数据结构中,并由PCB中的一个指针指向它。当进程第一次使用某个逻辑设备时,系统为其分配一台给定类型的具体设备,称在该点上进程打开了这个逻辑设备。逻辑设备的关闭指的是不再使用这个逻辑设备了,相应的逻辑设备描述器可释放给系统。逻辑设备描述器包含四项内容:设备逻辑名、设备物理名、设备控制块指针、逻辑设备描述器队列勾链字。2019年10月4日星期五7时55分59秒8三、设备独立性的优点1.方便用户编程2.使用户程序运行不受具体的机器环境的限制。系统提供标准输入和输出,在用户程序中的输入输出都使用这两个标准的I/O,实际运行时,根据具体情况而定。如果配备打印机,则将输出信息送到打印机打印,如果没有配备打印机,就把输出重向到某个指定文件,把要打印的信息送到该文件中。3.便于程序移植2019年10月4日星期五7时55分59秒9缓冲技术CPU与各种外部设备的速度上的差异很大,设备与设备之间的速度差异也很大。系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O。造成I/O负荷的不均匀要解决这两个方面的问题就要引入缓冲的概念。2019年10月4日星期五7时55分59秒10在I/O部分缓冲所起的作用(1)解决信息的到达率和离去率不一致的矛盾由于输入数据的速度和处理数据的速度往往不相同,于是,有必要设置一个缓存,作为它们之间的缓冲,以解决它们速度上的匹配以及由于速度不一致而造成数据的丢失和紊乱。(2)缓存起中转站的作用缓存可以是内存与外存之间的中转站(3)使得一次输入的信息能够多次使用这主要是用在文件系统中,由于有的文件是可以共享的,所以会出现多个任务同时需要使用一个文件的情况,这样就可以从缓存中读取所需内容,而不必启动I/O到外存上去读取;另外,在通道或控制器内设置局部寄存器作为缓冲寄存器,可暂存I/O信息,以减少中断CPU的次数。2019年10月4日星期五7时55分59秒11缓冲的实现方式(a)硬件方式一般是采用专用硬件缓冲器,如I/O控制器中的数据缓冲寄存器等。(b)软件方式开辟出一个具有N个单元的专用缓冲区,以便临时存放I/O操作期间的数据。操作系统为每一个缓冲区建立一个数据结构,称为缓存控制块BCB(buffercontrolblock)。操作系统通过BCB对每一个缓存实施具体的管理。常用的缓冲技术有三种:单/双缓冲、环形缓冲、缓冲池2019年10月4日星期五7时55分59秒12双缓冲系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。这种缓冲技术是最简单的,用于低频度活动的I/O系统。解决两台外设、打印机和终端之间的并行操作的办法是设置双缓冲,也就是设置两个缓冲区,分别用于外设的输入和输出。工作过程:首先输入将数据送入BUF1,然后,申请BUF2,在向BUF2输入数据的同时,输出进程可从BUF1中取数据。同理,向BUF1输入与从BUF2中取数据可以并行。2019年10月4日星期五7时55分59秒13环形缓冲在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。环形缓冲技术的使用:设置一个输入指针in、一个输出指针out、开始指针strat,开始指针strat指向环形缓冲中的第一个缓冲区。系统初始时,strat=in=out。2019年10月4日星期五7时55分59秒14输入时,要判断in是否与out相等,若相等,则要等待。否则,将信息送入in指向的缓冲区,填满后,将缓冲区中的指向下一个缓冲区的指针next置in,如此类推。输出时,首先判断out=in,若相等,则等待(意味着系统中没有数据可取)。否则,取出缓冲区中的信息,将缓冲区中的next置out;2019年10月4日星期五7时55分59秒15缓冲池系统在自由主存区设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。并由系统统一分配和管理。缓冲池既可以用于输出也可以用于输入。在缓冲池管理中,一个缓冲区由两部分组成:一部分用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。这两部分有一一对应的关系。对缓冲池的管理是通过对每一个缓冲器的首部进行操作实现的。缓冲首部包括设备号、设备上的数据块号(块设备时)、互斥标识位以及缓冲队列连接指针和缓冲器号等。2019年10月4日星期五7时55分59秒16缓冲区自动管理系统组成缓冲池的缓冲区的用途:输入缓冲区处理机缓冲区输出缓冲区几种缓冲队列装入队列出空队列文件队列后备队列几种操作输入设备输出设备缓冲区自动管理程序后备队列装入队列出空队列主存输入文件队列输出文件队列处理机缓冲区自动管理系统2019年10月4日星期五7时55分59秒17输入设备输出设备缓冲区自动管理程序后备队列装入队列出空队列主存输入文件队列输出文件队列处理机缓冲区自动管理系统信息管理输入文件队列→后备队列输出文件队列→出空队列后备队列→输出文件队列后备队列→装入队列输入中断装入队列→输入文件队列后备队列→装入队列输出中断出空队列→后备队列缓冲区管理程序对缓冲区队列的管理2019年10月4日星期五7时55分59秒18设备分配分配原则一、静态分配和动态分配1、静态分配当一个作业(或进程)运行时,根据作业要求的设备,系统如果能满足,则将其要求的设备全部分配给它,然后开始运行,运行完成释放其占用的所有设备。这种分配方式的优点是系统绝不会出现死锁,缺点是设备利用率太低。2、动态分配这种分配方法是在作业(或进程)运行的过程中,需要使用设备时,就向系统申请,系统根据某种分配原则进行分配。这种方法的优点是设备的利用率高,缺点是系统有出现死锁的可能。考虑:设备固有特性;系统采用的分配算法;分配的安全性,避免死锁2019年10月4日星期五7时55分59秒19二、I/O设备分配算法1、先来先服务算法每一设备有一队列管理,当多个作业或任务对同一设备提出I/O请求时,该算法把请求的先后次序排成一个等待该设备的队列,设备分配程序把设备分配给队列中的第一个作业。2、优先级高者优先一般是系统高于用户,超级用户(系统管理员)高于一般用户。对于优先级相同的I/O请求,则按先来先服务的原则分配。三、设备分配的安全性对于独占设备,采用静态分配不会出现死锁。对于共享设备,采用动态分配有可能造成死锁。2019年10月4日星期五7时55分59秒20独享分配共享分配虚拟设备技术1、SPOOLing—simultaneousperipheraloperationson-line,即外部设备联机同时操作,它是慢速字符设备如何与计算机进行信息交换的一种技术,通常又称为“假脱机技术”。这是一种预输入、缓输出的转储管理技术。设备分配的主要技术:2019年10月4日星期五7时55分59秒212、字符设备和主机交换信息的两种方式,即脱机方式和联机方式。(a)联机方式,就是一般字符设备直接与内存交换信息。这种交换信息的缺点是:由于字符设备信息传送速度慢,当一个任务要求从外设上输入信息时,往往要等候很长的时间;其次,由于字符设备本质上是顺序存取设备的,因此,在一个任务的信息未传输完之前,别的任务不能进行输入或输出,这就降低了整个系统的并行处理能力。2019年10月4日星期五7时55分59秒22(b)脱机方式,以输入为例,先使用一台外围机把字符设备上的信息输入到块设备上(磁带或磁盘等),然后把块设备与主机联上。这样,主机在从块设备上(而不是从字符设备)上输入它所需要的信息。这种输入方式的优点是可以提高输入的并行度,缺点是需要人工干预,这就会降低系统的平均运行速度,而且容易出差错和损坏设备。(c)SPOOLing技术是对上述两种信息传输方式的综合,它取两者的长处,而避免两者的短处,以联机的输入、输出方式,获得脱机的输入、输出的优点,所以SPOOLing技术有时也叫“假脱机技术”。2019年10月4日星期五7时55分59秒233.SPOOLing系统的组成1.输入井和输出井这是在磁盘上开辟的两大存储空间。输入井是模拟脱机输入时的磁盘,用于收容外部设备(I/O)输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。2.输入缓冲区和输出缓冲区在主存中要开辟两个缓冲区;暂时存放来自输入井或要进输出井的数据。2019年10月4日星期五7时55分59秒242019年10月4日星期五7时55分59秒252.程序工作的输入进程SPi和输出进程SPi进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机送到输入井。当CPU需要输入数据时,直接从输入井读入内存。SPo进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,送到输出设备上。2019年10月4日星期五7时55分59秒264.SPOOLing系统的特点(1)提高了I/O速度(2)将独占设备改造为共享设备在SPOOLing系统中,实际上并没有为各进程分配物理设备,而只是在输入井和输出井中,为各个进
本文标题:计算机软件基础之操作系统设备管理
链接地址:https://www.777doc.com/doc-1315346 .html