[OS]Three Easy Pieces Chapter 21

Beyond Physical Memory: Mechanisms

如果某个进程的虚拟地址空间太大,或者整个系统所有进程的所有虚拟地址空间之和无法一次性放到物理内存中,操作系统通常需要将一些当前不常用的地址空间换出到硬盘中。

1 Swap Space

磁盘中需要有一个交换区,用于和内存交换内存页。OS需要记录每个换出页的磁盘地址。

2 The Present Bit

常规的地址转换过程:

进程提供虚拟内存地址

  • TLB hit:取得物理页号
  • TLB miss
    • 查找页表,取得物理页号
    • 更新TLB
    • 重新执行指令

为了支持swap,页表项中需要增加一个present bit,用来指出当前页是否在内存中。

如果尝试访问某个当前不在内存中的内存页,会触发page fault异常,之后操作系统执行page-fault handler来处理。

3 The Page Fault


[OS]Three Easy Pieces Chapter 21
https://erlsrnby04.github.io/2024/11/22/OS-Three-Easy-Pieces-Chapter-21/
作者
ErlsrnBy04
发布于
2024年11月22日
许可协议