修正为硬件内存管理机制和内存安全.

Signed-off-by: chen.yang <chen.yang@yuzhen-iot.com>
This commit is contained in:
chen.yang 2022-04-26 15:43:10 +08:00
parent eb80a42de6
commit 8c96c44a7d
1 changed files with 5 additions and 5 deletions

View File

@ -19,9 +19,11 @@ Intel 引入段寄存器的另一个好处是能够将内粗数据段、代码
![逻辑地址转换](./imgs/8.11_内核内存管理/001.drawio.png)
## 系统内存安全
## 硬件内存管理机制和内存安全
### 分段管理的内存安全
x86/64 系列处理器的内存管理是一套非常有代表性的内存管理机制该机制主要包括分段机制和分页机制两种。x86/64 系列处理器有多种运行模式,在进入保护模式时必须开启段式管理机制;进入长模式时必须开启分页机制。
### 分段内存管理和内存安全
x86/64 系列处理器在实模式下,其段地址+偏移地址即可以得到线性地址。而进入保护模式后,段寄存器中的数据被分割为不同的功能区域:
@ -43,8 +45,6 @@ x86/64 系列处理器通过段描述符、段寄存器和段选择子中的如
GDTR 和 LDTR 指定了当前所用 GDT 和 LDT 所在内存的起始位置。
***注x86/64 系列处理器进入保护模式时必须开启段式管理机制;进入长模式时必须开启分页机制。***
程序运行时,必然有需要修改段寄存器的需求,此时需要通过指令将载段选择子加载到段寄存器,而段选择子的 RPL 代表了请求的操作级别。Intel 有 4 个操作级别(运行级别/安全级别),数字越大,运行级别越低:
![Code-Segment Descriptor](./imgs/8.11_内核内存管理/005.png)
@ -64,7 +64,7 @@ mov ds, ax ;加载段选择子到 DS 段寄存器
***注与内存类似的Intel 架构下还有一组为中断和任务准备的数据结构,用于保证中断和任务安全。***
### 分页管理的内存安全
### 分页内存管理和内存安全
Intel 分页机制的实现采用了页目录、页表和页的机制同时将线性地址拆分成不同的区域用于实现页目录、页表、页的寻址。Intel 4k 页分页机制如下: