操作系统设备管理课件

上传人:痛*** 文档编号:220236588 上传时间:2023-06-29 格式:PPTX 页数:62 大小:444.33KB
收藏 版权申诉 举报 下载
操作系统设备管理课件_第1页
第1页 / 共62页
操作系统设备管理课件_第2页
第2页 / 共62页
操作系统设备管理课件_第3页
第3页 / 共62页
资源描述:

《操作系统设备管理课件》由会员分享,可在线阅读,更多相关《操作系统设备管理课件(62页珍藏版)》请在装配图网上搜索。

1、第六章 设备管理管理和控制所有的外部设备(I/O设备),是操作系统的主要功能之一。本章介绍:l外部设备分类及控制方式l设备使用方法、I/O子系统的层次结构及缓冲技术l辅存及磁盘请求调度技术6.1 I/O 系系 统统 1、I/O设备的类型设备的类型 1)按传输速率分类按传输速率分类低速设备:低速设备:这是指其传输速率仅为每秒钟几个这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。典型设备有键字节至数百个字节的一类设备。典型设备有键盘、盘、鼠标器、语音的输入和输出等设备。鼠标器、语音的输入和输出等设备。中速设备中速设备:这是指其传输速率在每秒钟数千个:这是指其传输速率在每秒钟数千个字节至数

2、万个字节的一类设备。典型设备有字节至数万个字节的一类设备。典型设备有:行行式打印机、激光打印机等。式打印机、激光打印机等。高速设备高速设备:这是指其传输速率在数百千个字节这是指其传输速率在数百千个字节至数十兆字节的一类设备。至数十兆字节的一类设备。典型的高速设备有典型的高速设备有磁带机、磁带机、磁盘机、磁盘机、光盘机等。光盘机等。2)按信息交换的单位分类按信息交换的单位分类块设备块设备(Block Device),这类设备用于存储信息。,这类设备用于存储信息。由于信息的存取总是以数据块为单位,由于信息的存取总是以数据块为单位,故而得名。故而得名。典型的块设备是磁盘,每个盘块的大小为典型的块设备

3、是磁盘,每个盘块的大小为512 B4 KB。磁盘设备的基本特征是磁盘设备的基本特征是:1)传输速率较高,通常每秒钟为几兆位;传输速率较高,通常每秒钟为几兆位;2)可寻址,即对它可随机地读可寻址,即对它可随机地读/写任一块;写任一块;字符设备字符设备(Character Device),用于数据的输入和,用于数据的输入和输出。输出。其基本单位是字符,其基本单位是字符,故称为字符设备。故称为字符设备。如交互式终端、打印机等。传输速率低。如交互式终端、打印机等。传输速率低。字符设字符设备在备在IO时,常采用中断驱动方式。时,常采用中断驱动方式。3)按设备的共享属性分类按设备的共享属性分类这种分类方式

4、可将这种分类方式可将I/O设备分为如下三类:设备分为如下三类:独占设备独占设备:它是指在一段时间内只允许一个用户:它是指在一段时间内只允许一个用户(进程进程)访问的设备,即临界资源;访问的设备,即临界资源;因而,对多个并发进程而言,应互斥地访问这类设备,因而,对多个并发进程而言,应互斥地访问这类设备,系统一旦把这类设备分配给某进程后,便由该进程独系统一旦把这类设备分配给某进程后,便由该进程独占,直至用完释放,应当注意,独占设备的分配有可占,直至用完释放,应当注意,独占设备的分配有可能引起进程死锁。能引起进程死锁。共享设备共享设备:它是指在一段时间内允许多个进程同时访它是指在一段时间内允许多个进

5、程同时访问的设备,当然,对于每一时刻而言,该类设备仍然问的设备,当然,对于每一时刻而言,该类设备仍然只允许一个进程访问。只允许一个进程访问。虚拟设备虚拟设备:它是指通过虚拟技术将一台独占设备变换它是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户为若干台逻辑设备,供若干个用户(进程进程)同时使用,同时使用,通常把这种经过虚拟技术处理后的设备,称为虚拟设通常把这种经过虚拟技术处理后的设备,称为虚拟设备。备。2.设备控制器(设备控制器(I/OI/O部件部件)设备控制器是计算机中的一个实体,其设备控制器是计算机中的一个实体,其主要职责是控制一个或多个主要职责是控制一个或多个I/OI/O

6、设备,以实设备,以实现现I/OI/O设备与和计算机之间的数据交换。它设备与和计算机之间的数据交换。它是是CPUCPU与与I/OI/O设备的接口,它接收从设备的接口,它接收从CPUCPU发来发来的命令,并去控制的命令,并去控制I/OI/O设备工作。设备工作。操作系统一般只与控制器打交道,而非操作系统一般只与控制器打交道,而非设备本身。设备本身。早期早期CPUCPU是直接控制外部设备的,在引入是直接控制外部设备的,在引入设备控制器之后,设备控制器之后,I/OI/O指令功能加强,才将指令功能加强,才将CPUCPU逐渐从与外设的交互细节中解放出来。逐渐从与外设的交互细节中解放出来。PCIPCI总总线线

7、控控制器制器处理机处理机内存内存显卡显卡外外设设光光盘盘磁磁盘盘IDEIDE总总线线控控制器制器外设控制器外设控制器控控制制器器控控制制器器连接连接CPUCPU、内存、设备控制器和、内存、设备控制器和I/OI/O设备模型设备模型 每个控制器都有一些用来与每个控制器都有一些用来与CPUCPU通讯的通讯的I/OI/O寄存器寄存器。操作系统通过向这些寄存器写命令。操作系统通过向这些寄存器写命令字来实现字来实现I/OI/O功能。功能。键盘键盘060-063060-063硬盘硬盘320 320 32F 32F打印机打印机378 378 37F 37F软盘软盘3F0 3F0 3F7 3F7彩色显示器彩色显

8、示器3D0 3D0 3DF 3DFIBM PCIBM PC的的I/OI/O地址地址6.2 I/O控制方式控制方式 所谓所谓I/O操作的控制方式也就是外围设备操作的控制方式也就是外围设备和内存之间的数据传送控制方式,经历和内存之间的数据传送控制方式,经历了程序直接控制方式,中断控制方式,了程序直接控制方式,中断控制方式,DMA方式和通道方式四种。方式和通道方式四种。它们之间的不同主要在与它们之间的不同主要在与I/O交互过程中交互过程中CPU的干预程度。的干预程度。一、程序直接控制方式一、程序直接控制方式 CPUCPU直接控制直接控制I/OI/O操作的全过程,包括操作的全过程,包括发送发送读写命令

9、、读写命令、传输数据、测试设备状态。传输数据、测试设备状态。设备控制器接收到相应的命令后,将设备控制器接收到相应的命令后,将I/OI/O状态寄存器的相应位置上。随着操作的执状态寄存器的相应位置上。随着操作的执行更改状态位,由行更改状态位,由CPUCPU执行相应指令读取执行相应指令读取I/OI/O完成状态。完成状态。在该方式中,在该方式中,CPUCPU还负责从主存中取出需还负责从主存中取出需要输出的数据,送到设备控制器寄存器;要输出的数据,送到设备控制器寄存器;或从设备控制器寄存器取出输入数据,将或从设备控制器寄存器取出输入数据,将输入数据存入主存。输入数据存入主存。CPUCPU向设备控向设备控

10、制器发读命制器发读命令令读设备控制器读设备控制器状态寄存器状态寄存器检查状态检查状态从设备控制器从设备控制器读字数据到读字数据到CPUCPU寄存器中寄存器中将该字写将该字写入内存入内存未未OKOKOKOK出错出错该块读完?该块读完?OKOK下一下一指令指令未未OKOK缺点:缺点:在这种方式中在这种方式中CPU的大量时间用在了等的大量时间用在了等待输入输出的循环测试上,使主机不能待输入输出的循环测试上,使主机不能充分发挥效率,外设也不能得到合理使充分发挥效率,外设也不能得到合理使用,整个系统效率很低。用,整个系统效率很低。二、中断控制方式二、中断控制方式 CPUCPU向向I/OI/O部件发出命令

11、后,转去做其他有部件发出命令后,转去做其他有用的工作。当用的工作。当I/OI/O部件准备好数据后,利用部件准备好数据后,利用中断通知中断通知CPUCPU,再由,再由CPUCPU完成数据传输。完成数据传输。CPUCPU不必反复测试寄存器状态,节约了时不必反复测试寄存器状态,节约了时间。间。向设备控制向设备控制器发读命令器发读命令读设备控制器读设备控制器状态寄存器状态寄存器检查状态检查状态从设备控制从设备控制器读字数据器读字数据将该字写将该字写入内存入内存OKOK出错处理出错处理该块读完?该块读完?OKOK下一下一指令指令未未OKOK中断中断缺点:缺点:虽然中断的引入改善了中央处理机的利虽然中断的

12、引入改善了中央处理机的利用率,但用率,但I/O操作毕竟还是由操作毕竟还是由CPU控制的,控制的,此时每传输一个字或字符,往往就要做此时每传输一个字或字符,往往就要做一次中断处理,每个字的数据传输都必一次中断处理,每个字的数据传输都必须经过须经过CPU寄存器转发。由此可见,当寄存器转发。由此可见,当I/O设备很多时,设备很多时,CPU可能完全陷入可能完全陷入I/O处理中。处理中。三、三、DMADMA方式方式前两种方式的缺陷:前两种方式的缺陷:I/OI/O的传输速率受的传输速率受CPUCPU测试或中断响应测试或中断响应的速度限制的速度限制 CPUCPU为管理为管理I/OI/O耗费大量时间。耗费大量

13、时间。DMADMA(直接内存存取)(直接内存存取)负责完成整个负责完成整个I/OI/O操操作,无需再经作,无需再经CPUCPU寄存器转发,并在全部传寄存器转发,并在全部传输结束后向输结束后向CPUCPU发中断信号。发中断信号。CPUCPU向向DMADMA部件发送部件发送I/OI/O命令后,即可进行命令后,即可进行其他工作。当传送完成后,其他工作。当传送完成后,DMADMA部件向部件向CPUCPU发发中断信号。因此仅在数据块传送的开始和结中断信号。因此仅在数据块传送的开始和结束涉及到束涉及到CPUCPU。四、通道方式四、通道方式I/OI/O通通道道方方式式是是DMADMA方方式式的的发发展展,它

14、它可可进进一一步步减减少少CPUCPU的的干干预预,即即把把对对一一个个数数据据块块的的读读(或或写写)为为单单位位的的干干预预,减减少少为为对对一一组组数数据据块块的的读读(或或写写)及及有有关关的的控控制制和和管管理理为为单单位位的的干干预预。同同时时,又又可可实实现现CPUCPU、通通道道和和I/OI/O设设备备三三者者的的并并行行操操作作,从从而而更更有有效效地地提提高高整整个个系系统统的的资资源利用率。源利用率。通道又称通道又称I/OI/O处理机,它能完成主存储器处理机,它能完成主存储器和外设之间的信息传输,并与中央处理和外设之间的信息传输,并与中央处理机并行操作。通道技术解决了机并

15、行操作。通道技术解决了I/OI/O操作的操作的独立性和各部件的并行性。独立性和各部件的并行性。通道是一个具有特殊功能的处理器,可通道是一个具有特殊功能的处理器,可以实现对外围设备的统一管理和外围设以实现对外围设备的统一管理和外围设备与内存之间的数据传输。备与内存之间的数据传输。CPUCPU直接控制外部设备直接控制外部设备CPUCPU直接控制设备控制器直接控制设备控制器程序直接控制方式程序直接控制方式中断驱动方式中断驱动方式DMADMA控制方式控制方式I/OI/O通道控制方式通道控制方式输入输出控制方式的发展过程输入输出控制方式的发展过程引入设备控制器引入设备控制器6.3.1 I/O6.3.1

16、I/O层次结构层次结构 通常,操作系统将设备管理系统划分并组织通常,操作系统将设备管理系统划分并组织成四个层次:成四个层次:用户层用户层I/OI/O 设备无关的设备无关的I/OI/O(设备独立性软件)(设备独立性软件)设备驱动程序设备驱动程序 中断处理程序中断处理程序用户层用户层I/OI/O设备驱动及中断处理设备驱动及中断处理硬件硬件系统调用接口,设备无关的操作系统软件系统调用接口,设备无关的操作系统软件 6.3 6.3 设备设备I/OI/O子系统子系统用户进程用户进程用户层用户层I/OI/O设备无关设备无关的的I/OI/O设备驱动及设备驱动及中断处理中断处理硬件硬件设备管理子系统设备管理子系

17、统逻辑结构图逻辑结构图核核心心态态运运行行一、用户层一、用户层I/OI/O 实现与用户交互的接口,用户可直接调实现与用户交互的接口,用户可直接调用在用户层提供的、与用在用户层提供的、与I/O操作有关的库函操作有关的库函数,对设备进行操作数,对设备进行操作。它将所有的设备看作逻辑资源,为用户进它将所有的设备看作逻辑资源,为用户进程提供各类程提供各类I/OI/O函数。用户以设备标识符和函数。用户以设备标识符和一些简单的函数来使用设备,如打开、关闭、一些简单的函数来使用设备,如打开、关闭、读、写等。读、写等。如如C C库中的函数库中的函数open();read();open();read();wri

18、te();close()write();close()等。等。设备相关系统调用简介设备相关系统调用简介申请设备申请设备。该系统调用中有参数说明了。该系统调用中有参数说明了要申请的设备名称,操作系统处理该系要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(是独占还统调用时,会按照设备特性(是独占还是共享式使用)及设备的占用情况来分是共享式使用)及设备的占用情况来分配设备,返回申请是否成功标志。配设备,返回申请是否成功标志。将数据写入设备将数据写入设备。从设备读取数据从设备读取数据。释放设备释放设备。这是申请设备的逆操作。这是申请设备的逆操作。在在UNIXUNIX中,你也可以用如下的系统

19、调用将数中,你也可以用如下的系统调用将数据直接写入软盘中:据直接写入软盘中:fd=open(fd=open(“/dev/fd0/dev/fd0”,O,ORDRW)RDRW);申请软盘,;申请软盘,/dev/fd0/dev/fd0代表软盘代表软盘。iseek(fd,1024,0)iseek(fd,1024,0);将软盘当前;将软盘当前I/OI/O位置定位到位置定位到10241024字节位置。字节位置。write(fd,buffer,36)write(fd,buffer,36);将用户缓冲区;将用户缓冲区bufferbuffer中的中的3636个字节写入软盘个字节写入软盘1024102410591

20、059字节。字节。close(fd)close(fd);释放软盘。;释放软盘。二、设备无关的二、设备无关的I/OI/O(设备独立性软件)(设备独立性软件)设备独立性的概念设备独立性的概念u设备独立性,也称为设备无关性。设备独立性,也称为设备无关性。u其基本含义是:其基本含义是:应用程序独立于具体使用应用程序独立于具体使用的物理设备。的物理设备。I/O系统中有许多不同种类的系统中有许多不同种类的设备,作为程序员,只需要知道如何使用这设备,作为程序员,只需要知道如何使用这些资源来完成所需的操作,而无需了解设备些资源来完成所需的操作,而无需了解设备的有关具体实现细节。的有关具体实现细节。这一层的基本

21、功能:向上层提供统一的这一层的基本功能:向上层提供统一的系统调用接口,对下通过设备驱动程序接口系统调用接口,对下通过设备驱动程序接口调用设备驱动程序。主要任务:调用设备驱动程序。主要任务:设备命名及与设备驱动程序的映射。在设备命名及与设备驱动程序的映射。在UNIXUNIX中,如中,如/dev/fd0/dev/fd0唯一地确定了一个唯一地确定了一个inodeinode数据结构,其中包含了主设备号,通数据结构,其中包含了主设备号,通过主设备号可以找到相应的设备驱动程序。过主设备号可以找到相应的设备驱动程序。统一命名:在系统中对各类设备采取预先统一命名:在系统中对各类设备采取预先设计的、统一的逻辑名

22、称进行命名,所有软设计的、统一的逻辑名称进行命名,所有软件都以逻辑名称访问设备。件都以逻辑名称访问设备。在应用程序中,在应用程序中,使用逻辑设备名称来请使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。因此,系统还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概理中所介绍的逻辑地址和物理地址的概念。念。逻辑设备名逻辑设备名物理设备名物理设备名驱动程序入口地址驱动程序入口地址/d

23、ev/tty31024/dev/printer52046.三、设备驱动程序三、设备驱动程序 设备驱动程序设备驱动程序 包括了所有与设备相关的代码,其功能包括了所有与设备相关的代码,其功能是从与设备无关的软件中接收是从与设备无关的软件中接收I/OI/O请求并执请求并执行。与硬件直接相关,负责具体实现系统对行。与硬件直接相关,负责具体实现系统对设备发出的操作命令,驱动设备发出的操作命令,驱动I/OI/O设备工作的设备工作的驱动程序。驱动程序。中断处理中断处理 用于保存被中断进程的用于保存被中断进程的CPUCPU环境,转环境,转入相应的中断处理程序进行处理,处理入相应的中断处理程序进行处理,处理完后

24、恢复被中断进程的线程后返回被中完后恢复被中断进程的线程后返回被中断进程。中断处理层的主要工作有:进断进程。中断处理层的主要工作有:进行进程上下文的切换,对处理中断信号行进程上下文的切换,对处理中断信号源进行测试,读取设备状态和修改进程源进行测试,读取设备状态和修改进程状态等。状态等。四、中断处理程序四、中断处理程序1、独占式使用设备、独占式使用设备 所谓独占式使用设备是指在一段时间内所谓独占式使用设备是指在一段时间内只允许一个用户(进程)访问的设备。通只允许一个用户(进程)访问的设备。通常以一次设备使用过程为单位使用设备。常以一次设备使用过程为单位使用设备。在申请设备时,如果设备空闲,就将其在

25、申请设备时,如果设备空闲,就将其独占,不再允许其它进程申请使用,一直独占,不再允许其它进程申请使用,一直等到该设备被释放,才允许被其它进程申等到该设备被释放,才允许被其它进程申请使用。请使用。6.3.2.设备的使用方法设备的使用方法2 2、分时共享式使用设备、分时共享式使用设备 独占式使用设备时,设备利用率很低。独占式使用设备时,设备利用率很低。分时共享式设备是指在一段时间内允许分时共享式设备是指在一段时间内允许多个进程同时访问的设备,当然,对于每一多个进程同时访问的设备,当然,对于每一时刻而言,该类设备仍然只允许一个进程访时刻而言,该类设备仍然只允许一个进程访问。问。3、可虚拟设备、可虚拟设

26、备可虚拟设备是指一台物理设备采用虚拟可虚拟设备是指一台物理设备采用虚拟技术后,可变成多台逻辑上的所谓虚拟技术后,可变成多台逻辑上的所谓虚拟设备。设备。一台可虚拟设备是可共享的设备,可以一台可虚拟设备是可共享的设备,可以将它同时分配给多个进程使用,并对这将它同时分配给多个进程使用,并对这些访问该设备的先后次序进行控制。些访问该设备的先后次序进行控制。SPOOLingSPOOLing技术技术SPOOLing SPOOLing 技技术术是是在在批批处处理理操操作作系系统统时时代代引引入入的的,即即所所谓谓假假脱脱机机输输入入输输出出技技术术。把把这这种种技技术术用用于于对对设设备备的的使使用用实实质

27、质就就是是对对输输入入输输出数据成批处理。出数据成批处理。对于有些设备必须进行独占式使用,如打印机,通常往打对于有些设备必须进行独占式使用,如打印机,通常往打印机输出的数据不是独立的字符行,而是一批关联的字符印机输出的数据不是独立的字符行,而是一批关联的字符行。当输出这批关联字符行时,必须独占打印机设备,才行。当输出这批关联字符行时,必须独占打印机设备,才能使关联的字符行打印出来。如果在进程执行中一边生成能使关联的字符行打印出来。如果在进程执行中一边生成输出结果一边调用写打印机系统调用输出,则打印机在独输出结果一边调用写打印机系统调用输出,则打印机在独占期间因为等输出结果而未被充分利用。因此必

28、须避免边占期间因为等输出结果而未被充分利用。因此必须避免边生成边打印,可以将输出数据边生成边写入文件中,文件生成边打印,可以将输出数据边生成边写入文件中,文件相当于虚拟打印设备,待全部输入完成,在独占打印机把相当于虚拟打印设备,待全部输入完成,在独占打印机把文件内容从打印机上打印出来。文件内容从打印机上打印出来。例例如如:同同一一进进程程所所有有输输出出数数据据在在进进程程运运行行时时被被写写到到同同一一文文件件当当中中,文文件件排排到到打打印印输输出出队队列列,打打印印进进程程申申请请占占用用打打印印机机后后,成成批批读读出出文文件件中中数数据据,并并送送打打印印机机打打印印出去。出去。打打

29、印印请请求求队队列列(含含要要打打印印文文件)件)打印打印daemon daemon 进程进程打印机打印机Spooling技术能将(技术能将()改造成可以共享)改造成可以共享的虚拟设备。的虚拟设备。A内存内存 B独占设备独占设备 CCPU DI/O设备设备 虚拟设备:指通过虚拟技术将一台独占虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机共享的逻辑设备。一般可以利用假脱机(SPOOLing)技术实现虚拟设备。)技术实现虚拟设备。Spooling技术可以实现设备的(技术可以实现设备的()分)分配。配。A.独占

30、独占 B.虚拟虚拟 C.物理物理6.3.3.6.3.3.缓冲技术缓冲技术虽然中断、虽然中断、DMADMA和通道控制技术使得系统中设备和和通道控制技术使得系统中设备和设备、设备和设备、设备和CPUCPU等得以并行工作,但是外围设备等得以并行工作,但是外围设备和和CPUCPU的处理速度不匹配的问题是客观存在的。外的处理速度不匹配的问题是客观存在的。外围设备和围设备和CPUCPU处理速度不匹配的问题极大地制约了处理速度不匹配的问题极大地制约了计算机系统性能的进一步提高和限制了系统的应计算机系统性能的进一步提高和限制了系统的应用范围。用范围。例如,当计算进程阵发性地把大批量数据输出到例如,当计算进程阵

31、发性地把大批量数据输出到打印机上打印时,由于打印机上打印时,由于CPUCPU输出数据的速度大大高输出数据的速度大大高于打印机的打印速度,因此,于打印机的打印速度,因此,CPUCPU只好停下来等待。只好停下来等待。反之,在计算进程进行计算时,打印机又因无数反之,在计算进程进行计算时,打印机又因无数据输出而空闲无事。据输出而空闲无事。6.3.3.缓冲技术缓冲技术外围设备与处理机速度不匹配的问题可以采用外围设备与处理机速度不匹配的问题可以采用设置缓冲区的方法解决。设置缓冲区的方法解决。缓冲技术提高缓冲技术提高CPUCPU与与设备之间的并行程度。设备之间的并行程度。在系统主存空间开辟一片区域,将要从外

32、部设在系统主存空间开辟一片区域,将要从外部设备读的数据预先读到这片主存区,将要输出到备读的数据预先读到这片主存区,将要输出到外部设备的数据先写到这片主存区,以后再择外部设备的数据先写到这片主存区,以后再择机写到外部设备。机写到外部设备。在设置了缓冲区之后,计算进程可把数据首先在设置了缓冲区之后,计算进程可把数据首先输出到缓冲区,然后继续执行,而打印机则可输出到缓冲区,然后继续执行,而打印机则可以从缓冲区取出数据慢慢打印。以从缓冲区取出数据慢慢打印。主存速度远高于外部设备,因此缓冲技术的引主存速度远高于外部设备,因此缓冲技术的引入,匹配了外设与入,匹配了外设与CPUCPU之间的处理速度。之间的处

33、理速度。一、单缓冲一、单缓冲 当用户进程发出当用户进程发出I/OI/O请求时,操作系统在请求时,操作系统在主存的系统空间为该操作分配一个缓冲区,主存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写。可以实现预读和滞后写。二、双缓冲二、双缓冲 可以实现用户数据区可以实现用户数据区缓冲区之间交换数缓冲区之间交换数据和缓冲区据和缓冲区外设之间交换数据并行。外设之间交换数据并行。三、循环缓冲三、循环缓冲 引入系统缓冲池,采用有限缓冲区的生产引入系统缓冲池,采用有限缓冲区的生产者者/消费者模型对缓冲池中的缓冲区进行循消费者模型对缓冲池中的缓冲区进行循环使用。环使用。缓冲区结合预读和滞后写技术对具有

34、重复缓冲区结合预读和滞后写技术对具有重复性及阵发性性及阵发性I/OI/O进程提高进程提高I/OI/O速度很有帮助。速度很有帮助。6.4 6.4 存储设备存储设备6.4.1.6.4.1.常见存储外设常见存储外设 磁盘磁盘物理设施物理设施移动臂(动臂)、主轴、盘面、读写移动臂(动臂)、主轴、盘面、读写磁头磁头数据组织数据组织 (一个磁盘由多个盘面组成,盘面由一个磁盘由多个盘面组成,盘面由同心圆磁道组成,磁道由扇区(盘块)同心圆磁道组成,磁道由扇区(盘块)组成,扇区为基本传输单位)组成,扇区为基本传输单位)存取装置存取装置主轴主轴动臂动臂盘面盘面柱面柱面磁道磁道读写头读写头多磁头活动头盘示意图 6.

35、4.2.6.4.2.磁盘调度磁盘调度磁盘地址:台号磁盘地址:台号+柱面号(磁道号)柱面号(磁道号)+盘面号盘面号+扇区号扇区号 读写一次磁盘信息所需的时间可分解为:读写一次磁盘信息所需的时间可分解为:寻找时间、延迟时间、传输时间寻找时间、延迟时间、传输时间寻找时间寻找时间:读写磁头在读写信息之前,必须:读写磁头在读写信息之前,必须首先将磁头移到相应的柱面。磁头这种定位首先将磁头移到相应的柱面。磁头这种定位柱面所花费的时间称为寻找时间。柱面所花费的时间称为寻找时间。延迟时间延迟时间:读写磁头定位于某一个磁道的扇:读写磁头定位于某一个磁道的扇区所需时间称为延迟时间。区所需时间称为延迟时间。传输时间

36、传输时间:数据写入磁盘或从磁盘读出的时:数据写入磁盘或从磁盘读出的时间。间。为提高磁盘传输效率,软件应着重考虑为提高磁盘传输效率,软件应着重考虑减少寻找时间和延迟时间。减少寻找时间和延迟时间。一、减少寻找时间的方法一、减少寻找时间的方法 减少寻找时间是提高磁盘传输效率的关键。减少寻找时间是提高磁盘传输效率的关键。因为因为“寻找时间寻找时间”在几十毫秒时间量级。在几十毫秒时间量级。操作系统磁盘驱动程序可以通过合理调度操作系统磁盘驱动程序可以通过合理调度多道进程对磁盘的访问请求顺序,达到减少多道进程对磁盘的访问请求顺序,达到减少磁盘平均服务时间的目的。磁盘平均服务时间的目的。例如,假设在某一时间,

37、系统中的若干例如,假设在某一时间,系统中的若干进程同时请求下列磁盘地址上的读写操进程同时请求下列磁盘地址上的读写操作作T0:柱面:柱面1,盘面,盘面2,扇区,扇区1;T1:柱面:柱面40,盘面,盘面3,扇区,扇区3;T2:柱面:柱面4,盘面,盘面4,扇区,扇区5;T3:柱面:柱面38,盘面,盘面5,扇区,扇区7.若按照自然的时间顺序访问磁盘,则磁若按照自然的时间顺序访问磁盘,则磁头将在盘面的水平方向为定位在各柱面头将在盘面的水平方向为定位在各柱面来回运动,寻找时间会较长。来回运动,寻找时间会较长。若操作系统对各服务请求顺序进行重新若操作系统对各服务请求顺序进行重新调整,可以减少寻找时间。调整,

38、可以减少寻找时间。调度策略调度策略:FCFSFCFS(先来先服务法)(先来先服务法)SSTFSSTF(最短寻道时间优先法)(最短寻道时间优先法)SCANSCAN调度调度(电梯调度法)电梯调度法)C-SCANC-SCAN调度(单向扫描法)调度(单向扫描法)FCFS调度调度最简单的磁盘调度算法,简单,效果不最简单的磁盘调度算法,简单,效果不好。好。假设磁盘请求队列中所涉及的柱面号假设磁盘请求队列中所涉及的柱面号(磁道号)为(磁道号)为Queue=98,183,37,122,14,124,65,67。磁头的初始位置为。磁头的初始位置为53。SSTF调度调度根据磁头的当前位置,首先选择请求队根据磁头的

39、当前位置,首先选择请求队列中距磁头最短的请求。列中距磁头最短的请求。优点:这个方法极大的改善了磁盘平均优点:这个方法极大的改善了磁盘平均服务时间。服务时间。缺点:可能导致一些请求的缺点:可能导致一些请求的饥饿饥饿,由,由于大量新到的请求可能先服务而推迟服于大量新到的请求可能先服务而推迟服务。务。SCAN调度调度读写磁头从盘的一端开始朝另一端移动,读写磁头从盘的一端开始朝另一端移动,在移动中搜索每个磁道上的请求,若有在移动中搜索每个磁道上的请求,若有则服务之,直至到达盘的另一端。在另则服务之,直至到达盘的另一端。在另一端,磁头移动的方向是相反的,并继一端,磁头移动的方向是相反的,并继续在移动中扫

40、描服务。续在移动中扫描服务。C-SCAN调度调度C-SCAN(Circular-SCAN)同)同SCAN算算法一样,法一样,C-SCAN也将磁头从盘的一端移也将磁头从盘的一端移动到另一端,并在移动中对遇到的请求动到另一端,并在移动中对遇到的请求进行服务。所不同的是当它到达另一端进行服务。所不同的是当它到达另一端时,它马上折回到盘的开始端,然而不时,它马上折回到盘的开始端,然而不对返回路径上的任何请求服务。对返回路径上的任何请求服务。二、减少延迟时间的方法二、减少延迟时间的方法旋转调度:当移动臂定位后,有多个访旋转调度:当移动臂定位后,有多个访问者等待访问该柱面时,应该优先选择问者等待访问该柱面

41、时,应该优先选择延迟时间最短的访问者去执行,这样根延迟时间最短的访问者去执行,这样根据延迟时间来决定执行次序的调度称旋据延迟时间来决定执行次序的调度称旋转调度。转调度。例例:有四个访问有四个访问5号柱面的访问者,它们的号柱面的访问者,它们的访问要求如下:访问要求如下:进行旋转调度后使得它们的执行次序是:进行旋转调度后使得它们的执行次序是:(1),(2),(4),(3),或,或(1),(3),(4),(2)。二、减少延迟时间的方法二、减少延迟时间的方法一般常将盘面扇区交替编号;一般常将盘面扇区交替编号;对磁盘组中的不同盘面错开命名。对磁盘组中的不同盘面错开命名。04157362704136253

42、704625163702514磁盘是连续自转的设备,磁盘机读取一个扇区磁盘是连续自转的设备,磁盘机读取一个扇区后,需要经过短暂的处理时间才能开始读写下后,需要经过短暂的处理时间才能开始读写下一扇区。假设数据连续存放在磁盘中,若在盘一扇区。假设数据连续存放在磁盘中,若在盘面上按扇区交替编号连续存放,则连续读写能面上按扇区交替编号连续存放,则连续读写能减少磁头的延迟时间。减少磁头的延迟时间。习题习题假设对磁盘的请求串为假设对磁盘的请求串为95,180,35,120,10,122,64,68,磁头初始位置,磁头初始位置为为30,试分别画出,试分别画出FCFS,SSTF,SCAN,C-SCAN调度算法的磁头移动轨迹和磁调度算法的磁头移动轨迹和磁头移动的磁道数。头移动的磁道数。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!