实模式和保护模式的区别

实模式和保护模式的区别

实模式和保护模式的来历

  • 最早期的8086 CPU只有一种工作方式 ---- 实模式。数据总线为16位,地址总线为20位。实模式下所有寄存器都是16位。

  • 从80286开始就有了保护模式,从80386开始CPU数据总线和地址总线均为32位,而且寄存器都是32位。

  • 现代OS操作系统在刚加电时。首先运行在实模式下,然后再切换到保护模式下运行

物理地址,逻辑地址,有效地址,线性地址,虚拟地址介绍

物理地址就是物理内存真正的地址,具有唯1性。不管在什么模式下,不管什么虚拟地址、线性地址, 最终都要以物理地址去访问内存。

  • 实模式

在实模式下,“段基址+段内偏移地址”经过段部件的处理,直接输出的就是物理地址,CPU 可以直接用此地址访问内存。

  • 保护模式

保护模式下,"段基址+段内偏移地址”称为线性地址。

【注意】:此时的段基址已经不再是真正的地址了,而是 一个称为选择子的东西, 本质是个索引,类似于数组下标,通过这个索引便能在 GDT 中找到相应的段描述符,在该描述符中记录了该段的起始、大小等信息,这样便得到了段基址。

这里需要分两类情况

1.没有开启地址分页功能

此线性地址就被 作物理地址来用,可直接访问内存。

2.开启地址分页功能

若开启了分页功能,此线性地址又称为是虚拟地址。然后虚拟地址要经过 页部件转换成具体的物理地址,这样 CPU 才能将其送上地址总线去访问内存。

在这里插入图片描述

逻辑地址和有效地址的概念:

无论在实模式或是保护模式下,段内偏移地址又称为有效地址,也称为逻辑地址,这是程序员可见的地址。

实模式和保护模式的区别

  • 实模式 16 位,实模式寻址空间是 1M。保护模式 32 位,寻址空间是 4GB。
  • 实模式下的地址是“段基址+段内偏移地址”得到物理地址。保护模式下段寄存器存入了段选择子,在段描述符表中寻找段基址,再加上偏移地址得到物理地址。【分页功能是需要在保护模式下开启的,】

参考资料

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值