内存管理——系统设计

  所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。

  

  系统设计可以根据是否采用CPU提供的分段机制来分类:平坦模型和多段模型。

  像Windows这些操作系统采用的是平坦模型。

 

平坦模型

- 对于基本平坦模型,操作系统和应用程序可以访问一个连续的、没有分段的地址空间。
- 实现基本的平坦模型至少需要分配代码段、数据段、栈段的描述符。所有段的基址为0,界限为0xFFFFF,粒度为4KB。
- 当访问的地址处并没有物理内存的时候,处理器也不会产生越界异常。

 

受保护的平坦模型
- 在平坦模型的基础上,对段界限进行了限制,如果访问越界,处理器会产生一个通用保护异常(#GP)。

 

多段模型
- 多段模型充分利用了分段机制,提供了对代码、数据结构、程序任务的硬件级保护。并增加了权限检查机制。
- 在多段模型下,每个程序都被分配了属于自己的段描述符和段。

 


参考资料
Combined Volume Set of Intel® 64 and IA-32 Architectures Software Developer’s Manuals

posted @ 2021-10-31 18:05  HyperVS  阅读(133)  评论(0)    收藏  举报