Skip to content

错题

1.

img_klhyIH7ZOm

  • 答案:D

  • 我的:C

  • 解析:多道操作系统的设计初衷就是让 CPU 在等待 IO 设备而空闲时去调度其他程序,实现并发,所以 CPU 和外部设备是并行工作的,C 好像没有这个说法(?)

2.

img_fPTBASRuqu

  • 答案:约 1.96h,效率提高了约 12.7%

  • 解析

    • 首先 CPU 利用率指的是 CPU 真正用于处理程序的时间占运行时间的百分比。本题中认为真正 CPU 时间不会变化。所以先求出 CPU 真正处理 A 和 B 所需要花费的时间:TA=0.4hTB=0.3h。并发工作时,处理 A 和 B 所需的时间不变,加之开销时间 t,总时间 T=TA+TB+t0.78h,而 CPU 利用率 η 提高至 40%,所以运行时间缩短了,新的运行时间TR=T/η1.96h

    • 再看系统效率,和 CPU 利用率类似,即 CPU 真正用于处理程序的时间和运行时间的比值。单道处理时,总共需要 3h,而 CPU 时间为 0.7h,所以效率 η0=0.7/323.3%。并发后,总共 1.96h,CPU 时间 0.7h(注意系统开销不算 CPU 时间),所以 η10.7/1.9635.7%,所以提高了约 12.7%

3.

img_XVzPG2IiI2

  • 答案:可以

  • 解析

    • 首先是对于周期性任务的理解:如 J1 的周期 30ms 表示每 30ms 里都要完成一次 J1,而不是固定间隔 30ms 完成一次 J1,同理 J2 和 J3。

    • 所以完全可以按照 J1 J2 J1 J3 这样的循环来执行,其中 J1 不是每固定 30ms 就执行一次,而是保证了每 30ms 里都能执行一次 J1。

    • 可以按照处理机占比之和是否小于 1 来判断,即 Ci/Pi<1,其中 Ci 是每个任务的运行时间,Pi 是对应的周期时间。