【发布时间】:2020-11-16 11:40:58
【问题描述】:
当页面错误发生时,我不太确定哪些工作将由 CPU 完成,哪些将由操作系统完成。这就是我问以下问题的原因。
考虑一个单核 CPU,有多个进程在运行。当页面错误发生时,操作系统会尝试从磁盘获取所需的页面到 RAM,这将花费很长时间。在这段时间内,CPU 能否继续执行?还是 CPU 必须等到所需的页面加载到 RAM 中?
如果 CPU 可以在不等待所需页面的情况下继续执行,那么当进程过多时可能会发生抖动。在某些时候,CPU 执行的大部分指令都会导致页面错误,那么大部分时间将花费在等待 OS 将页面从磁盘加载到 RAM 上。这就是为什么会发生颠簸。请问我的理解是否正确?
提前致谢。
更新:website 很好地描述了颠簸。
【问题讨论】:
标签: operating-system