单选题 当进程请求读磁盘时,操作系统______。假设磁盘每磁道有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.先进行旋转调度,再进行移臂调度
【正确答案】 C
【答案解析】
单选题
  • 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
  • A.2.0
  • B.2.4
  • C.2.8
  • D.3.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。