资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五章 设 备 管 理,第五章 设备管理,5.1 I/O,系统,5.2 I/O,控制方式,5.3,缓冲管理,5.4,设备分配,5.5,设备处理,5.6,磁盘存储器管理,5.1 I/O,系 统,5.1.1 I/O,设备,1. I/O,设备的类型,1),按传输速率分类,按传输速度的高低,可将,I/O,设备分为三类。第一类是低速设备,这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。属于低速设备的典型设备有键盘、 鼠标器、语音的输入和输出等设备。第二类是中速设备,这是指其传输速率在每秒钟数千个字节至数万个字节的一类设备。典型的中速设备有行式打印机、激光打印机等。第三类是高速设备, 这是指其传输速率在数百千个字节至数十兆字节的一类设备。 典型的高速设备有磁带机、 磁盘机、 光盘机等。,2),按信息交换的单位分类,可将,I/O,设备分成两类。第一类是块设备,(Block Device),,这类设备用于存储信息。 由于信息的存取总是以数据块为单位, 故而得名。 它属于有结构设备。典型的块设备是磁盘,每个盘块的大小为,512 B4 KB,。磁盘设备的基本特征是其传输速率较高,通常每秒钟为几兆位;另一特征是可寻址,即对它可随机地读,/,写任一块;此外,磁盘设备的,I/O,常采用,DMA,方式。 第二类是字符设备,(Character Device),,用于数据的输入和输出。 其基本单位是字符, 故称为字符设备。,3),按设备的共享属性分类,这种分类方式可将,I/O,设备分为如下三类:,独占设备。,(2),共享设备。,(3),虚拟设备。,2.,设备与控制器之间的接口,图,5-1,设备与控制器间的接口,5.1.2,设备控制器,1.,设备控制器的基本功能,接收和识别命令,2),数据交换,3),标识和报告设备的状态,4),地址识别,5),数据缓冲,6),差错控制,2.,设备控制器的组成,图,5-2,设备控制器的组成,5.1.3 I/O,通道,1. I/O,通道,(I/O Channel),设备的引入,实际上,,I/O,通道是一种特殊的处理机。它具有执行,I/O,指令的能力,并通过执行通道,(I/O),程序来控制,I/O,操作。但,I/O,通道又与一般的处理机不同,主要表现在以下两个方面:,一是其指令类型单一,这是由于通道硬件比较简单, 其所能执行的命令,主要局限于与,I/O,操作有关的指令; 再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的, 换言之,是通道与,CPU,共享内存。,2.,通道类型,1),字节多路通道,(Byte Multiplexor Channel),图,5-3,字节多路通道的工作原理,2),数组选择通道,(Block Selector Channel),字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序, 控制一台设备进行数据传送, 致使当某台设备占用了该通道后,便一直由它独占, 即使是它无数据传送,通道被闲置, 也不允许其它设备使用该通道, 直至该设备传送完毕释放该通道。可见,这种通道的利用率很低。,3),数,组,组,多,多,路,路,通,通,道,道,(BlockMultiplexorChannel),数,组,组,选,选,择,择,通,通,道,道,虽,虽,有,有,很,很,高,高,的,的,传,传,输,输,速,速,率,率,,,,,但,但,它,它,却,却,每,每,次,次,只,只,允,允,许,许,一,一,个,个,设,设,备,备,传,传,输,输,数,数,据,据,。,。,数,数,组,组,多,多,路,路,通,通,道,道,是,是,将,将,数,数,组,组,选,选,择,择,通,通,道,道,传,传,输,输,速,速,率,率,高,高,和,和,字,字,节,节,多,多,路,路,通,通,道,道,能,能,使,使,各,各,子,子,通,通,道,道,(,设,备,备,),分,时,时,并,并,行,行,操,操,作,作,的,的,优,优,点,点,相,相,结,结,合,合,而,而,形,形,成,成,的,的,一,一,种,种,新,新,通,通,道,道,。,。,它,它,含,含,有,有,多,多,个,个,非,非,分,分,配,配,型,型,子,子,通,通,道,道,,,,,因,因,而,而,这,这,种,种,通,通,道,道,既,既,具,具,有,有,很,很,高,高,的,的,数,数,据,据,传,传,输,输,速,速,率,率,,,,,又,又,能,能,获,获,得,得,令,令,人,人,满,满,意,意,的,的,通,通,道,道,利,利,用,用,率,率,。,。,也,也,正,正,因,因,此,此,,,,,才,才,使,使,该,该,通,通,道,道,能,能,被,被,广,广,泛,泛,地,地,用,用,于,于,连,连,接,接,多,多,台,台,高,高,、,、,中,中,速,速,的,的,外,外,围,围,设,设,备,备,,,,,其,其,数,数,据,据,传,传,送,送,是,是,按,按,数,数,组,组,方,方,式,式,进,进,行,行,的,的,。,。,3.,“,“,瓶,颈,颈,”,”,问,问,题,题,图,5-4,单,通,通,路,路,I/O,系,统,统,图,5-5,多,通,通,路,路,I/O,系,统,统,5.1.4,总,线,线,系,系,统,统,图,5-6,总,线,线,型,型,I/O,系,统,统,结,结,构,构,1.ISA,和,EISA,总,线,线,1)ISA(IndustryStandardArchitecture),总,线,线,这,是,是,为,为,了,了,1984,年,推,推,出,出,的,的,80286,型,微,微,机,机,而,而,设,设,计,计,的,的,总,总,线,线,结,结,构,构,。,。,其,其,总,总,线,线,的,的,带,带,宽,宽,为,为,8,位,,,,,最,最,高,高,传,传,输,输,速,速,率,率,为,为,2Mb/s,。,之,之,后,后,不,不,久,久,又,又,推,推,出,出,了,了,16,位,的,的,(EISA),总,线,线,,,,,其,其,最,最,高,高,传,传,输,输,速,速,率,率,为,为,8Mb/s,,,后,后,又,又,升,升,至,至,16Mb/s,,,能,能,连,连,接,接,12,台,设,设,备,备,。,。,2)EISA(ExtendedISA),总,线,线,到,80,年,代,代,末,末,期,期,,,,,ISA,总,线,线,已,已,难,难,于,于,满,满,足,足,带,带,宽,宽,和,和,传,传,输,输,速,速,率,率,的,的,要,要,求,求,,,,,于,于,是,是,人,人,们,们,又,又,开,开,发,发,出,出,扩,扩,展,展,ISA(EISA),总,线,线,,,,,其,其,带,带,宽,宽,为,为,32,位,,,,,总,总,线,线,的,的,传,传,输,输,速,速,率,率,高,高,达,达,32Mb/s,,,同,同,样,样,可,可,以,以,连,连,接,接,12,台,外,外,部,部,设,设,备,备,。,。,2.,局,部,部,总,总,线,线,(LocalBus),VESA(VideoElectronicStandardAssociation),总,线,线,2)PCI(PeripheralComponentInterface),总,线,线,5.2I/O,控,制,制,方,方,式,式,5.2.1,程,序,序,I/O,方,式,式,在,程,程,序,序,I/O,方,式,式,中,中,,,,,由,由,于,于,CPU,的,高,高,速,速,性,性,和,和,I/O,设,备,备,的,的,低,低,速,速,性,性,,,,,致,致,使,使,CPU,的,绝,绝,大,大,部,部,分,分,时,时,间,间,都,都,处,处,于,于,等,等,待,待,I/O,设,备,备,完,完,成,成,数,数,据,据,I/O,的,循,循,环,环,测,测,试,试,中,中,,,,,造,造,成,成,对,对,CPU,的,极,极,大,大,浪,浪,费,费,。,。,在,在,该,该,方,方,式,式,中,中,,,,,CPU,之,所,所,以,以,要,要,不,不,断,断,地,地,测,测,试,试,I/O,设,备,备,的,的,状,状,态,态,,,,,就,就,是,是,因,因,为,为,在,在,CPU,中,无,无,中,中,断,断,机,机,构,构,,,,,使,使,I/O,设,备,备,无,无,法,法,向,向,CPU,报,告,告,它,它,已,已,完,完,成,成,了,了,一,一,个,个,字,字,符,符,的,的,输,输,入,入,操,操,作,作,。,。,图,5-7,程,序,序,I/O,和,中,中,断,断,驱,驱,动,动,方,方,式,式,的,的,流,流,程,程,5.2.2,中,断,断,驱,驱,动,动,I/O,控,制,制,方,方,式,式,在,I/O,设,备,备,输,输,入,入,每,每,个,个,数,数,据,据,的,的,过,过,程,程,中,中,,,,,由,由,于,于,无,无,须,须,CPU,干,预,预,,,,,因,因,而,而,可,可,使,使,CPU,与,I/O,设,备,备,并,并,行,行,工,工,作,作,。,。,仅,仅,当,当,输,输,完,完,一,一,个,个,数,数,据,据,时,时,,,,,才,才,需,需,CPU,花费极,短,短的时,间,间去做,些,些中断,处,处理。,可,可见,,这,这样可,使,使,CPU,和,I/O,设备都,处,处于忙,碌,碌状态,,,,从而,提,提高了,整,整个系,统,统的资,源,源利用,率,率及吞,吐,吐量。,例,例如,,从,从终端,输,输入一,个,个字符,的,的时间,约,约为,100ms,, 而,将,将字符,送,送入终,端,端缓冲,区,区的时,间,间小于,0.1ms,。 若,采,采用程,序,序,I/O,方式,,CPU,约有,99.9 ms,的时间,处,处于忙,等待中,。,。 采,用,用中断,驱,驱动方,式,式后,,CPU,可利用,这,这,99.9 ms,的时间,去,去做其,它,它事情,,,,而仅,用,用,0.1ms,的时间,来,来处理,由,由控制,器,器发来,的,的中断,请,请求。,可,可见,,,,中断,驱,驱动方,式,式可以,成,成百倍,地,地提高,CPU,的利用,率,率。,5.2.3,直接存,储,储器访,问,问,DMAI/O,控制方,式,式,1.DMA(Direct MemoryAccess),控制方,式,式的引,入,入,该方式,的,的特点,是,是:,数,数据,传,传输的,基,基本单,位,位是数,据,据块,,即,即在,CPU,与,I/O,设备之,间,间,每,次,次传送,至,至少一,个,个数据,块,块;,所,所传,送,送的数,据,据是从,设,设备直,接,接送入,内,内存的,,,,或者,相,相反;,仅,仅在传,送,送一个,或,或多个,数,数据块,的,的开始,和,和结束,时,时,才,需,需,CPU,干预,,整,整块数,据,据的传,送,送是在,控,控制器,的,的控制,下,下完成,的,的。可,见,见,,DMA,方式较,之,之中断,驱,驱动方,式,式,又,是,是成百,倍,倍地减,少,少了,CPU,对,I/O,的干预,,,,进一,步,步提高,了,了,CPU,与,I/O,设备的,并,并行操,作,作程度,。,。,2.DMA,控制器,的,的组成,图,5-8DMA,控制器,的,的组成,为了实,现,现在主,机,机与控,制,制器之,间,间成块,数,数据的,直,直接交,换,换,,必,必须在,DMA,控制器,中,中设置,如,如下四,类,类寄存,器,器:,(1),命令,/,状态寄,存,存器,CR,。用于,接,接收从,CPU,发来的,I/O,命令或,有,有关控,制,制信息,,,, 或,设,设备的,状,状态。,(2),内存地,址,址寄存,器,器,MAR,。在输,入,入时,,它,它存放,把,把数据,从,从设备,传,传送到,内,内存的,起,起始目,标,标地址,;,;在输,出,出时,,它,它存放,由,由内存,到,到设备,的,的内存,源,源地址,。,。,(3),数据寄,存,存器,DR,。用于,暂,暂存从,设,设备到,内,内存,,或,或从内,存,存到设,备,备的数,据,据。,(4),数据计,数,数器,DC,。 存,放,放本次,CPU,要读或,写,写的字,(,节,),数。,3.DMA,工作过,程,程,图,5-9DMA,方式的,工,工作流,程,程,5.2.4I/O,通道控,制,制方式,1.I/O,通道控,制,制方式,的,的引入,I/O,通道方,式,式是,DMA,方式的,发,发展,,它,它可进,一,一步减,少,少,CPU,的干预,,,,即把,对,对一个,数,数据块,的,的读,(,或写,),为单位,的,的干预,,,,减少,为,为对一,组,组数据,块,块的读,(,或写,),及有关,的,的控制,和,和管理,为,为单位,的,的干预,。,。 同,时,时,又,可,可实现,CPU,、通道,和,和,I/O,设备三,者,者的并,行,行操作,,,,从而,更,更有效,地,地提高,整,整个系,统,统的资,源,源利用,率,率。例,如,如,当,CPU,要完成,一,一组相,关,关的读,(,或写,),操作及,有,有关控,制,制时,,只,只需向,I/O,通道发,送,送一条,I/O,指令,,以,以给出,其,其所要,执,执行的,通,通道程,序,序的首,址,址和要,访,访问的,I/O,设备,,通,通道接,到,到该指,令,令后,,通,通过执,行,行通道,程,程序便,可,可完成,CPU,指定的,I/O,任务。,2.,通道程,序,序,操作码,。,。,(2),内存地,址,址。,(3),计数。,(4),通道程,序,序结束,位,位,P,。,(5),记录结,束,束标志,R,。,操作,P,R,计数,内存地址,WRITE,0,0,80,813,WRITE,0,0,140,1034,WRITE,0,1,60,5830,WRITE,0,1,300,2000,WRITE,0,0,250,1850,WRITE,1,1,250,720,5.3,缓,冲,冲,管,管,理,理,5.3.1,缓冲的,引,引入,缓和,CPU,与,I/O,设备间,速,速度不,匹,匹配的,矛,矛盾。,(2),减少对,CPU,的中断,频,频率,,放,放宽,对,对,CPU,中断响,应,应时间,的,的限制,。,。,(3),提高,CPU,和,I/O,设备之,间,间的并,行,行性。,图,5-10,利用缓,冲,冲寄存,器,器实现,缓,缓冲,5.3.2,单缓冲,和,和双缓,冲,冲,1.,单缓冲,(Single Buffer),图,5-11,单缓冲,工,工作示,意,意图,2.,双缓冲,(Double Buffer),图,5-12,双缓冲,工,工作示,意,意图,图,5-13,双机通信时,缓,缓冲区的设,置,置,5.3.3,循环缓冲,1.,循环缓冲的,组,组成,图,5-14,循环缓冲,2.,循环缓冲区,的,的使用,Getbuf,过程。,(2) Releasebuf,过程。,3.,进程同步,Nexti,指针追赶上,Nextg,指针。,(2) Nextg,指针追赶上,Nexti,指针。,5.3.4,缓冲池,(Buffer Pool),1.,缓冲池的组,成,成,1.,缓冲池的组,成,成,对于既可用,于,于输入又可,用,用于输出的,公,公用缓冲池,,,, 其中至,少,少应含有以,下,下三种类型,的,的缓冲区:, 空,(,闲,),缓冲区;, 装满输,入,入数据的缓,冲,冲区; ,装,装满输出,数,数据的缓冲,区,区。 为了,管,管理上的方,便,便,可将相,同,同类型的缓,冲,冲区链成一,个,个队列,于,是,是可形成以,下,下三个队列,:,:,(,1,)空缓冲队,列,列,emq,。,(2),输入队列,inq,。,(3),输出队列,outq,。,2. Getbuf,过程和,Putbuf,过程,ProcedureGetbuf(type),begin,Wait(RS(type);,Wait(MS(type);,B(number),KG-*3=Takebuf(type);,Signal(MS(type);,end,ProcedurePutbuf(type, number),begin,Wait(MS(type);,Addbuf(type, number);,Signal(MS(type);,Signal(RS(type);,end,3.,缓冲区的工,作,作方式,图,5-15,缓冲区的工,作,作方式,5.4,设 备,分,分 配,5.4.1,设备分配中,的,的数据结构,1.,设备控制表,DCT,图,5-16,设备控制表,2.,控制器控制,表,表、 通道,控,控制表和系,统,统设备表,图,5-17COCT,、,CHCT,和,SDT,表,5.4.2,设备分配时,应,应考虑的因,素,素,1.,设备的固有,属,属性,独享设备。,(2),共享设备。,(3),虚拟设备。,2.,设备分配算,法,法,先来先服务,。,。,(2),优先级高者,优,优先。,3.,设备分配中,的,的安全性,安全分配方,式,式,2),不安全分配,方,方式,5.4.3,设备独立性,1.,设备独立性,(Device Independence),的概念,为了提高,OS,的可适应性,和,和可扩展性,,,,在现代,OS,中都毫无,例,例外地实,现,现了设备,独,独立性,,也,也称为设,备,备无关性,。,。 其基,本,本含义是,:,: 应用,程,程序独立,于,于具体使,用,用的物理,设,设备。为,了,了实现设,备,备独立性,而,而引入了,逻,逻辑设备,和,和物理设,备,备这两个,概,概念。在,应,应用程序,中,中, 使,用,用逻辑设,备,备名称来,请,请求使用,某,某类设备,;,;而系统,在,在实际执,行,行时,,还,还必须使,用,用物理设,备,备名称。,因,因此,系,统,统须具有,将,将逻辑设,备,备名称转,换,换为某物,理,理设备名,称,称的功能,,,,这非常,类,类似于存,储,储器管理,中,中所介绍,的,的逻辑地,址,址和物理,地,地址的概,念,念。,在实现了,设,设备独立,性,性的功能,后,后, 可,带,带来以下,两,两方面的,好,好处。,1),设备分配,时,时的灵活,性,性,2),易于实现,I/O,重定向,2.,设备独立,性,性软件,1),执行所有,设,设备的公,有,有操作,这些公有,操,操作包括,:,: 对,独,独立设备,的,的分配与,回,回收;, 将逻,辑,辑设备名,映,映射为物,理,理设备名,,,,进一步,可,可以找到,相,相应物理,设,设备的驱,动,动程序;, 对,设,设备进行,保,保护,禁,止,止用户直,接,接访问设,备,备; ,缓,缓冲管,理,理,即对,字,字符设备,和,和块设备,的,的缓冲区,进,进行有效,的,的管理,,以,以提高,I/O,的效率;, 差错,控,控制。由,于,于在,I/O,操作中的,绝,绝大多数,错,错误都与,设,设备无关,,,,故主要,由,由设备驱,动,动程序处,理,理,而设,备,备独立性,软,软件只处,理,理那些设,备,备驱动程,序,序无法处,理,理的错误,。,。,2),向用户层,(,或文件层,),软件提供,统,统一接口,无论何种,设,设备,,它,它们向用,户,户所提供,的,的接口应,该,该是相同,的,的。 例,如,如, 对,各,各种设备,的,的读操作,,,,在应用,程,程序中都,使,使用,read;,而,对,对,各,各,种,种,设,设,备,备,的,的,写,写,操,操,作,作,,,,,也,也,都,都,使,使,用,用,write,。,3.,逻,辑,辑,设,设,备,备,名,名,到,到,物,物,理,理,设,设,备,备,名,名,映,映,射,射,的,的,实,实,现,现,逻,辑,辑,设,设,备,备,表,表,2)LUT,的,设,设,置,置,问,问,题,题,图,5-18,逻,辑,辑,设,设,备,备,表,表,5.4.4,独,占,占,设,设,备,备,的,的,分,分,配,配,程,程,序,序,1.,基,本,本,的,的,设,设,备,备,分,分,配,配,程,程,序,序,分,配,配,设,设,备,备,2),分,配,配,控,控,制,制,器,器,3),分,配,配,通,通,道,道,2.,设,备,备,分,分,配,配,程,程,序,序,的,的,改,改,进,进,增,加,加,设,设,备,备,的,的,独,独,立,立,性,性,2),考,虑,虑,多,多,通,通,路,路,情,情,况,况,5.4.5SPOOLing,技,术,术,1.,什,么,么,是,是,SPOOLing,为,了,了,缓,缓,和,和,CPU,的,高,高,速,速,性,性,与,与,I/O,设,备,备,低,低,速,速,性,性,间,间,的,的,矛,矛,盾,盾,而,而,引,引,入,入,了,了,脱,脱,机,机,输,输,入,入,、,、,脱,脱,机,机,输,输,出,出,技,技,术,术,。,。,该,该,技,技,术,术,是,是,利,利,用,用,专,专,门,门,的,的,外,外,围,围,控,控,制,制,机,机,,,,,将,将,低,低,速,速,I/O,设,备,备,上,上,的,的,数,数,据,据,传,传,送,送,到,到,高,高,速,速,磁,磁,盘,盘,上,上,;,;,或,或,者,者,相,相,反,反,。,。,事,事,实,实,上,上,,,,,当,当,系,系,统,统,中,中,引,引,入,入,了,了,多,多,道,道,程,程,序,序,技,技,术,术,后,后,,,,,完,完,全,全,可,可,以,以,利,利,用,用,其,其,中,中,的,的,一,一,道,道,程,程,序,序,,,,,来,来,模,模,拟,拟,脱,脱,机,机,输,输,入,入,时,时,的,的,外,外,围,围,控,控,制,制,机,机,功,功,能,能,,,,,把,把,低,低,速,速,I/O,设,备,备,上,上,的,的,数,数,据,据,传,传,送,送,到,到,高,高,速,速,磁,磁,盘,盘,上,上,;,;,再,再,用,用,另,另,一,一,道,道,程,程,序,序,来,来,模,模,拟,拟,脱,脱,机,机,输,输,出,出,时,时,外,外,围,围,控,控,制,制,机,机,的,的,功,功,能,能,,,,,把,把,数,数,据,据,从,从,磁,磁,盘,盘,传,传,送,送,到,到,低,低,速,速,输,输,出,出,设,设,备,备,上,上,。,。,这,这,样,样,,,,,便,便,可,可,在,在,主,主,机,机,的,的,直,直,接,接,控,控,制,制,下,下,,,,,实,实,现,现,脱,脱,机,机,输,输,入,入,、,、,输,输,出,出,功,功,能,能,。,。,此,此,时,时,的,的,外,外,围,围,操,操,作,作,与,与,CPU,对,数,数,据,据,的,的,处,处,理,理,同,同,时,时,进,进,行,行,,,,,我,我,们,们,把,把,这,这,种,种,在,在,联,联,机,机,情,情,况,况,下,下,实,实,现,现,的,的,同,同,时,时,外,外,围,围,操,操,作,作,称,称,为,为,SPOOLing(SimultaneausPeriphernalOperatingOn-Line),,,或,或,称,称,为,为,假,假,脱,脱,机,机,操,操,作,作,。,。,2.SPOOLing,系,统,统,的,的,组,组,成,成,图,5-19SPOOLing,系,统,统,的,的,组,组,成,成,3.,共,享,享,打,打,印,印,机,机,共,享,享,打,打,印,印,机,机,技,技,术,术,已,已,被,被,广,广,泛,泛,地,地,用,用,于,于,多,多,用,用,户,户,系,系,统,统,和,和,局,局,域,域,网,网,络,络,中,中,。,。,当,当,用,用,户,户,进,进,程,程,请,请,求,求,打,打,印,印,输,输,出,出,时,时,,,,,SPOOLing,系,统,统,同,同,意,意,为,为,它,它,打,打,印,印,输,输,出,出,,,,,但,但,并,并,不,不,真,真,正,正,立,立,即,即,把,把,打,打,印,印,机,机,分,分,配,配,给,给,该,该,用,用,户,户,进,进,程,程,,,,,而,而,只,只,为,为,它,它,做,做,两,两,件,件,事,事,:,:,由,由,输,输,出,出,进,进,程,程,在,在,输,输,出,出,井,井,中,中,为,为,之,之,申,申,请,请,一,一,个,个,空,空,闲,闲,磁,磁,盘,盘,块,块,区,区,,,,,并,并,将,将,要,要,打,打,印,印,的,的,数,数,据,据,送,送,入,入,其,其,中,中,;,;,输,输,出,出,进,进,程,程,再,再,为,为,用,用,户,户,进,进,程,程,申,申,请,请,一,一,张,张,空,空,白,白,的,的,用,用,户,户,请,请,求,求,打,打,印,印,表,表,,,,,并,并,将,将,用,用,户,户,的,的,打,打,印,印,要,要,求,求,填,填,入,入,其,其,中,中,,,,,再,再,将,将,该,该,表,表,挂,挂,到,到,请,请,求,求,打,打,印,印,队,队,列,列,上,上,。,。,4.SPOOLing,系,统,统,的,的,特,特,点,点,提,高,高,了,了,I/O,的,速,速,度,度,。,。,(2),将独,占,占设,备,备改,造,造为,共,共享,设,设备,。,。,(3),实现,了,了虚,拟,拟设,备,备功,能,能。,5.5,设,备,备,处,处,理,理,5.5.1,设备,驱,驱动,程,程序,的,的功,能,能和,特,特点,1.,设备,驱,驱动,程,程序,的,的功,能,能,(1),接收,由,由,I/O,进程,发,发来,的,的命,令,令和,参,参数,,,,,并,并将,命,命令,中,中的,抽,抽象,要,要求,转,转换,为,为具,体,体要,求,求,,例,例如,,,,将,磁,磁盘,块,块号,转,转换,为,为磁,盘,盘的,盘,盘面,、,、,磁,磁道,号,号及,扇,扇区,号,号。,(2),检查,用,用户,I/O,请求,的,的合,法,法性,,,,了,解,解,I/O,设备,的,的状,态,态,,传,传递,有,有关,参,参数,,,,设,置,置设,备,备的,工,工作,方,方式,。,。,(3),发出,I/O,命令,,,,如,果,果设,备,备空,闲,闲,,便,便立,即,即启,动,动,I/O,设备,去,去完,成,成指,定,定的,I/O,操作,;,;如,果,果设,备,备处,于,于忙,碌,碌状,态,态,,则,则将,请,请求,者,者的,请,请求,块,块挂,在,在设,备,备队,列,列上,等,等待,。,。,(4),及时,响,响应,由,由控,制,制器,或,或通,道,道发,来,来的,中,中断,请,请求,,,,并,根,根据,其,其中,断,断类,型,型调,用,用相,应,应的,中,中断,处,处理,程,程序,进,进行,处,处理,。,。,(5),对于,设,设置,有,有通,道,道的,计,计算,机,机系,统,统,,驱,驱动,程,程序,还,还应,能,能够,根,根据,用,用户,的,的,I/O,请求,,,,自,动,动地,构,构成,通,通道,程,程序,。,。,2.,设备,处,处理,方,方式,(1),为每,一,一类,设,设备,设,设置,一,一个,进,进程,,,,专,门,门用,于,于执,行,行这,类,类设,备,备的,I/O,操作,.,(2),在整,个,个系,统,统中,设,设置,一,一个,I/O,进程,,,,专,门,门用,于,于执,行,行系,统,统中,所,所有,各,各类,设,设备,的,的,I/O,操作,。,。,(3),不设,置,置专,门,门的,设,设备,处,处理,进,进程,,,,而,只,只为,各,各类,设,设备,设,设置,相,相应,的,的设,备,备处,理,理程,序,序,(,模块,),,,供,供用,户,户进,程,程或,系,系统,进,进程,调,调用,。,。,3.,设备,驱,驱动,程,程序,的,的特,点,点,(1),驱动,程,程序,主,主要,是,是指,在,在请,求,求,I/O,的进,程,程与,设,设备,控,控制,器,器之,间,间的,一,一个,通,通信,和,和转,换,换程,序,序。,(2),驱动,程,程序,与,与设,备,备控,制,制器,和,和,I/O,设备,的,的硬,件,件特,性,性紧,密,密相,关,关,,因,因,而,而对,不,不同,类,类型,的,的设,备,备应,配,配置,不,不同,的,的驱,动,动程,序,序。,(3),驱动,程,程序,与,与,I/O,设备,所,所采,用,用的,I/O,控制,方,方式,紧,紧密,相,相关,。,。,(4),由于,驱,驱动,程,程序,与,与硬,件,件紧,密,密相,关,关,,因,因,而,而其,中,中的,一,一部,分,分必,须,须用,汇,汇编,语,语言,书,书写,。,。,5.5.2,设备,驱,驱动,程,程序,的,的处,理,理过,程,程,将抽,象,象要,求,求转,换,换为,具,具体,要,要求,2.,检查,I/O,请求,的,的合,法,法性,3.,读出,和,和检,查,查设,备,备的,状,状态,4.,传送,必,必要,的,的参,数,数,5.,工作,方,方式,的,的设,置,置,6.,启动,I/O,设备,图,5-20,中断,现,现场,保,保护,示,示意,图,图,图,5-21,中断,处,处理,流,流程,5.6,磁盘,存,存储,器,器管,理,理,5.6.1,磁盘,性,性能,简,简述,1.,数据,的,的组,织,织和,格,格式,图,5-22,磁盘,的,的格,式,式化,2.,磁盘,的,的类,型,型,1),固定,头,头磁,盘,盘,这种,磁,磁盘,在,在每,条,条磁,道,道上,都,都有,一,一读,/,写磁,头,头,,所,所有,的,的磁,头,头都,被,被装,在,在一,刚,刚性,磁,磁臂,中,中。,通,通过,这,这些,磁,磁头,可,可访,问,问所,有,有各,磁,磁道,,,,并,进,进行,并,并行,读,读,/,写,,有,有效,地,地提,高,高了,磁,磁盘,的,的,I/O,速度,。,。,这,这种,结,结构,的,的磁,盘,盘主,要,要用,于,于大,容,容量,磁,磁盘,上,上。,2),移动,头,头磁,盘,盘,每一,个,个盘,面,面仅,配,配有,一,一个,磁,磁头,,,,也,被,被装,入,入磁,臂,臂中,。,。为,能,能访,问,问该,盘,盘面,上,上的,所,所有,磁,磁道,,,,该,磁,磁头,必,必须,能,能移,动,动以,进,进行,寻,寻道,。,。可,见,见,,移,移动,磁,磁头,仅,仅能,以,以串,行,行方,式,式读,/,写,,致,致使,其,其,I/O,速度,较,较慢,;,;但,由,由于,其,其结,构,构简,单,单,,故,故,仍,仍广,泛,泛应,用,用于,中,中小,型,型磁,盘,盘设,备,备中,。,。,3.,磁盘,访,访问,时,时间,1),寻道,时,时间,T,s,这是,指,指把,磁,磁臂,(,磁头,),移动,到,到指,定,定磁,道,道上,所,所经,历,历的,时,时间,。,。该,时,时间,是,是启,动,动磁,臂,臂的,时,时间,s,与磁,头,头移,动,动,n,条磁,道,道所,花,花费,的,的时,间,间之,和,和,,即,即,T,s,=,m,n,+,s,其中,,,,,m,是一,常,常数,,,,与,磁,磁盘,驱,驱动,器,器的,速,速度,有,有关,,,,对,一,一般,磁,磁盘,,,,,m,=0.2,;对,高,高速,磁,磁盘,,,,,m,0.1,磁臂,的,的启,动,动时,间,间约,为,为,2ms,。,这,这样,,,,对,一,一般,的,的温,盘,盘,,其,其,寻,寻道,时,时间,将,将随,寻,寻道,距,距离,的,的增,加,加而,增,增大,,,,,大,大体,上,上是,530ms,。,2),旋转延,迟,迟时间,T,这是指,定,定扇区,移,移动到,磁,磁头下,面,面所经,历,历的时,间,间。对,于,于硬盘,,,,典型,的,的旋转,速,速度大,多,多为,5400 r/min,,每转,需,需时,11.1 ms,,平均,旋,旋转延,迟,迟时间,T,为,5.55 ms,;对于,软,软盘,,其,其旋转,速,速度为,300r/min,或,600r/min,,这样,,,,平均,T,为,50100ms,。,3),传输时,间,间,T,t,这是指,把,把数据,从,从磁盘,读,读出或,向,向磁盘,写,写入数,据,据所经,历,历的时,间,间。,T,t,的大小,与,与每次,所,所读,/,写的字,节,节数,b,和旋转,速,速度有,关,关:,其中,,r,为磁盘,每,每秒钟,的,的转数,;,;,N,为一条,磁,磁道上,的,的字节,数,数,,当,当一次,读,读,/,写的字,节,节数相,当,当于半,条,条磁道,上,上的字,节,节数时,,,,,T,t,与,T,相同,,因,因此,,,, 可,将,将访问,时,时间,T,a,表示为,:,:,5.6.2,磁盘调,度,度,1.,先来先,服,服务,FCFS(First-Come, First Served),图,5-23 FCFS,调度算,法,法,2.,最短寻,道,道时间,优,优先,SSTF(Shortest SeekTimeFirst),图,5-24 SSTF,调度算,法,法,3.,扫描,(SCAN),算法,1),进程“,饥,饥饿”,现,现象,SSTF,算法虽,然,然能获,得,得较好,的,的寻道,性,性能,,但,但却,可,可能导,致,致某个,进,进程发,生,生“饥,饿,饿”,(Starvation),现象。,因,因为只,要,要不断,有,有新进,程,程的请,求,求到达,,,, 且,其,其所要,访,访问的,磁,磁道与,磁,磁头当,前,前所在,磁,磁道的,距,距离较,近,近,这,种,种新进,程,程的,I/O,请求必,须,须优先,满,满足。,对,对,SSTF,算法略,加,加修改,后,后所形,成,成的,SCAN,算法,,即,即可,防,防止老,进,进程出,现,现“饥,饿,饿”现,象,象。,2)SCAN,算法,图,5-25 SCAN,调度算,法,法示例,4.,循环扫,描,描,(CSCAN),算法,图,5-26 CSCAN,调度算,法,法示例,5.N-Step-SCAN,和,FSCAN,调度算,法,法,1)N-Step-SCAN,算法,在,SSTF,、,SCAN,及,CSCAN,几种调,度,度算法,中,中,,都,都可能,出,出现磁,臂,臂停留,在,在某处,不,不动的,情,情况,,例,例如,,,,有一,个,个或几,个,个进程,对,对某一,磁,磁道有,较,较高的,访,访问频,率,率,,即,即这个,(,些,),进程反,复,复请求,对,对某一,磁,磁道的,I/O,操作,,从,从而垄,断,断了整,个,个磁盘,设,设备。,我,我们,把,把这一,现,现象称,为,为“磁,臂,臂粘着,”,”,(Armstickiness),。在高,密,密度磁,盘,盘上容,易,易出现,此,此情况,。,。,N,步,SCAN,算法是,将,将磁盘,请,请求队,列,列分成,若,若干个,长,长度为,N,的子队,列,列,磁,盘,盘调度,将,将按,FCFS,算法依,次,次处理,这,这些子,队,队列。,而,而每,处,处理一,个,个队列,时,时又是,按,按,SCAN,算法,,对,对一个,队,队列处,理,理完后,,,,再处,理,理其他,队,队列。,当,当正,在,在处理,某,某子队,列,列时,,如,如果又,出,出现新,的,的磁盘,I/O,请求,,便,便将新,请,请求进,程,程放入,其,其他队,列,列,这,样,样就可,避,避免出,现,现粘着,现,现象。,当,当,N,值取得,很,很大时,,,,会使,N,步扫描,法,法的性,能,能接近,于,于,SCAN,算法的,性,性能;,当,当,N=1,时,,N,步,SCAN,算法便,蜕,蜕化为,FCFS,算法。,2)FSCAN,算法,FSCAN,算法实,质,质上是,N,步,SCAN,算法的,简,简化,,即,即,FSCAN,只将磁,盘,盘请求,队,队列分,成,成两个,子,子队列,。,。一个,是,是由当,前,前所有,请,请求磁,盘,盘,I/O,的进程,形,形成的,队,队列,,由,由磁盘,调,调度按,SCAN,算法进,行,行处理,。,。在扫,描,描期间,,,,将新,出,出现的,所,所有请,求,求磁盘,I/O,的进程,,,, 放,入,入另一,个,个等待,处,处理的,请,请求队,列,列。这,样,样,所,有,有的新,请,请求都,将,将被推,迟,迟到下,一,一次扫,描,描时处,理,理。,5.6.3,磁盘高,速,速缓存,(DiskCache),1.,磁盘高,速,速缓存,的,的形式,是指利,用,用内存,中,中的存,储,储空间,,,,来暂,存,存从磁,盘,盘中读,出,出的一,系,系列盘,块,块中的,信,信息。,因,因此,,这,这里的,高,高速缓,存,存是一,组,组在逻,辑,辑上属,于,于磁盘,,,, 而,物,物理上,是,是驻留,在,在内存,中,中的盘,块,块。高,速,速缓存,在,在内存,中,中可分,成,成两种,形,形式。,第,第一种,是,是在内,存,存中开,辟,辟一个,单,单独的,存,存储空,间,间来作,为,为磁盘,高,高速缓,存,存,其,大,大小是,固,固定的,,,,不会,受,受应用,程,程序多,少,少的影,响,响;第,二,二种是,把,把所有,未,未利用,的,的内存,空,空间变,为,为一个,缓,缓冲池,,,,供请,求,求分页,系,系统和,磁,磁盘,I/O,时,(,作为磁,盘,盘高速,缓,缓存,),共享。,此,此时高,速,速缓存,的,的大小,,,,显然,不,不再是,固,固定的,。,。当磁,盘,盘,I/O,的频繁,程,程度较,高,高时,,该,该缓冲,池,池可能,包,包含更,多,多的内,存,存空间,;,;而在,应,应用程,序,序运行,得,得较多,时,时,该,缓,缓冲池,可,可能只,剩,剩下较,少,少的内,存,存空间,。,。,2.,数据交,付,付方式,系统可,以,以采取,两,两种方,式,式,,将,将数据,交,交付给,请,请求进,程,程:,(1),数据交,付,付。这,是,是直接,将,将高速,缓,缓存中,的,的数据,,,, 传,送,送到请,求,求者进,程,程的内,存,存工作,区,区中。,(2),指针交,付,付。只,将,将指向,高,高速缓,存,存中某,区,区域的,指,指针,,交,交付,给,给请求,者,者进程,。,。,后一种,方,方式由,于,于所传,送,送的数,据,据量少,,,,因而,节,节省了,数,数据从,磁,磁盘高,速,速缓存,存,存储空,间,间到进,程,程的内,存,存工作,区,区的时,3.,置换算,法,法,由于请,求,求调页,中,中的联,想,想存储,器,器与高,速,速缓存,(,磁盘,I/O,中,),的工作,情,情况不,同,同,因,而,而使得,在,在置换,算,算法中,所,所应考,虑,虑的问,题,题也有,所,所差异,。,。因此,,,,现在,不,不少系,统,统在设,计,计其高,速,速缓存,的,的置换,算,算法时,,,,除了,考,考虑到,最,最近最,久,久未使,用,用这一,原,原则外,,,, 还,考,考虑了,以,以下几,点,点:,(1),访问频,率,率。,(2),可预见,性,性。,(3),数据的,一,一致性,。,。,4.,周期性,地,地写回,磁,磁盘,在,UNIX,系统中,专,专门增,设,设了一,个,个修改,(update),程序,,使,使之,在,在后台,运,运行,,该,该程序,周,周期性,地,地调用,一,一个系,统,统调用,SYNC,。该调,用,用的主,要,要功能,是,是强制,性,性地将,所,所有在,高,高速缓,存,存中已,修,修改的,盘,盘块数,据,据写回,磁,磁盘。,一,一般是,把,把两次,调,调用,SYNC,的时间,间,间隔定,为,为,30s,。这样,,,,因系,统,统故障,所,所造成,的,的工作,损,损失不,会,会超过,30s,的劳动,量,量。而,在,在,MS-DOS,中所采,用,用的方,法,法是:,只,只要高,速,速缓存,中,中的某,盘,盘块数,据,据被修,改,改,便,立,立即将,它,它写回,磁,磁盘,,并,并将这,种,种高速,缓,缓存称,为,为“写,穿,穿透、,高,高速缓,存,存”,(write-throughcache),。,MS-DOS,所采用,的,的写回,方,方式,,几,几乎不,会,会造成,数,数据的,丢,丢失,,但,但须,频,频繁地,启,启动磁,盘,盘。,5.6.4,提高磁,盘,盘,I/O,速度的,其,其它方,法,法,提前读,(Read-Ahead),2.,延迟写,3.,优化物,理,理块的,分,分布,4.,虚拟盘,5.6.5,廉价磁,盘,盘冗余,阵,阵列,1.,并行交,叉,叉存取,图,5-27,磁盘并,行,行交叉,存,存取方,式,式,2.RAID,的分级,RAID 0,级。,(2)RAID1,级。,(3)RAID3,级。,(4)RAID5,级。,(5)RAID6,级和,RAID 7,级。,
展开阅读全文