繁体   English   中英

内存分页期间可以运行其他进程吗?

[英]Can other processes run during memory paging?

首先,采用单处理器系统,其中多个进程以伪并行方式运行。 当进程触发页面错误时,这会强制CPU停止执行所有程序,直到从磁盘加载页面为止?

如果是这样,这在多核或多处理器系统上是否会发生变化,或者在处理页面错误时其他进程是否可以继续读取和写入内存?

谢谢!

首先,调度不适用于进程,但适用于线程。 页面错误仅挂起发生故障的线程(在Linux和Windows上)。 线程被预先安排,CPU可以自由地做其他工作。

在OS接口硬件的级别上,无论如何都没有同步IO。 它不存在(至少在现代硬件上)。 操作系统不会处于紧密的自旋循环中,等待硬件发出IO完成信号。 相反,线程被取消调度,直到IO完成(或相应的等待句柄变为信号)。

是的,这根本不是问题。 没有人能够设计出一个无法运行多个进程的多进程操作系统,也不会随意阻止进程A,因为B正在等待磁盘I / O.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM