在上面的例子中,我们假设所有的进程只是CPU绑定进程。但是也忽略了上下文切换时间。
然而,如果考虑调度器在上下文切换中花费的时间,则系统的平均等待时间将增加,这也影响系统的效率。
上下文切换始终是开销。以下示例描述如果在系统中考虑上下文切换时间,效率将受到影响。
示例
在下面的例子中,假设有五个进程:P1
,P2
,P3
,P4
,P5
和P6
。 他们的到达时间和爆发时间如下。
进程ID | 到达时间 | 突发时间 |
---|---|---|
1 | 0 | 3 |
2 | 1 | 2 |
3 | 2 | 1 |
4 | 3 | 4 |
5 | 4 | 5 |
6 | 5 | 2 |
如果系统的上下文切换时间为1
个单位,那么系统的甘特图将按如下准备。
给定δ= 1
个单位;
在执行每个进程之后,系统将花费额外的1
个单位时间(开销)来安排下一个过程。
Inefficiency= (6/23) X 100 %
Efficiencyͷ = (1-6/23) X 100 %