实模式附加要求为什么叫附加要求,因为现在任务还不能很好地工作
前面说过,任务实质上是程序,不同的程序是由不同的用户写的,所有这些程序完全可能使用相同的地址空间,而任务的切换过程一般不会包括内存数据的刷新,不是不可能,而是如果那样做太浪费了
因此必须引入分页机制才可能有效地完成对多任务的支持
分页的实质就是实现程序内地址到物理地址的映射,这也是一个“地址转换”机制,同样可以使用前面的方案(即类似GDT的做法):首先建立页表这样一种数据段,在80x86中使用二级页表方案,增设一个CR3寄存器用于存放一级页表(又称为页目录)在内存中的地址,CR3共32位,其低12位总是为零,高20位指示页目录的内存地址,因此页目录总是按页对齐的
CR3作为任务“环境”的一部分在任务切换时被存入TSS数据段中
当然还得有相应的缺页中断机制及其相关寄存器CR2(页故障线性地址寄存器)
保护模式下增加了什么?1、寄存器 GDR LDR IDR TR CR32、数据段 描述符表(GDT LDT) 任务数据段(TSS) 页表(页目录 二级页表)3、机制 权限检测(利用选择子/描述符/页表项的属性位)线性地址到物理地址的映射
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。