【发布时间】:2021-06-22 10:00:51
【问题描述】:
最近在学习操作系统。我有一些关于交换过程的问题。
由于有限的物理内存限制,我知道当我们想将一个新程序加载到物理内存时,内核不会将整个程序加载到物理内存中。
这是我的问题:
-
当一个进程遇到页面错误,并且该进程需要进行交换时。内核会传递一个信号来通知该进程吗?如果是,进程会收到什么信号?
-
与第一个问题类似,有时我们想将新程序加载到物理内存中。但是,由于物理内存的限制,我们需要从物理内存中换出一些进程。内核会向那些将要被换出的进程发送信号吗?如果是,那些被处理的会收到什么信号?
任何详细的解释将不胜感激。 如果有任何有用的链接,我也将不胜感激。
感谢大家提前回复。 :))
【问题讨论】:
-
1. 不; 2. 不会。但是如果内核内存不足(包括交换空间),它可能会杀死一些进程。
-
@lan Abbott,你知道内核为什么不向进程传递任何信号吗?是因为性能吗?
-
因为不需要这样的信号。该进程存在于虚拟内存的世界中。
标签: linux linux-kernel