综合问题的一个 疑问谢谢老师!
来源:2-7 计算机的层次与编程语言

苦瓜苦也
2019-09-06
IOWAIT指的是CPU等待IO完成的CPU时间占比,因为外围设备IO效率低,所以经常需要CPU等待IO,因而IOWAIT指标是非常重要的,一个系统如果IO过多,说明还有优化空间。
CPU为什么一定要等待IO?如果不等,可不可以运行其他的程序?有什后果
是可以运行的,只是操作系统没有把等待的进程调度出去,而且让其空等待,取决于调度策略,所以才有IOWAIT相关指标。
这些等待的进程是什么?什么是调度出去?不理解。
大学上操作系统就懵懵懂懂 好像懂又不懂 谢谢老师?
写回答
1回答
-
CPU为什么一定等待IO?这里可以等,可以不等,取决于CPU的调度,如果CPU觉得很快就完成了,不用等待太久,相比切换进程,等待的开销更小,这个时候就可能选择等待;如果不等待,是可以把等待的线程切换出去,调度进新的运行线程的。
操作系统会同时运行多个进程,有些进程正在运行、有些进程正在等待、有些进程正在准备,在操作系统内部的数据结构里面,就会把不同状态的进程保存在不同的队列里面,所谓调度出去,就是把正在运行的进程请出CPU,把它放在等待队列,等待下一次CPU的调度去执行。
242019-09-06
相似问题