返回顶部

X86平台:多任务操作系统在X86保护模式下两种内存模型下的工作模式及其设计

        本文于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 段选择器、段选择子、ds缓存与段间控制跳转(通过目标段的‘门’)


1.1.1.4 段的PL机制、PL种类与PL检查、通过调用门执行高特权过程


1.1.1.5 任务的全局空间与局部空间、GDTR和LDTR及两种寄存器的区别


1.1.1.6 设置CR0启用保护模式(X86强制分段)


1.1.1.7 控制转移时的栈切换、压栈保护现场


1.1.1.8 任务切换的LDT切换和TSS保护恢复现场


1.1.1.9 多段模型简介


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 页目录表的表项也是物理页号

#注意:页目录表和页表分别由PDBR和物理页定义,没有映射到虚拟地址空间,只存在于物理地址空间。


1.1.2.4 CR3/PDBR:寄存当前任务的页目录表


1.1.2.5 设置CR0开启分页


1.1.2.6 任务切换时的PDBR的切换与TSS保存恢复现场


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保护模式下主要有两种内存模型,分别是:段式的多段模型和段页式的平坦模型。

2.1 多段模型

2.1.1 多段模型内存的创建与访问

2.1.2 多段模型的X86硬件支持

2.1.3 多段模型下操作系统的工作过程

2.1.4 多段模型下的操作系统设计

2.1.5 多段模型下的汇编语言用户程序开发思路


2.2 平坦模型

2.2.1 平坦模型内存的创建与访问

2.2.2 平坦模型的X86硬件支持

2.2.3 平坦模型下操作系统的工作过程

2.2.4 平坦模型下的操作系统设计

2.2.5 平坦模型下的汇编语言用户程序开发思路

posted @ 2023-03-04 17:20  你好,一多  阅读(75)  评论(0编辑  收藏  举报