1、12nI/O管理是操作系统的主要功能之一,负责管理是操作系统的主要功能之一,负责管理所有管理所有I/O设备。设备。n计算机系统中存在着大量的计算机系统中存在着大量的I/O设备,其性设备,其性能和应用特点可能完全不同,能和应用特点可能完全不同,所以要建立所以要建立一个通用的、一致的设备访问接口,一个通用的、一致的设备访问接口,使用使用户能够方便地使用户能够方便地使用I/O设备。设备。36.1 I/O硬件组成硬件组成6.2 I/O软件的组成软件的组成6.3 磁盘管理磁盘管理46.1 I/O硬件组成硬件组成6.1.1 I/O设备分类设备分类 字符设备字符设备:人机交互设备。是以字符为单位发:人机交互
2、设备。是以字符为单位发送和接收数据的,通信速度比较慢。键盘和显送和接收数据的,通信速度比较慢。键盘和显示器、鼠标、扫描仪、打印机、绘图仪等。示器、鼠标、扫描仪、打印机、绘图仪等。 块设备块设备:外部存储器。以块为单位传输数据。:外部存储器。以块为单位传输数据。常见块尺寸:常见块尺寸:512B32KB。如磁盘、磁带、。如磁盘、磁带、光盘等。光盘等。 网络通信设备网络通信设备:主要用于与远程设备的通信。:主要用于与远程设备的通信。传输速度比字符设备快,比块设备慢。如网卡、传输速度比字符设备快,比块设备慢。如网卡、调制解调器等。调制解调器等。 时钟时钟:按预先规定好的时间间隔产生中断。:按预先规定好
3、的时间间隔产生中断。5驱动程序驱动程序1驱动程序驱动程序2驱动程序驱动程序3设备对象设备对象1a设备对象设备对象1b设备对象设备对象2a设备对象设备对象2b设备对象设备对象3a文件对象文件对象1文件对象文件对象266.1.2 设备控制器设备控制器1. I/O体系结构体系结构I/O端口端口。是连接到。是连接到I/O总线上的设备的总线上的设备的I/O 地地址集址集。每个。每个设备寄存器设备寄存器有一个端口号。设备有一个端口号。设备寄存器包括:控制寄存器、状态寄存器、数寄存器包括:控制寄存器、状态寄存器、数据缓冲寄存器等。据缓冲寄存器等。I/O接口接口。是处于一组。是处于一组I/O端口和对应的设备端
4、口和对应的设备控制器之间的一种硬件电路。控制器之间的一种硬件电路。I/O总线总线。是。是CPU与与I/O设备之间的通路。设备之间的通路。7CPUI/O端口端口I/O端口端口I/O接口接口I/O 控制器控制器I/O设备设备I/O总线总线PC的的I/O 体系结构体系结构8nI/O设备一般由机械和电子两部分组成。机械部设备一般由机械和电子两部分组成。机械部分是设备本身。分是设备本身。电子部分叫做设备控制器电子部分叫做设备控制器。n设备控制器设备控制器处于处于CPU和和I/O设备之间,接收从设备之间,接收从CPU发来的命令,控制发来的命令,控制I/O设备工作。设备工作。n每个控制器有每个控制器有几个寄
5、存器几个寄存器,用来与,用来与CPU通信。通信。控制寄存器:接收控制寄存器:接收CPU发送的读写命令。发送的读写命令。状态寄存器:包含设备的状态信息。状态寄存器:包含设备的状态信息。数据缓冲寄存器:通常为数据缓冲寄存器:通常为1B至至4B。2. 设备控制器设备控制器9n除了几个寄存器外,许多设备控制器还有一个除了几个寄存器外,许多设备控制器还有一个操作系统可以读写的操作系统可以读写的数据缓冲区数据缓冲区。如在屏幕上。如在屏幕上显示像素的常规方法是使用一个视频显示像素的常规方法是使用一个视频RAM,该该RAM基本上只是一个数据缓冲区。基本上只是一个数据缓冲区。n磁盘控制器磁盘控制器:从磁盘驱动器
6、出来的是一连串的:从磁盘驱动器出来的是一连串的位流,控制器把串行的位流组装为字节,存入位流,控制器把串行的位流组装为字节,存入控制器内部的控制器内部的缓冲区缓冲区中,形成以字节为单位的中,形成以字节为单位的块块。对块验证后,。对块验证后,再一次一个字节或字地存入再一次一个字节或字地存入内存。内存。106.1.3 I/O数据传输的控制方式数据传输的控制方式1. 程序查询方式(程序查询方式(polling)2. 中断方式中断方式3. 直接存储器访问直接存储器访问(DMA)方式方式4. 通道控制方式通道控制方式111. 程序查询方式程序查询方式向设备控制器发写命令向设备控制器发写命令读设备控制器的设
7、备状态读设备控制器的设备状态从存储器读数据从存储器读数据向设备控制器写入数据向设备控制器写入数据N出错出错Y传送完成传送完成设备完成设备完成Y,停止设备工作,停止设备工作N重复执行,重复执行,直到一批数直到一批数据传输完成。据传输完成。CPU忙等忙等串行工作串行工作122. 程序中断方式程序中断方式CPU/设备设备并行工作并行工作CPU响应中断,中断服务例程响应中断,中断服务例程CPU转去执行其他程序转去执行其他程序向设备控制器发向设备控制器发写写命令命令处理中断,检查本次传输是否有错处理中断,检查本次传输是否有错设备驱动程序设备驱动程序启动设备工作启动设备工作设备完成数据设备完成数据传输产生
8、中断传输产生中断有错?有错?完成?完成?重试或故障终止重试或故障终止中断返回,执行中断返回,执行被中断的进程被中断的进程NYY13n传输数据量大和速度快的设备控制器,传输数据量大和速度快的设备控制器,都支持都支持DMA。n通常,通常,CPU控制地址总线,与主存交换控制地址总线,与主存交换数据。数据。n允许允许DMA控制器控制器接管地址总线接管地址总线的控制权,的控制权,直接控制直接控制控制器内部缓冲区控制器内部缓冲区与主存之间与主存之间的数据交换。的数据交换。3. 直接存储器访问(直接存储器访问(DMA)14n 整块数据的传输是在整块数据的传输是在DMA控制下完成的。控制下完成的。仅在开始和结
9、束时才需仅在开始和结束时才需CPU干预。干预。CPU向向DMA控制控制器发布器发布读读块命令块命令CPU读读DMA控制控制器的状态器的状态下条指令下条指令CPU做其它事做其它事中断中断15 数据缓冲寄存器数据缓冲寄存器主存地址寄存器主存地址寄存器MAR传送字节个数计数器传送字节个数计数器DC控制控制/状态寄存器状态寄存器数据总线数据总线地址总线地址总线DMA控制器控制器主存主存CPU数据缓冲存储区数据缓冲存储区磁磁盘盘DMA控制器独立地进行数据传送控制器独立地进行数据传送控制总线控制总线16DMA工作过程:工作过程:设置设置MAR和和DC初值初值启动启动DMA传送命令传送命令挪用挪用CPU工作
10、周期传送数据工作周期传送数据主存地址增主存地址增1数据计数器减数据计数器减1DC=0 ?请求中断请求中断NY每当磁盘把一块数每当磁盘把一块数据读入控制器的数据读入控制器的数据缓冲区时,检验据缓冲区时,检验校验和。校验和。DMA控控制器取代制器取代CPU,接,接管地址总线的控制管地址总线的控制权,直接控制与主权,直接控制与主存的数据交换。使存的数据交换。使CPU访问总线时速访问总线时速度会变慢。度会变慢。17n 与与DMA方式相比,通道所需的方式相比,通道所需的CPU干预干预更少,且可以做到一个通道控制多台设备,更少,且可以做到一个通道控制多台设备,进一步减轻了进一步减轻了CPU的负担。的负担。
11、n 通道是一种专用的通道是一种专用的I/O处理机处理机。n 通道有自己的指令系统,若干条通道命令通道有自己的指令系统,若干条通道命令连接成通道程序。连接成通道程序。4. 通道控制方式通道控制方式18CPU主存储器主存储器磁盘控制器磁盘控制器软盘控制器软盘控制器磁带控制器磁带控制器读卡机读卡机磁盘控制器磁盘控制器控制器控制器控制器控制器磁盘控制器磁盘控制器打印机打印机控制器控制器终端终端数组多路通道数组多路通道选择通道选择通道字节多路通道字节多路通道CPU、通道和、通道和I/O设备并行工作设备并行工作总线总线19n字节多路通道字节多路通道:以字节为单位传输信息,可以分:以字节为单位传输信息,可以
12、分时地执行多个通道程序,一个通道程序对应一台时地执行多个通道程序,一个通道程序对应一台设备。主要用来连接大量慢速设备。设备。主要用来连接大量慢速设备。n选择通道选择通道:每次传送一批数据,传送速度快。在:每次传送一批数据,传送速度快。在一段时间内只能执行一个通道程序,只允许一台一段时间内只能执行一个通道程序,只允许一台设备传输数据。可用于固定头磁盘等。设备传输数据。可用于固定头磁盘等。n数组多路通道数组多路通道:结合了选择通道传送速度快和字:结合了选择通道传送速度快和字节多路通道能够分时的优点。先为一台设备执行节多路通道能够分时的优点。先为一台设备执行一条通道指令,再为另一台设备执行一条通道指
13、一条通道指令,再为另一台设备执行一条通道指令。可连接多台活动头磁盘机。令。可连接多台活动头磁盘机。20工作过程:工作过程: CPU向通道发出一条向通道发出一条I/O指令,给出所指令,给出所要执行的通道程序的首地址和要访问的要执行的通道程序的首地址和要访问的I/O设备。设备。 通道执行通道程序便可完成通道执行通道程序便可完成CPU指定的指定的I/O任务。任务。 完成任务后,通道与设备一起发出中断完成任务后,通道与设备一起发出中断请求,请求请求,请求CPU处理。处理。216.2 I/O软件的组成软件的组成I/O软件的基本思想软件的基本思想:按分层构建,较低:按分层构建,较低层的软件为较高层的软件服
14、务,使较高层的软件为较高层的软件服务,使较高层软件独立于硬件,为用户提供统一接层软件独立于硬件,为用户提供统一接口。口。221.设备独立性设备独立性。用户程序中给出的设备名只是。用户程序中给出的设备名只是一个逻辑设备名,由一个逻辑设备名,由OS实现逻辑设备与物实现逻辑设备与物理设备的映射。这样,无论系统设备如何改理设备的映射。这样,无论系统设备如何改变,用户程序不受影响。变,用户程序不受影响。2.设备的统一命名设备的统一命名。与设备独立性密切相关。与设备独立性密切相关。一个设备的逻辑名只应是一个简单的字符串一个设备的逻辑名只应是一个简单的字符串或一个整数,如或一个整数,如 PRN,不依赖于具体
15、的设,不依赖于具体的设备。备。6.2.1 I/O软件的目标软件的目标233.出错处理出错处理。数据传输中的错误应尽可能地在。数据传输中的错误应尽可能地在接近硬件层上处理,可重试多次。仅当低层接近硬件层上处理,可重试多次。仅当低层软件无能为力时,才将错误上交高层处理。软件无能为力时,才将错误上交高层处理。4.缓冲技术缓冲技术。其目的就是设法使数据的到达率。其目的就是设法使数据的到达率和离去率相匹配,以提高系统的吞吐量。和离去率相匹配,以提高系统的吞吐量。5.设备的分配设备的分配。涉及到共享设备(磁盘)和独。涉及到共享设备(磁盘)和独占设备(打印机)的分配问题。占设备(打印机)的分配问题。246.
16、2.2 I/O软件的功能软件的功能1. 中断处理程序中断处理程序2. 设备驱动程序设备驱动程序3. 独立于设备的软件独立于设备的软件4. 用户层的用户层的I/O接口接口I/O软件的分层:软件的分层:在在I/O软件中,软件中,大部分软件是与大部分软件是与设备无关的。设备无关的。25用户层的用户层的I/O接口接口独立于设备的软件独立于设备的软件设备驱动程序设备驱动程序中断处理程序中断处理程序硬件硬件I/O请求请求I/O完成后完成后的回答的回答26 1. 中断处理程序中断处理程序 进程在启动一个进程在启动一个I/O操作后阻塞起来,操作后阻塞起来,I/O操操作完成,控制器产生一个中断。作完成,控制器产
17、生一个中断。 CPU响应中断,执行中断处理程序。响应中断,执行中断处理程序。 检查设备状态。检查设备状态。a) 若正常完成,就唤醒等待的进程。然后检查是若正常完成,就唤醒等待的进程。然后检查是否还有待处理的否还有待处理的I/O请求,若有就启动。请求,若有就启动。b) 若传输出错,再发启动命令重新传输;或向上若传输出错,再发启动命令重新传输;或向上层报告层报告“设备错误设备错误”的信息。的信息。 中断返回被中断的进程,或转进程调度。中断返回被中断的进程,或转进程调度。27v每个设备驱动程序处理一种类型设备。由一每个设备驱动程序处理一种类型设备。由一些与设备密切相关的代码组成。提供一些与些与设备密
18、切相关的代码组成。提供一些与文件类似的文件类似的API:open, close, read, write, control等。等。v是是OS中唯一知道设备控制器的配置情况,如中唯一知道设备控制器的配置情况,如设置有多少个寄存器以及这些寄存器作用。设置有多少个寄存器以及这些寄存器作用。 v通常包含三部分功能:通常包含三部分功能:设备初始化。启动设备初始化。启动设备传输数据的例程。中断处理例程。设备传输数据的例程。中断处理例程。2. 设备驱动程序设备驱动程序283. 独立于设备的软件独立于设备的软件(1)基本任务)基本任务:实现所有设备都需要的功能,:实现所有设备都需要的功能,且向用户提供一个统一
19、的接口。且向用户提供一个统一的接口。(2)设备命名)设备命名。把设备的符号名。把设备的符号名映射映射到正确到正确的设备驱动程序。的设备驱动程序。UNIX,/dev/tty01i节点节点主设备号(用来主设备号(用来确定终端设备驱动程序),次设备号(作为确定终端设备驱动程序),次设备号(作为参数用来确定要读参数用来确定要读/写的是哪一台终端)。写的是哪一台终端)。29(3)设备保护)设备保护。将所有的。将所有的I/O指令作为特权指指令作为特权指令。禁止用户对令。禁止用户对I/O设备直接访问,必须通设备直接访问,必须通过系统调用命令进行过系统调用命令进行I/O操作。操作。UNIX的的I/O设备作为特
20、别文件设备作为特别文件用用“rw”位位进行保护。进行保护。 (4)提供与设备无关的块尺寸)提供与设备无关的块尺寸。应向上层软。应向上层软件提供大小统一的件提供大小统一的块块尺寸。上层软件只与尺寸。上层软件只与抽象设备打交道,使用等长的抽象设备打交道,使用等长的逻辑块逻辑块。30(5)缓冲技术)缓冲技术n 缓和缓和CPU与与I/O设备间速度不匹配的矛盾。设备间速度不匹配的矛盾。n 每个缓冲区有一个缓冲控制块。每个缓冲区有一个缓冲控制块。 n 以空间换取时间以空间换取时间1. 单缓冲:单缓冲:OS为为I/O请求分配一个缓冲区。请求分配一个缓冲区。2. 双缓冲:建立两个缓冲区,可以平滑双缓冲:建立两
21、个缓冲区,可以平滑I/O设备设备和进程之间的数据流,改善系统效率。和进程之间的数据流,改善系统效率。3. 多缓冲和缓冲池:多进程共享缓冲池。多缓冲和缓冲池:多进程共享缓冲池。31高速缓存高速缓存-Linuxn缓冲缓冲只保留数据仅有的一个现存拷贝。只保留数据仅有的一个现存拷贝。n有时一块内存区域可以同时用于两个目的。有时一块内存区域可以同时用于两个目的。例如,为了有效调度磁盘例如,为了有效调度磁盘I/O,在内存开辟,在内存开辟了缓冲区来保留磁盘数据。这些缓冲区也可了缓冲区来保留磁盘数据。这些缓冲区也可以用作以用作高速缓存高速缓存,被多个进程共享。当内核,被多个进程共享。当内核收到收到I/O请求时
22、,会首先检查高速缓存里是请求时,会首先检查高速缓存里是否有。否有。32(6)负责设备分配和调度)负责设备分配和调度n静态分配:进程运行前,将其所需的设静态分配:进程运行前,将其所需的设备一次全部分配给它。简单,不死锁,备一次全部分配给它。简单,不死锁,但利用率低。但利用率低。n动态分配:在进程运行过程中,分配设动态分配:在进程运行过程中,分配设备。设备利用率高,但易引起死锁。备。设备利用率高,但易引起死锁。33n独占设备独占设备:临界资源,如打印机。:临界资源,如打印机。n共享设备共享设备:多个进程可交叉访问。如磁盘。:多个进程可交叉访问。如磁盘。n虚拟设备虚拟设备:是指设备本身是:是指设备本
23、身是独占设备独占设备,而经过,而经过虚拟技术处理,可以把它改造成虚拟技术处理,可以把它改造成共享设备共享设备。用可共享的高速设备来用可共享的高速设备来模拟模拟独占的慢速设独占的慢速设备,提高独占设备的利用率。备,提高独占设备的利用率。 Spooling技术技术是实现虚拟设备的一种技术。是实现虚拟设备的一种技术。它利用可共享磁盘的一部分空间,来模拟它利用可共享磁盘的一部分空间,来模拟独占的独占的I/O设备。以空间换时间设备。以空间换时间34假脱机输出:以打印机为例假脱机输出:以打印机为例Spooling实际是一种缓冲技术。进程要打实际是一种缓冲技术。进程要打印时,系统并不为它分配打印机,而是印时
24、,系统并不为它分配打印机,而是把待打印的数据把待打印的数据缓冲缓冲到一个独立的到一个独立的磁盘磁盘文件文件上,形成待打印文件队列。之后,上,形成待打印文件队列。之后,Spooling系统一次一个地将打印队列上的系统一次一个地将打印队列上的文件送打印机打印。这种技术又叫文件送打印机打印。这种技术又叫缓输缓输出技术出技术。35 (7)出错处理)出错处理n绝大多数错误是与设备密切相关的,一般绝大多数错误是与设备密切相关的,一般由设备驱动程序来处理。由设备驱动程序来处理。n处理设备驱动程序处理不了的错误(重试处理设备驱动程序处理不了的错误(重试几次操作后,仍有错误)。将错误信息报几次操作后,仍有错误)
25、。将错误信息报告调用者。告调用者。36v大部分大部分I/O软件软件都包含在操作系统中,有一小部都包含在操作系统中,有一小部分是由与用户程序连接在一起的库函数构成的。分是由与用户程序连接在一起的库函数构成的。例例 用户程序中的库函数:用户程序中的库函数: count=read(fd, buffer, nbytes); 程序运行期间,库函数程序运行期间,库函数read将与该程将与该程序连接在一起形成一个序连接在一起形成一个可执行文件可执行文件装入主存。装入主存。 这些函数通常只是将系统调用时所需要的参数这些函数通常只是将系统调用时所需要的参数放在合适的位置,由放在合适的位置,由系统调用系统调用实现
26、真正的操作。实现真正的操作。如如“Printf”将调用将调用“write”系统调用。系统调用。4. 用户空间的用户空间的I/O软件软件37读文件的读文件的I/O操作步骤操作步骤1)用户进程发出一个读文件的系统调用。用户进程发出一个读文件的系统调用。2)设备独立设备独立I/O软件检查参数的正确性。若正确,软件检查参数的正确性。若正确,再检查高速缓存中有无要读的信息块。若有,再检查高速缓存中有无要读的信息块。若有,则从缓冲区直接读到用户区。若无,转则从缓冲区直接读到用户区。若无,转3)3)执行物理执行物理I/O。独立于设备的。独立于设备的I/O软件将设备的软件将设备的逻辑名转换成物理名,检查设备操
27、作权限。将逻辑名转换成物理名,检查设备操作权限。将I/O请求排队,阻塞用户进程且等待请求排队,阻塞用户进程且等待I/O完成。完成。4)核心执行设备驱动程序,分配缓冲区,准备接核心执行设备驱动程序,分配缓冲区,准备接收数据,且向设备控制寄存器发启动读命令。收数据,且向设备控制寄存器发启动读命令。385)设备控制器控制设备,执行数据传输。设备控制器控制设备,执行数据传输。6)当采用当采用DMA控制器控制传输时,一个块传输完控制器控制传输时,一个块传输完成,硬件产生一个中断。成,硬件产生一个中断。7)CPU响应中断,转磁盘的中断处理程序。检查响应中断,转磁盘的中断处理程序。检查中断原因和设备的执行状
28、态,若出错,则向设中断原因和设备的执行状态,若出错,则向设备驱动程序发信号,若可重试,则再启动设备备驱动程序发信号,若可重试,则再启动设备重传一次;否则,向上报告错误。若传输正确,重传一次;否则,向上报告错误。若传输正确,将数据传输给指定的用户进程空间,将等待进将数据传输给指定的用户进程空间,将等待进程唤醒并且放入就绪队列,等待调度。程唤醒并且放入就绪队列,等待调度。8)当用户进程被调度执行时,从当用户进程被调度执行时,从I/O系统调用的系统调用的断点恢复执行。断点恢复执行。396.2.3 同步同步I/O和异步和异步I/On同步同步I/O:进程发出:进程发出I/O请求后阻塞等待,直到请求后阻塞
29、等待,直到数据传输完成后被唤醒,之后才能访问被传输数据传输完成后被唤醒,之后才能访问被传输的数据。的数据。n异步异步I/O:允许进程发出:允许进程发出I/O请求后继续运行。请求后继续运行。将来将来I/O完成后的通知方式:设置进程地址空完成后的通知方式:设置进程地址空间内的某个变量;通过触发信号或软件中断;间内的某个变量;通过触发信号或软件中断;进程执行流之外的某个回调函数。进程执行流之外的某个回调函数。 n对于不必进行缓冲读写的快速对于不必进行缓冲读写的快速I/O,使用同步,使用同步I/O更有效;对于需要很长时间的更有效;对于需要很长时间的I/O操作,可操作,可使用异步使用异步I/O。406.
30、3 磁盘管理磁盘管理1. 提高磁盘提高磁盘I/O速度的主要途径速度的主要途径n选择性能好的磁盘。如选择性能好的磁盘。如 IDE、SCSIn采用好的调度算法采用好的调度算法n设置磁盘高速缓冲区设置磁盘高速缓冲区412. 磁盘的类型磁盘的类型 硬盘和软盘;固定头磁盘和活动头磁盘。硬盘和软盘;固定头磁盘和活动头磁盘。n 固定头磁盘固定头磁盘:每条道上都有一个读:每条道上都有一个读/写磁头,写磁头,用于大容量磁盘,并行读用于大容量磁盘,并行读/写。写。n 移动头磁盘移动头磁盘:每个盘面仅配有一个磁头。:每个盘面仅配有一个磁头。3. 访问磁盘块的时间访问磁盘块的时间:寻道时间、旋转延迟:寻道时间、旋转延
31、迟时间、读时间、读/写传输时间。写传输时间。4. 磁盘分配方法磁盘分配方法 连续分配;链接分配;索引分配连续分配;链接分配;索引分配425. 调度算法调度算法n先来先服务先来先服务:最简单,易实现,又公平合理。:最简单,易实现,又公平合理。n最短寻道时间优先最短寻道时间优先:在将磁头移向下一请求磁:在将磁头移向下一请求磁道时,总是选择移动距离最小的磁道。道时,总是选择移动距离最小的磁道。n扫描法扫描法:读:读/写磁头在由磁盘的一端向另一端移写磁头在由磁盘的一端向另一端移动时,随时处理所到达磁道上的服务请求。动时,随时处理所到达磁道上的服务请求。SCAN:扫描(电梯法):扫描(电梯法)C-SCA
32、N:循环扫描:循环扫描LOOK:查询:查询C-LOOK:循环查询:循环查询4345(7分)假设计算机系统采用分)假设计算机系统采用C-SCAN(循环扫(循环扫描)描)磁盘调度策略,使用磁盘调度策略,使用2KB的内存空间记录的内存空间记录16384个磁盘块的空闲状态。个磁盘块的空闲状态。(1)请说明在上述条件如何进行磁盘块空闲状态的)请说明在上述条件如何进行磁盘块空闲状态的管理。管理。(2)设某单面磁盘的旋转速度为每分钟)设某单面磁盘的旋转速度为每分钟6 000转,每转,每个磁道有个磁道有100个扇区,相邻磁道间的平均移动时间个扇区,相邻磁道间的平均移动时间为为1ms。若在某时刻,磁头位于。若在
33、某时刻,磁头位于100号磁道处,并号磁道处,并沿着磁道号增大的方向移动,磁道号的请求队列为沿着磁道号增大的方向移动,磁道号的请求队列为50、90、30、120,对请求队列中的每个磁道需读,对请求队列中的每个磁道需读取取1个随机分布的扇区,则读完这个随机分布的扇区,则读完这4个扇区总共需要个扇区总共需要多少时间?需要给出计算过程。多少时间?需要给出计算过程。44(3)如果将磁盘替换为随机访问的)如果将磁盘替换为随机访问的Flash半导体存储器(如半导体存储器(如U盘、盘、SSD盘等),是否有比盘等),是否有比CSCAN更高效的更高效的磁盘调度策略?若有,给出磁盘调磁盘调度策略?若有,给出磁盘调度
34、策略的名称并说明理由;若无,度策略的名称并说明理由;若无,说明理由。说明理由。45参考答案参考答案(1)2KB=210248bit=16384 bit。因。因此可使用位示图来管理磁盘块,位为此可使用位示图来管理磁盘块,位为0表表示磁盘块空闲,为示磁盘块空闲,为1表示被占用。表示被占用。(3)采用)采用FCFS(先来先服务)调度策略(先来先服务)调度策略更高效。因为更高效。因为FLASH半导体存储器的物半导体存储器的物理结构不考虑寻道时间和旋转延迟,可理结构不考虑寻道时间和旋转延迟,可直接按直接按I/O请求的先后顺序服务。请求的先后顺序服务。46(2)循环查询循环查询C-LOOK算法。被请求的磁
35、道号顺算法。被请求的磁道号顺序为序为100、120、30、50、90,因此,寻道需要移,因此,寻道需要移动的磁道数为:动的磁道数为:20+90+20+40=170。寻道用去的。寻道用去的总时间为:总时间为:(20 + 90 + 20 + 40)1ms = 170ms磁盘每分钟磁盘每分钟6000转,转一圈的时间为转,转一圈的时间为0.01s,通过,通过一个扇区的时间为一个扇区的时间为0.0001s。 总共要随机读取四个扇区,用去的时间为:总共要随机读取四个扇区,用去的时间为:(0.010.5 + 0.0001)4 = 0.0204s = 20.4ms所以所以 170ms + 20.4ms = 190.4ms。