CPU 调度算法需要其执行所需的 CPU 时间和 IO 时间。 CPU 时间是 CPU 执行进程所花费的时间,而 I/O 时间说明了进程进行 I/O 操作所需的时间。
以优化方式执行多个进程基于不同类型的算法,如 FCFS、最短作业优先等,这些算法取决于时间帧值,如到达时间、突发时间、等待时间等。
1. 到达时间(AT):
到达时间是进程到达就绪队列开始执行的时间点(以毫秒为单位)。它仅与 CPU 或 I/O 时间无关,仅描述进程可用于完成其指定作业的时间范围。进程与处于运行状态的进程无关。到达时间可以计算为过程的完成时间和周转时间的差值。
Arrival Time (A.T.)
= Completion Time (C.T.) - Turn Around Time (T.A.T)
2. 爆发时间(BT):
突发时间是指进程执行所需的时间(以毫秒为单位)。突发时间考虑了进程的 CPU 时间。不考虑 I/O 时间。它被称为进程的执行时间或运行时间。在此时间范围内,流程从运行状态转换到完成状态。突发时间可以计算为进程的完成时间和等待时间的差值,即,
Burst Time (B.T.)
= Completion Time (C.T.) - Waiting Time (W.T.)
下表说明了三个进程 P1、P2 和 P3 的 Arrival 和 Burst 时间。为这些进程的执行分配了一个 CPU。
Processes | Arrival Time (in ms) | Burst Time (in ms) |
---|---|---|
P1 | 0 | 3 |
P2 | 4 | 2 |
P3 | 6 | 4 |
如果我们计算甘特图,基于 FCFS 调度,首先执行就绪队列中的进程。进程的到达决定进程的执行顺序,时间等于其突发时间。
由于进程P2到达4ms,进程P1需要3ms执行(=Burst Time),CPU等待1ms,即CPU空闲时间,不执行任何进程执行。最后一个要执行的进程是 P3。
下表分别说明了到达时间和突发时间的主要区别:
Arrival Time | Burst Time |
---|---|
Marks the entry point of the process in the queue. | Marks the exit point of the process in the queue. |
Computed before the execution of process. | Computed after the execution of process. |
Related to the Ready State of the CPU. | Related to the Running State of the CPU. |