以下问题已在 GATE 2011 CS 考试中提出。
1) 线程通常被定义为“轻量级进程”,因为操作系统 (OS) 为线程维护的数据结构比为进程维护的数据结构要小。与此相关,以下哪项是正确的?
(A) 在每个线程的基础上,操作系统只维护 CPU 寄存器状态
(B) OS 没有为每个线程维护一个单独的堆栈
(C) 在每个线程的基础上,操作系统不维护虚拟内存状态
(D) 在每个线程的基础上,操作系统只维护调度和记帐信息。
答案 (C)
线程共享进程的地址空间。实际上,内存与进程有关,而不与线程有关。
2)在平均内存访问时间为20ns的计算机中,让页面错误服务时间为10ms。如果每 10^6 次内存访问产生一个页面错误,那么内存的有效访问时间是多少?
(一) 21ns
(B) 30ns
(C) 23ns
(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 个库,加载所有库需要多长时间? (一旦磁头定位在块的开头,从磁盘块传输数据的时间可以忽略不计)
(一) 0.50s
(B) 1.50s
(C) 1.25s
(D) 1.00s
答案 (B)
由于传输时间可以忽略,平均访问时间是平均寻道时间和平均旋转延迟之和。随机位置时间的平均寻道时间为 10 毫秒。平均旋转延迟是完全旋转所需时间的一半。假设 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 被分配处理器,因为就绪队列中没有其他进程。 P0 在 1 ms 后被抢占,因为 P1 在 1 ms 到达并且 P1 的突发时间小于 P0 的剩余时间。 P1 运行 4ms。 P2 到达 2 ms 但 P1 继续,因为 P2 的突发时间比 P1 长。 P1 完成后,P0 再次被调度,因为 P0 的剩余时间小于 P2 的突发时间。
P0 等待 4 ms,P1 等待 0 ms,P2 等待 11 ms。所以平均等待时间是 (0+4+11)/3 = 5。
请参阅 GATE Corner 了解所有往年论文/解决方案/解释、教学大纲、重要日期、笔记等。