操作系统试题解析和答案解读|S6

2021年3月26日15:33:39 发表评论 769 次浏览

GATE 2011 CS考试中提出了以下问题。

1)线程通常被定义为"轻量级进程", 因为操作系统(OS)维护的线程数据结构比进程小。与此相对, 以下哪个是正确的?

(A)基于每个线程, 操作系统仅维护CPU寄存器状态

(B)OS不会为每个线程维护单独的堆栈

(C)基于每个线程, 操作系统不会维护虚拟内存状态

(D)在每个线程的基础上, 操作系统仅维护计划和记帐信息。

答案(C)

线程共享进程的地址空间。实际上, 内存与进程无关, 而与线程无关。

2)在计算机中, 页面错误服务时间为10ms, 平均内存访问时间为20ns。如果每10 ^ 6次内存访问产生一次页面错误, 那么该内存的有效访问时间是多少?

(A)21 ns

(B)30ns

(C)23 ns

(D)35ns

答案(B)

Let P be the page fault rate
Effective Memory Access Time = p * (page fault service time) + 
                               (1 - p) * (Memory access time)
                             = ( 1/(10^6) )* 10 * (10^6) ns +
                               (1 - 1/(10^6)) * 20 ns
                             = 30 ns (approx)

3)应用程序在启动时会加载100个库。加载每个库只需要一个磁盘访问权限。磁盘到随机位置的查找时间为10毫秒。磁盘转速为6000rpm。如果所有100个库都从磁盘上的随机位置加载, 那么加载所有库需要多长时间? (一旦磁头定位在磁盘块的开头, 从磁盘块传输数据的时间可以忽略不计)

(A)0.50秒

(B)1.50秒

(C)1.25秒

(D)1.00秒

答案(B)

由于可以忽略传输时间, 因此平均访问时间是平均寻道时间和平均旋转等待时间的总和。随机定位时间的平均寻道时间为10 ms。平均旋转等待时间是完成旋转所需时间的一半。假设6000转需要1分钟。因此, 旋转一圈将花费60/6000秒, 即10毫秒。因此, 平均旋转等待时间为10毫秒的一半, 即5毫秒。

Average disk access time = seek time + rotational latency 
                         = 10 ms + 5 ms 
                         = 15 ms
For 100 libraries, the average disk access time will be 15*100 ms

4.考虑下表中三个进程P0, P1和P2的到达时间和突发时间。

Process   Arrival time   Burst Time
P0            0 ms          9 ms
P1            1 ms          4 ms
P2            2 ms          9 ms

使用抢先式最短作业优先调度算法。计划仅在进程到达或完成时执行。这三个进程的平均等待时间是多少?

(A)5.0毫秒

(B)4.33毫秒

[C)6.33毫秒

(D)7.33毫秒

答案:–(A)

在就绪队列中没有其他进程, 因此进程P0在0 ms被分配给处理器。由于P1到达1 ms且P1的突发时间小于P0的剩余时间, 因此1 ms之后P0被抢占。 P1运行4ms。 P2到达2毫秒, 但是P1继续, 因为P2的突发时间比P1长。在P1完成之后, 由于P0的剩余时间小于P2的突发时间, 因此再次计划P0。

P0等待4 ms, P1等待0 ms和P2等待11 ms。因此平均等待时间为(0 + 4 + 11)/ 3 = 5。

请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。

如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: