本文于2023/3/2,开始写作,因为内容太多了,所以暂时只能拟出标题,我可以根据这个标题进行复习,学习过相关知识的同学也可以根据题目复习。
自学了李忠老师的《X86汇编语言:从实模式到保护模式》这本书,除了了解到X86保护模式的汇编语法和汇编程序设计思想之外,更重要的是学到了X86保护模式下的各种工作模式,以及不同工作模式下,操作系统如何进行任务管理。
1 X86保护模式支持的系统结构
1.1 内存管理与多任务管理
1.1.1 段式内存管理
1.1.1.1 分段:内存按段的定义分配和使用,控制依赖于段的定义
1.1.1.2 任务的全局空间、私有空间
1.1.1.3 GDTR、LDTR:寄存器引用任务地址空间
1.1.1.4 特权限制在全局空间与调用门
1.1.2 层次式分页的段页式内存管理
1.1.2.1 段页式:页表按段的定义分配页,按段地址索引物理地址,每个页目录表体系都是一个单独的虚拟地址空间
1.1.2.2 地址计算:线性地址求物理地址
1.1.2.2.1 利用线性地址:求页表页号、物理页页内偏移
1.1.2.2.2 利用页表页号:求物理页首地址
1.1.2.2.3 地址计算:物理页首地址+物理页页内偏移
1.1.2.3 页目录表
1.1.2.3.1 页目录表的定义
1.1.2.3.2 页目录表的表项也是物理页号
1.1.2.4 CR3/PDBR:寄存当前任务的页目录表
1.1.2.5 设置CR0开启分页
1.1.2.6 多任务下的页目录表的切换与保存恢复现场
1.1.2.7 平坦模型简介
1.2 中断与多任务调度
1.2.1 中断、中断处理与中断控制跳转
1.2.2 中断描述符表、中断门、陷阱门
1.2.3 中断处理程序
1.2.4 多任务环境、任务门与任务切换
1.2.5 TSS与保存恢复现场
1.2.6 TCB与TCBL
1.2.7 利用TCBL和中断实现任务调度
2 X86保护模式的两种内存模型
X86保护模式下主要有两种内存模型,分别是:段式的多段模型和段页式的平坦模型。