《计算机软件基础之操作系统设备管理精选PPT.ppt》由会员分享,可在线阅读,更多相关《计算机软件基础之操作系统设备管理精选PPT.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机软件基础之操作系统设备管理第1页,此课件共33页哦*2I/OI/O管理功能管理功能n1.状态跟踪n 设备控制块是存放设备管理和控制信息的数据结构。n 系统要掌握设备的状态。n2.设备存取n决定一种策略,实现对设备的存取操作。n3.设备分配n 在多用户的环境下,负责设备的分配和回收。n静态分配、动态分配n4.设备控制n 设备控制包括设备的驱动、完成和故障中断处理。第2页,此课件共33页哦*3n即:n分配设备 按设备的不同类型和操作系统选用的算法分配,包括分配相应的通道、设备控制器以及对未分配的任务或作业进行排队等。n控制和实现真正的输入输出并行操作 包括通道程序控制、启动设备、及时响应及处
2、理中断讯号等。n对输入输出缓冲区进行管理 如:逻辑名的管理,多个缓冲区的分时及串并行操作,同类多个外部设备的均衡工作。n在一些较大系统中实现虚拟设备技术。第3页,此课件共33页哦*4设计目标:n1.方便性:为用户提供友好的使用环境n2.设备独立性:用户的程序与设备要互相独立n3.并行性:各设备充分并行工作,同时防止死锁产生n4.有效性与均衡性:避免各设备忙闲不均分类:1、独享设备、共享设备、虚拟设备2、逻辑设备、物理设备第4页,此课件共33页哦*5设备独立性设备独立性n设备独立性的概念设备独立性的概念n 设设备备独独立立性性是是指指用用户户在在编编程程序序时时所所使使用用的的设设备备与与实实际
3、际设设备无关。备无关。n两类设备独立性:两类设备独立性:n1.1.一一个个程程序序应应独独立立于于分分配配给给它它的的某某类类设设备备的的具具体体设设备备。即即在在用用户户程程序序中中只只指指明明I/OI/O使使用用的的设设备备类类型型即即可可。如如在在系系统统中中配配备备了了两两台台打打印印机机,用用户户要要打打印印时时只只要要告告诉诉系系统统要要将将信信息息送送到到打打印印机即可。机即可。n2.2.程程序序要要尽尽可可能能地地与与它它使使用用的的设设备备类类型型无无关关。即即在在用用户户程程序序中中只只要要指指出出要要输输入入或或输输出出信信息息,至至于于信信息息I/OI/O使使用用的的设
4、设备备不不需需用用户户指指明。明。第5页,此课件共33页哦*6n二、设备独立性的实现 逻辑设备和实际设备的联系通常是由操作系统命令语言中提供的信息实现的。在用户一级仅进行逻辑指派,而操作系统的I/O管理模块则需要建立逻辑设备物理设备的连接(通过构造逻辑描述器),并在进程请求设备时进行设备分配和设备传输控制。有的系统可以通过作业说明书提供的信息或键盘命令实现设备独立性。第6页,此课件共33页哦*7一个具体进程的逻辑设备名和物理设备名的对应关系记录在被称为逻辑设备描述器(LLD)的数据结构中,并由PCB中的一个指针指向它。当进程第一次使用某个逻辑设备时,系统为其分配一台给定类型的具体设备,称在该点
5、上进程打开了这个逻辑设备。逻辑设备的关闭指的是不再使用这个逻辑设备了,相应的逻辑设备描述器可释放给系统。逻辑设备描述器包含四项内容:设备逻辑名、设备物理名、设备控制块指针、逻辑设备描述器队列勾链字。第7页,此课件共33页哦*8n三、设备独立性的优点n1.方便用户编程n2.使用户程序运行不受具体的机器环境的限制。系统提供标准输入和输出,在用户程序中的输入输出都使用这两个标准的I/O,实际运行时,根据具体情况而定。n如果配备打印机,则将输出信息送到打印机打印,如果没有配备打印机,就把输出重向到某个指定文件,把要打印的信息送到该文件中。n3.便于程序移植第8页,此课件共33页哦*9缓冲技术缓冲技术n
6、 CPUCPU与与各各种种外外部部设设备备的的速速度度上上的的差差异异很很大大,设设备备与设备之间的速度差异也很大。与设备之间的速度差异也很大。n 系系统统有有时时会会产产生生大大量量的的数数据据需需要要I/OI/O,有有时时又又会会很很长时间没有长时间没有I/OI/O。造成。造成I/OI/O负荷的不均匀负荷的不均匀n要解决这两个方面的问题就要引入缓冲的概念。要解决这两个方面的问题就要引入缓冲的概念。第9页,此课件共33页哦*10n在I/O部分缓冲所起的作用n(1)解决信息的到达率和离去率不一致的矛盾)解决信息的到达率和离去率不一致的矛盾n 由于输入数据的速度和处理数据的速度往往不相同,于是,
7、有必要设置一个缓存,作为它们之间的缓冲,以解决它们速度上的匹配以及由于速度不一致而造成数据的丢失和紊乱。n(2)缓存起中转站的作用)缓存起中转站的作用n 缓存可以是内存与外存之间的中转站n(3)使得一次输入的信息能够多次使用)使得一次输入的信息能够多次使用n 这主要是用在文件系统中,由于有的文件是可以共享的,所以会出现多个任务同时需要使用一个文件的情况,这样就可以从缓存中读取所需内容,而不必启动I/O到外存上去读取;另外,在通道或控制器内设置局部寄存器作为缓冲寄存器,可暂存I/O信息,以减少中断CPU的次数。第10页,此课件共33页哦*11n缓冲的实现方式n(a)硬件方式n 一般是采用专用硬件
8、缓冲器,如I/O控制器中的数据缓冲寄存器等。n(b)软件方式n 开辟出一个具有N个单元的专用缓冲区,以便临时存放I/O操作期间的数据。n操作系统为每一个缓冲区建立一个数据结构,称为缓存控制块BCB(buffer control block)。操作系统通过BCB对每一个缓存实施具体的管理。n常用的缓冲技术有三种:单/双缓冲、环形缓冲、缓冲池第11页,此课件共33页哦*12双缓冲双缓冲n系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。这种缓冲技术是最简单的,用于低频度活动的I/O系统。n解决两台外设、打印机和终端之间的并行操作的办法是设置双缓冲,也就是设置两个缓冲区,分别用于外设的
9、输入和输出。n工作过程:首先输入将数据送入BUF1,然后,申请BUF2,在向BUF2输入数据的同时,输出进程可从BUF1中取数据。同理,向BUF1输入与从BUF2中取数据可以并行。第12页,此课件共33页哦*13环形缓冲环形缓冲n 在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。n环形缓冲技术的使用:设置一个输入指针in、一个输出指针out、开始指针strat,开始指针strat指向环形缓冲中的第一个缓冲区。系统初始时,strat=in=out。第13页,此课件共33页哦*14n输入时,要判断in是否与out相等,若相等,则要等待。否则,将信息送
10、入in指向的缓冲区,填满后,将缓冲区中的指向下一个缓冲区的指针next置in,如此类推。n输出时,首先判断out=in,若相等,则等待(意味着系统中没有数据可取)。否则,取出缓冲区中的信息,将缓冲区中的next置out;第14页,此课件共33页哦*15缓冲池缓冲池n系统在自由主存区设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。并由系统统一分配和管理。n缓冲池既可以用于输出也可以用于输入。n在缓冲池管理中,一个缓冲区由两部分组成:一部分用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。这两部分有一一对应的关系。对缓冲池的管理是通过对每一个缓冲器的
11、首部进行操作实现的。缓冲首部包括设备号、设备上的数据块号(块设备时)、互斥标识位以及缓冲队列连接指针和缓冲器号等。第15页,此课件共33页哦*16缓冲区自动管理系统缓冲区自动管理系统n组成缓冲池的缓冲区的用途:n输入缓冲区n处理机缓冲区n输出缓冲区n几种缓冲队列n装入队列n出空队列n文件队列n后备队列n几种操作输入设输入设备备输出设输出设备备缓冲区自动管理缓冲区自动管理程序程序后备队后备队列列装入队列装入队列出空队列出空队列主主存存输输入入文文件件队队列列输输出出文文件件队队列列处理处理机机缓冲区自动管理系统缓冲区自动管理系统第16页,此课件共33页哦*17输入设备输入设备输出设备输出设备缓冲
12、区自动管理程序缓冲区自动管理程序后备队列后备队列装入队列装入队列出空队列出空队列主存主存输输入入文文件件队队列列输输出出文文件件队队列列处理机处理机缓冲区自动管理系统缓冲区自动管理系统n信息管理信息管理n输入文件队列输入文件队列后备队列后备队列 输出文件队列输出文件队列出空队列出空队列n后备队列后备队列输出文件队列输出文件队列 后备队列后备队列装入队列装入队列n输入中断输入中断n装入队列装入队列输入文件队列输入文件队列 后备队列后备队列装入队列装入队列n输出中断输出中断 出空队列出空队列后备队列后备队列缓冲区管理程序对缓冲区队列的管理缓冲区管理程序对缓冲区队列的管理第17页,此课件共33页哦*
13、18设备分配设备分配 分配原则分配原则n一、静态分配和动态分配n1、静态分配n 当一个作业(或进程)运行时,根据作业要求的设备,系统如果能满足,则将其要求的设备全部分配给它,然后开始运行,运行完成释放其占用的所有设备。n 这种分配方式的优点是系统绝不会出现死锁,缺点是设备利用率太低。n2、动态分配n这种分配方法是在作业(或进程)运行的过程中,需要使用设备时,就向系统申请,系统根据某种分配原则进行分配。n这种方法的优点是设备的利用率高,缺点是系统有出现死锁的可能。考虑:考虑:设备固有特性;系统采用的分配算法;分配的安全性,避免死锁设备固有特性;系统采用的分配算法;分配的安全性,避免死锁第18页,
14、此课件共33页哦*19n二、I/O设备分配算法n1、先来先服务算法n每一设备有一队列管理,当多个作业或任务对同一设备提出I/O请求时,该算法把请求的先后次序排成一个等待该设备的队列,设备分配程序把设备分配给队列中的第一个作业。n2、优先级高者优先n一般是系统高于用户,超级用户(系统管理员)高于一般用户。对于优先级相同的I/O请求,则按先来先服务的原则分配。n三、设备分配的安全性n对于独占设备,采用静态分配不会出现死锁。n对于共享设备,采用动态分配有可能造成死锁。第19页,此课件共33页哦*20n独享分配n共享分配n虚拟设备技术n1、SPOOLingsimultaneous peripheral
15、 operations on-line,即外部设备联机同时操作,它是慢速字符设备如何与计算机进行信息交换的一种技术,通常又称为“假脱机技术”。这是一种预输入、缓输出的转储管理技术。设备分配的主要技术:设备分配的主要技术:第20页,此课件共33页哦*212、字符设备和主机交换信息的两种方式,即脱机方式和联机方式。n(a)联机方式,就是一般字符设备直接与内存交换信息。这种交换信息的缺点是:由于字符设备信息传送速度慢,当一个任务要求从外设上输入信息时,往往要等候很长的时间;其次,由于字符设备本质上是顺序存取设备的,因此,在一个任务的信息未传输完之前,别的任务不能进行输入或输出,这就降低了整个系统的并
16、行处理能力。第21页,此课件共33页哦*22n(b)脱机方式,以输入为例,先使用一台外围机把字符设备上的信息输入到块设备上(磁带或磁盘等),然后把块设备与主机联上。这样,主机在从块设备上(而不是从字符设备)上输入它所需要的信息。这种输入方式的优点是可以提高输入的并行度,缺点是需要人工干预,这就会降低系统的平均运行速度,而且容易出差错和损坏设备。n(c)SPOOLing 技术是对上述两种信息传输方式的综合,它取两者的长处,而避免两者的短处,以联机的输入、输出方式,获得脱机的输入、输出的优点,所以SPOOLing技术有时也叫“假脱机技术”。第22页,此课件共33页哦*23n3SPOOLing 系统
17、的组成n1输入井和输出井n这是在磁盘上开辟的两大存储空间。输入井是模拟脱机输入时的磁盘,用于收容外部设备(I/O)输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。n2输入缓冲区和输出缓冲区n在主存中要开辟两个缓冲区;暂时存放来自输入井或要进输出井的数据。第23页,此课件共33页哦*24第24页,此课件共33页哦*25n2程序工作的输入进程SPi和输出进程SPin 进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机送到输入井。当CPU需要输入数据时,直接从输入井读入内存。SPo进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空
18、闲时,再将输出井中的数据,送到输出设备上。第25页,此课件共33页哦*26n4.SPOOLing系统的特点n(1)提高了I/O速度n(2)将独占设备改造为共享设备n在SPOOLing 系统中,实际上并没有为各进程分配物理设备,而只是在输入井和输出井中,为各个进程分配一存储区和建立一张I/O请求表。这样,便把独占设备改造为共享设备。n(3)实现了虚拟设备功能n宏观上,虽然是多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。当然,该设备只是逻辑上的设备。SPOOLing系统实现了将独占设备变换为若干台对应的逻辑设备的功能。第26页,此课件共33页哦*27n共享打印
19、机是SPOOLing 技术应用的典型实例。它将一台打印机改造为供多个用户共享的打印机,目前广泛地应用在多用户系统和局域网中。n1打印机共享的SPOOLing技术nSPOOLing系统在收到用户进程的打印请求时n(1)由输出进程在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;n(2)输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求添入其中,再将该表挂到请求打印队列上。(3)如果还有进程要求打印输出,系统仍可接受其请求,也同样为该进程重复(1)、(2)。第27页,此课件共33页哦*28n2打印队列 n请求打印队列是由若干张请求打印表所形成的队列,系统为每个请求打印的进程
20、建立一张请求打印表。如果打印机空闲,输出进程将从请求打印队列的队首取出一张请求打印表,根据表中的要求将要打印的数据从输出井取出,由打印机进行打印。打印完成后,输出进程再查看请求打印队列中是否还有等待打印的请求表。若有,又取出第一张表,并根据其中的要求进行打印,如此下去,直至请求队列为空为止,输出进程才将自己停止工作,直到下次再有打印请求是才被唤醒继续工作。第28页,此课件共33页哦*29I/OI/O控制控制 方式方式n一、循环测试I/O方式n早期的设备控制方式采用。n二、I/O中断方式n 为了提高CPU和设备的利用率,就应使CPU与设备并行工作,采用I/O中断方式。采用这种方式要求控制寄存器中
21、有一个中断位。CPU通过通过IO控制器与物理设备打交道,按控制器与物理设备打交道,按IO控制器控制器智能化高低将智能化高低将IO设备分类。设备分类。第29页,此课件共33页哦*30I/O控制功能控制功能n控制设备I/O工作的核心模块通常称为设备驱动程序。它包括三个方面的功能:n1.解释用户I/O命令n2.设备驱动n3.中断处理第30页,此课件共33页哦*31n不论是哪种设备驱动程序,它的功能是相同的,n接受用户的I/O请求命令,并把用户的请求转换成I/O请求块,挂到相应设备的I/O请求队列。n每类设备有一个I/O请求队列,在系统初始化时,将系统中所有设备的I/O请求队列置为空。n在系统初启时,系统为每类设备创建一个进程,执行程序就是该设备的设备驱动程序。由于系统初启时,相应的I/O请求队列为空,则在该队列上等待。第31页,此课件共33页哦*32n一旦有I/O请求块挂入,唤醒该设备驱动进程。它被调度到时,从队列中取出一个I/O请求块,并按该块的内容执行一次I/O操作,发出I/O完成(或出错)中断信号。然后,检查请求队列,若为空,则进入睡眠状态,否则,取下一个请求块。第32页,此课件共33页哦*33nI/O控制接口程序n可把逻辑设备映射为相应的物理设备n可检查提供它的参数的正确性n可启动所需要的服务输入输出控制接口程序输入输出控制接口程序第33页,此课件共33页哦