【问题标题】:per process page table: what happens when a page frame is sent to disk?每个进程的页表:当一个页框被发送到磁盘时会发生什么?
【发布时间】:2011-09-13 12:31:18
【问题描述】:

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

【问题讨论】:

    标签: memory-management operating-system paging


    【解决方案1】:

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

    【讨论】:

    • 罗伊,我的意思是,当一个页框包含进程 A 的页面,被放入磁盘,并被进程 B 的页面替换时,似乎必须更新 2 个页表,但我从来没有在任何地方看到过这个。我理解正确吗?
    • 啊,我误会你了。我相信你是对的。进程 B 的页表需要将该页标记为有效,而进程 A 的表需要将该页标记为无效,以便下次触发缺页。我不知道任何其他方式。但是现在你这样提到它,我在操作系统课程书籍的幻灯片/页面上没有看到任何明确的措辞。
    猜你喜欢
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 2017-03-24
    • 2023-03-25
    • 2015-05-26
    • 2023-03-10
    相关资源
    最近更新 更多