为什么说实模式下使用的逻辑地址就是物理地址,但是保护模式则不是呢?实模式和保护模式的逻辑地址不也是偏移量吗?

看了一下《操作系统真相还原》,发现上面说实模式下使用的逻辑地址就是物理地址,不是还要加上段基址吗?为什么说保护模式避免了这个问题呢?

阅读 2.3k
2 个回答

实模式就是以前8086(40年以前,今年貌似Intel发了款8086四十年纪念版Core?也是皮……)用的内存寻址模式,特点就是指哪打哪,因为8086连分段都没有直接给什么地址就是什么地址,所以这种模式的最大特点就是,应用模式随便出个啥错的,整个系统大家一起玩完……
保护模式就不一样了。用户权限跟系统权限分开,用户进程给你映射到一个独立的空间里去,大家每人一个小隔间,爱咋折腾咋折腾,这就不会影响历史的进程了……啊不对,是系统的进程。。这个偏移量就不是内存地址了,而是表里的偏移,因为还要经过查表才会翻译成具体的地址。

实模式,一个地址(已加段基址)例如0x09,就是指向内存的0x09字节,所以逻辑地址就是物理地址。

保护模式,一个地址0x09,还要经过页表,才得到内存的地址,逻辑地址和物理地址就不同了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进