57) 考虑一个具有 40 位虚拟寻址和 16 千字节页面大小的计算机系统。如果计算机系统每个进程有一个一级页表,并且每个页表条目需要 48 位,那么每个进程的页表大小为多少兆字节 __________。

  1. 384
  2. 348
  3. 438
  4. 192

答案: A

说明

已知,
   页表条目大小 (E) = 6 字节
   内存大小 = 240
   页面大小 = 16KB = 24 * 210 字节 = 214 字节
   页面数量 (N) = 内存大小 / 页面大小 = 240 / 214 = 240-14 = 226
   页表大小 = N*E = 226 * 6 字节 = 26 * 6 MB = 384 MB

因此,选项 (A) 将是正确答案。


58) 考虑一个磁盘队列,请求对柱面 47、38、121、191、87、11、92、10 上的块进行 I/O。使用 C-LOOK 调度算法。磁头最初位于柱面 63 号,在其服务过程中向较大的柱面号移动。柱面编号从 0 到 199。服务这些请求所产生的总磁头移动(以柱面数计)为 __________。

  1. 163
  2. 346
  3. 173
  4. 175

答案: B

说明

磁头移动将是

63 ->> 87 = 24 (87-63)
87 ->> 92 = 5 (92-87)
92 ->> 121 = 29 (121-92)
121 ->> 191 = 70 (191-121)
191 ->> 10 = 181 (191-10)
10 ->> 11 = 1 (11-10)
11 ->> 38 = 27 (38-11)
38 ->> 47 = 9 (47-38)
总磁头移动 = 24+5+29+70+181+1+27+9 = 346

因此,选项 (B) 将是正确答案。


59) 考虑一个有十个物理页框的计算机系统。系统提供了一个访问序列 (a1 , a2 , . . . , a20 , a1 , a2 , . . . , a20 ),其中每个 ai 都是一个不同的虚拟页号。后进先出页面置换策略与最优页面置换策略之间的页面错误数量差异是 __________。

  1. 0
  2. 1
  3. 2
  4. 3

答案: B

说明

LIFO 中的页面错误数

a1 到 a10 的页面错误 = 10 页。a11 到 a20 的页面错误 = 10 页。因为 a11 替换 a10,a12 替换 a11,依此类推直到 a20,所以将发生 10 次页面错误。现在 a20 将是栈顶,a9....a1 仍在。在上面 a1 到 a9 已经存在。所以 a1 到 a9 没有页面错误发生。再次 a10 替换 a20,a11 替换 a10,依此类推。所以从 a10 到 a20 发生 11 次页面错误。

因此,总页面错误将是:10+10+11 = 31。

最优方案中的页面错误数

a1 到 a10 的页面错误 = 10 页。

a1 到 a10 的页面错误 = 10 页。a11 到 a20 的页面错误 = 10 页。因为 a11 替换 a10,a12 替换 a11,依此类推直到 a20,所以将发生 10 次页面错误。现在 a20 将是栈顶,a9...a1 仍在。在上面 a1 到 a9 已经存在。所以 a1 到 a9 没有页面错误发生。再次 a10 替换 a1,因为它以后不会被使用。所以从 a10 到 a19 发生 10 次页面错误。

因此,总最优页面错误将是:10+10+10 = 30。
因此,差异 = 31 - 30 = 1
因此,选项 (B) 是正确答案。


60) 考虑以下提出的临界区问题解决方案。有 n 个进程:P0 . . . Pn-1。在代码中,函数 pmax 返回一个不小于其任何参数的整数。对于所有 i,t[i] 初始化为零。

Pi 的代码

关于上述解决方案,下列哪一项是正确的?

  1. 任何时候最多只有一个进程可以进入临界区
  2. 满足有界等待条件
  3. 满足进步条件
  4. 它不会导致死锁

答案: A

说明

上述针对 n 个进程的同步解决方案保证了互斥。但它不保证进度。上述解决方案可能导致进程进入死锁状态。有界等待也不满足,因为死锁和有界等待都源于相同的原因,即如果 t[j] == t[i] 可能发生,那么饥饿是可能的,意味着无限等待。因此,上述代码满足了互斥,确保了在任何给定时间只有一个进程正在执行其临界区。

因此,选项 (A) 将是正确答案。


61) 考虑以下两阶段锁定协议。假设一个事务 T 访问(用于读或写操作)一组对象 {O1, . . . , Ok}。这是通过以下方式完成的

步骤 1. T 以地址递增的顺序获取 O1, . . . , Ok 的排他锁。
步骤 2. 执行所需的操作。
步骤 3. 释放所有锁。

该协议将

  1. 保证可串行性和无死锁
  2. 既不保证可串行性也不保证无死锁
  3. 保证可串行性但不保证无死锁
  4. 保证无死锁但不保证可串行性

答案: A

说明

上述步骤是保守的两阶段锁(Conservative 2PL)。在此协议中,事务可以在开始执行之前锁定它访问的所有项。它避免了死锁。此外,它是冲突可串行化的。因此,它保证了可串行性。

保守的 2PL 协议确保

  1. 可串行性
  2. 无死锁
  3. 严格可恢复
  4. 可能出现饥饿
  5. 吞吐量降低
  6. 并发度降低
  7. 资源利用率降低

因此,选项 (A) 将是正确的答案。


62) 假设 B 想向 A 发送一条带数字签名的消息 m。A 和 B 的私钥和公钥对分别用 K-x 和 K+x 表示,其中 x = A, B。Kx(m) 表示用密钥 Kx 加密 m 的操作,H(m) 表示消息摘要。以下哪一项表示将消息 m 连同数字签名发送给 A 的正确方式?

  1. {m, K+B (H(m))}
  2. {m, K-B (H(m))}
  3. {m, K-A (H(m))}
  4. {m, K+A (m)}

答案: B

说明

B 希望向 A 发送带数字签名的消息 'm'。

私钥和公钥分别用 K-x 和 K+x 表示,其中 x = A, B。

k(m) 表示用密钥 Kx 加密 m

H(m) 表示消息摘要

为了将数字签名消息从 B 发送给 A,消息需要用 B 的私钥加密。因此,{m, K-B (H(m))} 必须是发送消息的正确方式。

因此,选项 (B) 是正确答案。


63) 一个大小为 1000 字节的 IP 数据报到达路由器。路由器必须将此数据包转发到 MTU(最大传输单元)为 100 字节的链路上。假设 IP 报头的大小为 20 字节。IP 数据报将被分成多少个片段进行传输 __________。

  1. 10
  2. 11
  3. 12
  4. 13

答案: D

说明

已知,
   IP 数据报大小 = 1000 字节
   MTU = 100 字节
   IP 报头大小 = 20 字节
   因此,一个片段中传输的数据大小 = 100 - 20 = 80 字节
   要传输的数据总大小 = 数据报大小 - 报头大小
         = 1000 - 20 = 980 字节
因此,片段数 = 要传输的数据大小 / 一个片段中传输的数据大小
         = 980 / 80 = 12.25 ≈ 13 个片段。

因此,选项 (D) 是正确答案。


64) 对于使用令牌桶算法进行拥塞控制的主机,令牌桶容量为 1 兆字节,最大输出速率为每秒 20 兆字节。令牌以每秒 10 兆字节的速率到达以维持输出速率。令牌桶当前已满,机器需要发送 12 兆字节的数据。传输数据所需的最短时间是 __________ 秒。

  1. 0.1
  2. 1.1
  3. 2.1
  4. 2.2

答案: B

说明

已知,
   M = 20 MB
   P = 10 MB
   C = 1 MB

根据令牌桶算法,发送 1 MB 数据所需的最短时间或最大数据传输速率由下式给出

S = C / (M - P)
其中,
   M = 最大输出速率,
   P = 到达速率,
   C = 桶的容量
所以,
   S = 1 / (20- 10) = 0.1 秒

根据问题,最初令牌桶是满的,它已经有 1 MB 可以传输,并且机器需要发送 12 MB 的数据。所以,我们只需要传输 (12 - 1),即 11 MB 的数据。因此,发送 11 MB 所需的时间:11 * 0.1 = 1.1 秒。

因此,选项 (B) 将是正确答案。


65) 发送方使用停止等待 ARQ 协议进行可靠帧传输。帧大小为 1000 字节,发送方传输速率为 80 Kbps(1Kbps = 1000 比特/秒)。确认帧大小为 100 字节,接收方传输速率为 8 Kbps。单向传播延迟为 100 毫秒。假设没有帧丢失,发送方吞吐量为 __________ 字节/秒。

  1. 1500
  2. 2000
  3. 2300
  4. 2500

答案: D

说明

已知,
   帧大小 = 1000 字节
   发送方传输速率 = 80 kbps
   接收方传输速率 = 8kbps
   ACK 大小 = 100 字节
   传播延迟 = 100 毫秒

总时间 = 发送方传输时间 + 2 * 传播延迟 + ACK 时间。
发送方传输时间 = 1000 × 8 / (80 × 1000) = 0.1 秒
传播延迟 = 100 毫秒 = 0.1 秒
ACK 时间 = 100 * 8 / 8 * 1000 = 0.1 秒。

因此,总时间 = 0.1 + 2*0.1 + 0.1 = 0.1 + 0.2 + 0.1 = 0.4 秒。

现在,
   吞吐量 = 帧大小 / 总时间 = 1000 / 0.4 = 2500 字节/秒。
   因此选项 (D) 是正确答案。


GATE 2016 CS 组 1-1
GATE 2016 CS Set 1-2
GATE 2016 CS Set 1-3
GATE 2016 CS Set 1-4
GATE 2016 CS Set 1-5
GATE 2016 CS Set 1-6
GATE 2016 CS Set 1-7

下一主题