靠性和更快的数据传输速率,而不是价格上更便宜。
简答题
1为什么要引入缓冲技术?设置缓冲区的原则是什么?
答:引入缓冲区的主要目的是:⑴缓和CPU与I/O设备间速度不匹配的矛盾。⑵提高它们之间的并行性。⑶减少对CPU的中断次数,放宽CPU对中断响应时间的要求。
设置缓冲区的原则是:如果数据到达率与离去率相差很大,则可采用单缓冲方式;如果信息的输入与输出速率相同(或者相差不大)时,则可用双缓冲区;对于阵发性的输入/输出,可以设立多个缓冲区。
2操作系统中设备管理的功能是什么?
答:对各种外部设备进行管理是操作系统的一个重要任务,也是其基本组成部分。 操作系统中设备管理的功能是: ① 监视设备状态; ② 进行设备分配; ③ 完成I/O操作;
④ 缓冲管理与地址转换。
3什么是缓冲?为什么要引入缓冲?
答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的器件。
引入缓冲是为了匹配外设和cpu之间的处理速度,减少中断次数和cpu的中断处理时间,同时解决dma或通道方式时的数据传输瓶颈问题。
4 I/O设备通常可分为哪两大类?各自传输的信息单位有什么特点?
答:I/O设备通常可分为字符设备和块设备。 字符设备通常以独占方式分配,信息的传输单位是字符或字节。块设备通常采用共享方式分配,信息的传输是以块为单位进行传输的。
5什么是I/O控制?,I/O操作的四种控制方式是什么?
答:I/O控制是指从用户进程的输入/输出请求开始,给用户进程分配设备和启动有关设备进行I/O操作,并在I/O操作完成之后响应中断,直至善后处理为止的整个系统控制过程 。
I/O操作的四种控制方式分别是:程序直接控制方式、中断I/O控制方式、DMA控制方式、I/O通道控制方式 。
6 I/O控制可用那几种方式实现,各有什么优缺点?
答:I/O控制过程可用三种方式实现:作为请求I/O操作的进程实现;作为当前进程的一部分实现;由专门的系统进程——I/O进程完成。
第一种方式请求对应I/O操作的进程能很快占据处理机,但要求系统和I/O操作的进程具有良好的实时性。第二种方式不要求系统具有高的实时性,但I/O控制过程要由当前进程负责。第三种方式增加了一个额外的进程开销,但用户不用关心I/O控制过程。
7设备分配技术主要有哪些?常用的设备分配算法是什么?
答:设备分配技术主要有:独占分配、共享分配和虚拟分配。
常用的设备分配算法是:先来先服务算法和优先级高的优先服务算法。
8实现SPOOLing系统的硬件前提是什么?SPOOLing系统的主要功能是什么?
答:实现SPOOLING系统的首先要有硬件支持:要提供大容量的磁盘,要有中断和通道装置,以便使外围设备与中央处理器能够并行工作。 它是为了满足多道程序或多进程队独占设备的共享使用而引入的,其主要功能即是:将独占设备改造为共享设备,实现虚拟设备 。
9简述处理I/O请求的主要步骤。
答:处理I/O请求是一个系统获取用户I/O请求转发给相应外设完成的过程 ,其具体的处理步骤如下:
①用户进程发出I/O操作;
②系统接受这个I/O请求,转去执行操作系统的核心程序; ③设备驱动程序具体完成I/O操作;
④I/O完成后,系统进行I/O中断处理,然后用户进程重新开始执行
10设备驱动程序主要执行什么功能?
答:设备驱动进程严格执行设备驱动程序中规定的各种功能 ,即接受用户的I/O请求 ;取出请求队列中队首的请求,将相应的设备分配给它 ;启动该设备工作,完成指定的I/O操作 ;处理来自设备的中断 。
11 I/O软件的设计目标?它是如何划分层次的?各层的功能是什么?
答:I/O软件的设计目标:
①与设备无关
②对文件和设备应统一命名 ③层次结构 ④效率高
I/O软件可分为如下4个层次:中断处理程序、设备驱动程序、与设备无关的操作系统软件和用户级软件 。各层功能为:
①中断处理程序——分析中断原因,并依据中断原因调用相应的处理程序
②设备驱动程序——它接受来自上层、与设备无关软件的抽象读写请求,并将该I/O请求排在请求队列的队尾,还要检查I/O请求的合法性;取出请求队列中对首请求,将相应设备分配给它;向该设备控制器发送命令,启动该设备工作,完成指定的I/O操作;处理来自设备的中断
③与设备无关的操作系统软件——其基本功能是执行所有驱动器共同的I/O功能和对用户级软件提供统一软件
④用户级软件——多数I/O软件都在操作系统中,用户空间中也有一小部分。通常,它们以库函数形式出现,在用户程序中可以调用它们
12什么叫寻道?访问磁盘时间由哪几部分组成?其中哪一个是磁盘调度的主要目标?为什
么?
答: 把磁头从当前位置移到相应的磁道上或柱面上,这个操作过程叫做寻道。
访问磁盘一般要有三部分时间:寻道时间、旋转延迟时间和传输时间。
寻道时间是磁盘调度的主要目标。
传输时间是硬件设计时就固定的,寻道时间和旋转延迟时间与信息在磁盘上的位置有关。因为磁头臂是机械移动,所以对大多数磁盘来说,寻道时间远大于旋转延迟时间与传输时间之和,它是影响磁盘调度的主要因素。
13什么是RAID?采用RAID技术的优点是什么?
答:RAID称作廉价磁盘冗余阵列,即利用一台磁盘阵列控制起来统一管理和控制一组磁盘驱动器(几台到几十台),组成一个高可靠性、快速大容量的磁盘系统。
采用RAID技术可以获取更高的可靠性和更快的数据传输速率,而不是价格上更便宜。
综合题
1假定一个硬盘有100个柱面,每个柱面有10个磁道,每个磁道有15个扇区。当进程要访
问磁盘的12345扇区时,计算磁盘的三维物理扇区号。 解:
每个柱面的扇区数为:10*15=150 (3’)
12345/150=82余45,故12345扇区所在的柱面为82 (3’) 再将45/15,其商为3,余数为0,(3’)
故求得12345扇区所在的磁盘地址为:82柱面,3磁道,0扇区。(1’)
2假设移动头磁盘有200个磁道(0-199号)。目前正在处理143号磁道上的请求,而刚刚处理结束的请求是125号,如果下面给出的顺序是按FIFO排成的等待服务队列顺序:86,147,91,177,94,150,102,75,130 那么,下列各种磁盘调度算法来满足这些请求所需的总磁头移动量是多少? 1)FCFS, 2)SSTF 解:
1) FCFS:125?143—86—147—91—177—94—150—102—75—130 (2’) 满足这些请求所需要的总磁头移动量为
(143-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(102-75)+(130-75) =57+61+65+86+83+56+48+27+55=529 (3’)
2) SSTF:125?143—147—150—130—102—94—91—86—75—177 (2’)
满足这些请求所需的总磁头移动量为
(150-143)+(150-75)+(177-75)=7+75+102=182 (3’)
3假设移动头磁盘有200个磁道(0-199号)。目前正在处理143号磁道上的请求,而刚刚处理结束的请求是125号,如果下面给出的顺序是按FIFO排成的等待服务队列顺序:86,147,91,177,94,150,102,75,130 那么,下列各种磁盘调度算法来满足这些请求所需的总磁头移动量是多少?
1)SCAN, 2)C-LOOK 解:
1)SCAN:125?143—147—150—177—199—130—102—94—91—86—75 (2’) (199-143)+(199-75)=56+124=180 (3’)
2)C-LOOK:125?143—147—150—177 —75—86—91—94—102—130 (2’) 满足这些请求所需要的总磁头移动量为
177-143+177-75+130-75=33+102+55=190 (3’)
4假设一个磁盘由200个磁道,编号从0~199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:86,147,91,177,94,150,102,175,130 问:为完成上述请求,下列算法各自磁头移动的总量是多少? ①FCFS ②SSTF 解:
⑴FCFS磁头移动顺序:
143 ? 86 ? 147 ? 91 ? 177 ? 94 ? 150 ? 102 ? 175 ? 130 (2’) 57 61 56 86 83 56 48 73 45 磁头移动总量: 57+61+56+86+83+56+48+73+45=565 (3’) ⑵SSTF磁头移动顺序
143 ? 147 ? 150 ? 130 ? 102 ? 94 ? 91 ? 86 ? 175 ? 177 (2’) 4 3 20 28 8 3 5 89 2 磁头移动总量: 4+3+20+28+8+3+5+89+2=162 ( 3’)
5假设一个磁盘由200个磁道,编号从0~199。当前磁头正在143道上服务,并且刚刚完成了125道的请求。如果寻道请求队列的顺序是:86,147,91,177,94,150,102,175,130 问:为完成上述请求,下列算法各自磁头移动的总量是多少?
① SCAN ② C-SCAN 解:
(1)SCAN磁头移动顺序
143 ? 147 ? 150 ? 175 ? 177 ? 199 ?130 ? 102 ? 94 ? 91 ? 86 (2’) 4 3 25 2 22 69 28 8 3 5 磁头移动总量: 4+3+25+2+22+69+28+8+3+5=169 (3’)
(2)C-SCAN磁头移动顺序
143 ? 147 ? 150 ? 175 ? 177 ? 199 ? 0 ? 86 ? 91 ? 94 ? 102 ? 130 (2’) 4 3 25 2 22 199 86 5 3 8 28 磁头移动总量: 4+3+25+2+22+199+86+5+3+8+28=385 (3’)
6磁盘请求以10,22,20,2,40,6,38柱面的次序到达磁盘驱动器。寻道时每个柱面移动需要6ms,计算以下寻道次序和寻道时间:
①先到先服务 ②电梯调度算法(起始移动向上)
所有情况下磁臂的起始位置都是柱面20。 解: 寻道时间=柱面(磁道)移动总量×6ms 1) 先到先服务算法的调度顺序: 20 ? 10 ? 22 ? 20 ? 2 ? 40 ? 6 ? 38 (2’) 10 12 2 18 38 34 32 柱面移动总量=10+12+2+18+38+34+32=146 (2’) 寻道时间=146×6ms=876ms (1’)
2) 电梯算法的调度顺序: 20 ? 22 ? 38 ? 40 ? 10 ? 6 ? 2 (2’) 2 16 2 30 4 4 柱面移动总量=2+16+2+30+4+4=58 (2’)
寻道时间=58×6ms=348ms (1’)
7某系统文件存储空间共有80个柱面,20磁道/柱面,6块/磁道,每块有1K字节。用位示图表示。每张位示图为64个字,其中有4个包含的是控制信息。位示图中的位若为1,表示占用;为0表示空闲。试给出分配和回收一个盘块的计算公式。 解:每个柱面的块数为:20*6=120(块)(1’)
计算该文件系统的磁盘块:80*120=9600(块)(1’)
每张位示图为64个字,其中有4个字包含的是控制信息。假定每个字为16位。每张可以记录的块数为:(64-4)*16=960(块)(1’)
总共有9600块,用位示图表示,需要占用9600位,每张位示图可记录960块,需要的位示图数位:9600/960=10(张),用0~9进行编号。(1’) 1) 分配一个盘块的计算公式 (3’)
相对块号=位图的张号*960+字号*16+位号
柱面号=(相对块号/每个柱面的块数)的商=(相对块号/120)的商 磁盘号=(相对块号/每个柱面的块数)的余数的商 扇区号=((相对块号/每个柱面的块数)的余数)的余数 2) 回收一个盘块的计算公式 (3’)
先将三维地址转换为相对块号,再将相对块号转换为位图的字号和位号。 相对块号=柱面号*120+磁盘号*6+扇区号 字号=(相对块号/16)的商 位号=(相对块号/16)的余数