保护模式和实模式对比

.实模式(Real Mode):16 bit processor modes。

在前面所写的代码均为bit 16实模式

特点:

(1) Memory Address = (Segment Address * 16(decimal)) + Offset 物理地址=段地址*16+偏移地址

(2) 限制1MB的内存 由于地址总线为20位,所以寻址范围为1MB

(3) 限制段的最大长度为64k 由于偏移地址由16位寄存器给出,所以寻址范围为64K

(4) 没有虚拟存储/代码保护 由于实模式会出现Overlapped Segment,即段之间重叠,这样很容易越界

(5) 实模式下多为单任务,且由于寻址范围的限制,功能少。

2.保护模式(Protected Mode):32 bit processor modes

编写一个强大的内核,必然会用C之类的语言,而C是须32位的环境

特点:

(1) 地址由DT按“段地址”查到相应描述符,得到的真实地址+偏移

(2) 32位地址线,拥有4GB的寻址

(3) 实现虚拟存储和代码保护

3. 实模式下程序运行的条件的满足:

(1) 运行所需的指令用CS寄存器配合IP寄存器通知CPU指令的内存地址。

(2) 运行所需的数据由DS,ES,FS,GS,SS等不同用途的寄存器指定不同用途的数据在内存中的位置。

(3) 运行时所要调用系统服务子程序,用中断机制完成

4. 实模式与保护模式的最大区别:地址转换方式

(1) 实模式下,公式为:段寄存器=ES,段基址=ES*0X10,偏移地址=DI,物理地址=段基址+偏移地址(左移四位加偏移)。

(2) 保护模式下,选择子=ES,段基址=全局描述符中选择子指定描述符,偏移地址=DI,物理地址=段基址+偏移地址。

(3) 总结,映射方式的不同。实模式=左移四位;保护模式=查全局或局部描述表。

5. 实模式转变为保护模式的变化

(1) 数据段:是实模式下代码段,数据段,堆栈段,终端服务程序的统称

(2) 描述符:用来描述数据段,为8个字节,第5个字节说明说明描述符类型。描述符组成在一起成为描述符表,即地址转换表。

(3) 选择子:为2个字节,第2位表RPL,第三位说明是GDT还是LDT,最高13位描述符在描述表中的地址,13位的寻址范围恰为:8k。

6. GDT/LDT的位置。GDR表示GDT在内存中的段地址和段限:段地址32位,段限16位=48位(即最大的段为64k,每个描述符为8k,所以共有64k/8=8k个)。同样,LDR表示LDT在内存的位置,但由于,LDR本身也是数据段,它须有描述符,且该描述符放在GDT中,因此,LDR只是比DS,ES等多了一个“选择子”,用于GDT中获得LDT的地址。

7. 中断服务的位置。中断/陷阱描述符构成中断描述符表(IDT),由全地址寄存器IDTR(48b=32+16)存放。注,虽然亦可有8k项,即8k个中断,但是x86之提供256个中断。

8. 由保护模式实现多任务的支持的理由:CR3寄存器(共32位,第12均为零)用于存放一级页表的内存地址。CR3会被当作任务环境的一部分当任务被切换时被存入到TSS数据段中。TSS数据段有一个 TSS描述符,存放于GDT中。另外,TR寄存器用于存放描述符的选择子。

9. 分页机制的作用:解决不同任务之间访问内存冲突的问题,即实现由逻辑地址向物理地址映射。方式为“页表”(两级页表):

(1) TSS:实现多任务起着重要的作用,通过它实现任务的切换,它将保存被切换出的任务的当前环境。

(2) 控制寄存器:用于控制和确定处理器操作模式以及当前模式

CR0:处理器当前模式和状态的系统控制标志。

CR1:保留。

CR2:含有导致错误的地址,页故障线性地址寄存器。

CR3:页目录基址。存放一级页表。

10. 总结:保护模式比实模式多了什么?

(1) 寄存器 GDRLDRIDRTRCR3

(2) 数据段,描述符表(GDTLDT),任务数据段(TS),页表

(3) 机制,权限检测(利用选择子/描述符/页表项的属性位),线性地址到物理地址的映射

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值