题目
【计算题】设有某系统采用可抢占的优先级进程调度算法,系统在某一段时间内有 A 、 B 、 C 三个进程,进程 C 优先级最高,进程 A 优先级最低,进程 B 优先级介于进程 A 、 C 之间,它们的就绪时刻、计算与 I/O 所需时间如下表所示: 进程 进程就绪时刻 计算时间 I/O 操作时间 计算时间 A 0ms 15ms 10ms 5ms B 10ms 25ms 15ms 10ms C 15ms 3ms 20ms 10ms (1) 若系统采用多道方式运行,给出这三个进程运行完成总共所需的时间,并用图示给出三个进程的实际运行过程(忽略进行系统调度所需时间)。 (2) 采用多道方式比采用单道方式运行节省多少时间
【计算题】设有某系统采用可抢占的优先级进程调度算法,系统在某一段时间内有 A 、 B 、 C 三个进程,进程 C 优先级最高,进程 A 优先级最低,进程 B 优先级介于进程 A 、 C 之间,它们的就绪时刻、计算与 I/O 所需时间如下表所示: 进程 进程就绪时刻 计算时间 I/O 操作时间 计算时间 A 0ms 15ms 10ms 5ms B 10ms 25ms 15ms 10ms C 15ms 3ms 20ms 10ms (1) 若系统采用多道方式运行,给出这三个进程运行完成总共所需的时间,并用图示给出三个进程的实际运行过程(忽略进行系统调度所需时间)。 (2) 采用多道方式比采用单道方式运行节省多少时间
题目解答
答案
( 1 )若系统采用多道方式运行,这三个进程运行完成总共所需的时间为 68ms 。(图示略) ( 2 )采用单道方式运行,这三个进程运行完成总共所需的时间为 113 ms 。 采用多道方式运行比采用单道方式运行节省时间: 113-68=45 ms 。
解析
步骤 1:确定进程的运行顺序
根据题目描述,进程 C 优先级最高,进程 A 优先级最低,进程 B 优先级介于进程 A 和 C 之间。进程就绪时刻分别为 A: 0ms, B: 10ms, C: 15ms。因此,进程 A 会先运行,然后是 B,最后是 C。但是,由于采用可抢占的优先级进程调度算法,进程 C 一旦就绪,就会抢占其他进程的 CPU 时间。
步骤 2:计算进程运行时间
进程 A 的运行时间:15ms (计算) + 10ms (I/O) + 5ms (计算) = 30ms
进程 B 的运行时间:25ms (计算) + 15ms (I/O) + 10ms (计算) = 50ms
进程 C 的运行时间:3ms (计算) + 20ms (I/O) + 10ms (计算) = 33ms
步骤 3:绘制进程运行图
进程 A 从 0ms 开始运行,运行 15ms 后进入 I/O 操作,此时进程 B 就绪,抢占 CPU,运行 25ms 后进入 I/O 操作,此时进程 C 就绪,抢占 CPU,运行 3ms 后进入 I/O 操作。进程 A、B、C 的 I/O 操作时间分别为 10ms、15ms、20ms。进程 A、B、C 的 I/O 操作完成后,分别运行 5ms、10ms、10ms 的计算时间。因此,进程 A、B、C 的运行时间分别为 30ms、50ms、33ms。进程 A、B、C 的运行时间之和为 68ms。
步骤 4:计算节省时间
采用单道方式运行,这三个进程运行完成总共所需的时间为 113ms。采用多道方式运行比采用单道方式运行节省时间:113ms - 68ms = 45ms。
根据题目描述,进程 C 优先级最高,进程 A 优先级最低,进程 B 优先级介于进程 A 和 C 之间。进程就绪时刻分别为 A: 0ms, B: 10ms, C: 15ms。因此,进程 A 会先运行,然后是 B,最后是 C。但是,由于采用可抢占的优先级进程调度算法,进程 C 一旦就绪,就会抢占其他进程的 CPU 时间。
步骤 2:计算进程运行时间
进程 A 的运行时间:15ms (计算) + 10ms (I/O) + 5ms (计算) = 30ms
进程 B 的运行时间:25ms (计算) + 15ms (I/O) + 10ms (计算) = 50ms
进程 C 的运行时间:3ms (计算) + 20ms (I/O) + 10ms (计算) = 33ms
步骤 3:绘制进程运行图
进程 A 从 0ms 开始运行,运行 15ms 后进入 I/O 操作,此时进程 B 就绪,抢占 CPU,运行 25ms 后进入 I/O 操作,此时进程 C 就绪,抢占 CPU,运行 3ms 后进入 I/O 操作。进程 A、B、C 的 I/O 操作时间分别为 10ms、15ms、20ms。进程 A、B、C 的 I/O 操作完成后,分别运行 5ms、10ms、10ms 的计算时间。因此,进程 A、B、C 的运行时间分别为 30ms、50ms、33ms。进程 A、B、C 的运行时间之和为 68ms。
步骤 4:计算节省时间
采用单道方式运行,这三个进程运行完成总共所需的时间为 113ms。采用多道方式运行比采用单道方式运行节省时间:113ms - 68ms = 45ms。