1

我正在学习操作系统概念,我对概念组合有一些疑问,尤其是在分页方面。

这些是我现在的信念。所以如果我错了,请纠正我。

  • 我认为不仅是用户区域,系统区域也是分页的,因为我认为没有其他方法可以处理 GB 的操作系统
  • PCB(过程控制块)包含页表以及其他信息,PCB在系统空间中。

我的疑问是:

  • 是否所有内层页表的页面(例如:二级PT,三级PT,比如3级分页)也加载到它们对应的PCB中?
  • 如果包含主页表的 PCB 也被分页,那么该预主页表将存储在哪里?它是否也包含系统区域中其他系统文件的页面?
4

1 回答 1

4

首先,我假设系统区域是指内核空间。是的,内核空间也
与用户空间一起映射。通常通过以下方式完成:

  • 身份映射-即虚拟地址和物理地址相同。一般最多4MB
  • 在 Indentity Mapping 之后,内核被映射到其他一些虚拟地址,如 3GB-Linux,windows 使用这种方法。

其次,PCB不包含页表,但包含页目录的物理地址。
这个物理地址存储在 cr3 寄存器中。处理器计算页表的地址和使用这个地址作为基地址的页面。每个进程都有自己的页目录,因此在任务切换时 cr3 寄存器被更新以包含物理列表中下一个进程的页目录地址。因此内页不会加载到PCB中。

于 2013-10-07T09:42:35.130 回答