Memory management 每进程页面表:将页面帧发送到磁盘时会发生什么情况?

Memory management 每进程页面表:将页面帧发送到磁盘时会发生什么情况?,memory-management,operating-system,paging,Memory Management,Operating System,Paging,我的理解是,一般来说,每个进程都有一个页面表。 我的问题是:如果操作系统必须将非运行进程的页面帧发送回磁盘,那么在运行进程出现页面错误的情况下会发生什么。非运行进程的页表也必须更新,否则当它再次运行时,其页表将不正确。然而,在我读到的所有文本中,都没有提到这一点。我有什么误解吗?每个进程都有一个页表,但页表是为该进程而设的,不属于该进程,而是属于内核(这有点奇怪,但我希望你明白我的意思)。因此,当一个未运行的进程被分页到磁盘时,页表本身仍在“运行”并被更新。我不认为页表本身会被交换到磁盘,因为这

我的理解是,一般来说,每个进程都有一个页面表。
我的问题是:如果操作系统必须将非运行进程的页面帧发送回磁盘,那么在运行进程出现页面错误的情况下会发生什么。非运行进程的页表也必须更新,否则当它再次运行时,其页表将不正确。然而,在我读到的所有文本中,都没有提到这一点。我有什么误解吗?

每个进程都有一个页表,但页表是为该进程而设的,不属于该进程,而是属于内核(这有点奇怪,但我希望你明白我的意思)。因此,当一个未运行的进程被分页到磁盘时,页表本身仍在“运行”并被更新。我不认为页表本身会被交换到磁盘,因为这会导致非常奇怪的问题。

Roy,我的意思是,当一个包含进程a的页的页框架被放到磁盘上,并被进程B的页替换时,似乎必须更新两个页表,但我从未在任何地方看到提到过这一点。我理解对了吗?啊,我误解你了。我相信你是对的。进程B的页表需要将该页标记为有效页,进程A的表需要将该页标记为无效页,以便下次触发页错误。我不知道还有别的办法。但现在你这么说,我还没有在操作系统课程的幻灯片/页面上看到任何明确的措辞。