单选题
当进程请求读磁盘时,操作系统______。假设磁盘每磁道有10个扇区,移动臂位于18号柱面上,且进程的请求序列如下表所示。那么,最省时间的响应序列为______。
{{B}}磁盘请求序列{{/B}}
|
请求序列 |
柱面号 |
磁头号 |
扇区号 |
① |
15 |
8 |
9 |
② |
20 |
6 |
3 |
③ |
20 |
9 |
6 |
④ |
40 |
10 |
5 |
⑤ |
15 |
8 |
4 |
⑥ |
6 |
3 |
10 |
⑦ |
8 |
7 |
9 |
⑧ |
15 |
10 |
4 |
单选题
- A.只需进行旋转调度,无须进行移臂调度
- B.旋转、移臂调度同时进行
- C.先进行移臂调度,再进行旋转调度
- D.先进行旋转调度,再进行移臂调度
单选题
- A.②③④⑤⑧①⑦⑥
- B.⑥⑦①⑤⑧②③④
- C.⑤⑧①⑦⑥②④③
- D.⑥⑦⑧①⑤②③④
【正确答案】
D
【答案解析】[解析] 磁盘是可被多个进程共享的设备。当有多个进程都请求访问磁盘时,为了保证信息的安全,系统每一时刻只允许一个进程启动磁盘进行I/O操作,其余的进程只能等待。因此,操作系统应采用一种适当的调度算法,以使各进程对磁盘的平均访问(主要是寻道)时间最短。磁盘调度分为移臂调度和旋转调度两类,并且先进行移臂调度,然后再进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此磁盘调度的目标应是使磁盘的平均寻道时间最短。
当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序呢?这就是旋转调度要考虑的问题。显然系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑如下情况。
(1)进程请求访问的是同一磁道上的不同编号的扇区。
(2)进程请求访问的是不同磁道上的不同编号的扇区。
(3)进程请求访问的是不同磁道上具有相同编号的扇区。
对于(1)和(2),旋转调度总是让首先到达读写磁头位置下的扇区进行传送操作;对于(3),旋转调度可以任选一个读写磁头位置下的扇区进行传送操作。
为存取磁盘上的一个物理记录,必须给出3个参数:柱面号、磁头号(盘面号)、扇区号。磁盘机根据柱面号控制移动臂做径向运动,带动读写头到达所需的柱面;从磁头号可确定哪一个磁头来读写数据,然后便等待访问的信息块旋转到读写头下时进行存取。磁盘机实现这些功能的操作是:查找(将读写头定位到指定柱面并选择指定磁头)、搜索(指定磁头寻找访问的记录块)、读、写和控制等。
根据上面的讨论,我们知道,要决定一个进程的请求序列是否省时间,主要看移臂总量哪个序列最少,然后再看旋转调度哪个延迟时间最短。本题主要考查分析能力,所以不要求基于某种算法来分析问题。通过分析,可以得出最省时间的是D。
单选题
若操作系统把一条命令的执行结果输出给下一条命令,作为它的输入并加以处理,这种机制称为______。
- A.链接
- B.管道
- C.输入重定向
- D.输出重定向
【正确答案】
B
【答案解析】[解析] 若操作系统把一条命令的执行结果输出给下一条命令,作为它的输入并加以处理,这种机制称为管道。
管道通信是一种共享文件模式,它基于文件系统,连接于两个通信进程之间,以先进先出的方式实现消息的单向传送。管道是一个特殊文件,在内核中通过文件描述符表示。一个管道总是连接两个命令,将左边命令的标准输出与右边命令的标准输入相连,于是左边命令的输出结果就直接成了右边命令的输入。
单选题
某系统中有一个缓冲区,进程P1不断地加工数据送入缓冲区,进程P2不断地从缓冲区中取数据打印,用P/V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么图中a、b、c、d处应分别填______。
【正确答案】
C
【答案解析】[解析] 信号量S1的初值为1,信号量S2的初值为0,说明S1表示空闲的缓冲区数量,而S0表示有数据的缓冲区数量。
P1是送数据的,所以在送数据之前,先要把S1减1(执行P操作),如果S1大于等于0,则可以存放数据,否则,说明P2未取完数据。存放完毕后,再把S2加1(执行V操作),表明缓冲区中有数据。
P2是取数据的,它首先把S2减1(执行P操作),看缓冲区中是否有数据,如果S2小于0,表示缓冲区中没有数据,需要等待P1放数据。否则就可以取数据,取完后,再把S1加1(执行V操作),表示把缓冲区置空闲。
单选题
采用最短作业优先的抢先调度算法(Preemptive SJF)调度表1所示的进程,平均等待时间为______。
{{B}}表1 进程运行的相关信息{{/B}}
|
进 程 |
到达时间 |
处理需要时间 |
P1 |
0.0 |
7.0 |
P2 |
2.0 |
4.0 |
P3 |
4.0 |
1.0 |
P4 |
5.0 |
3.0 |
P5 |
6.0 |
1.0 |
【正确答案】
C
【答案解析】[解析] 由于采用的是最短作业优先的抢先调度算法,所以在最开始的时候,P1进程运行。在P1运行2个小时后,P2到达,P2运行的时间比P1小,所以P2运行。P2运行2个小时后,P3到达,P3运行的时间比P2小,所以P3运行。依此类推,我们可以列出表2。
{{B}}表2 作业调度情况{{/B}}
|
时间段 |
运行的进程 |
还剩余时间 |
总等待时间 |
0—2 |
P1 |
5 |
0 |
2—4 |
P2 |
2 |
0 |
4—5 |
P3 |
0 |
0 |
5—6 |
P2 |
1 |
1 |
6—7 |
P5 |
0 |
0 |
7—8 |
P2 |
0 |
2 |
8—11 |
P4 |
0 |
3 |
11—16 |
P1 |
0 |
9 |
根据表2,P2等待了2小时,P4等待了3小时,P1等待了9小时,而P3和P5没有等待,所以平均等待时间为(2+3+9)/5=2.8。