CPU的保护模式

作者:Sinaean Dean

链接:https://www.zhihu.com/question/25272611/answer/196964902
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

保护模式对应的是实模式。也就是实地址模式,即CPU发出的访存指令所对应的地址是实际的物理地址。保护模式即然对应的是实地址模式,那么它保护的也就是实际物理地址,保护实际的物理地址不被非法访问。

保护模式是在80286时提出,在80386上大成。具体就是80286提了的段式内存管理和80386提出的页式内存管理。所以所谓的保护物理内存的基本措施是什么?就是段页式内存管理方式啊。

使用了段式内存管理之后,cpu使用的就是逻辑地址,要经过段描述符表翻译才能访问实际的物理地址,而段描述符表只有系统内核 才能修改。这就保证了一个进程只能访问内核分配给他的段上的物理内存

使用了页式内存管理之后,cpu使用的就虚拟地址,虚拟地址要经过页表翻译之后才能访问实际的物理地址上的数据,而段表只有系统内核才能修改。这就保证了一个进程只能访问内核分配给他的页上的物理内存。呀,两段文 字貌似长得差不多哦。实际上段式内存管理和页式内存管理的确就是差不多的东西。所以windows两个都用,采用段页式内存管理,而linux觉得完全没有必要使用段式内存管理,页式就够了,所以就使用了页式内存管理。

    针对x86系统的话,段式内存管理和页式内存管理是与80286提出的其他机制,如任务门、调用门、中断门等结合起来起段作用的,所以这些门也是保护模式的一部分。

    批注:实模式即地址就是物理地址,而保护模式,则使用虚拟地址,通过内核进行分配虚拟地址,不会直接去访问读写物理地址,既安全,又能虚拟出4G的内存地址,可以将CPU的性能发挥最大化。


猜你喜欢

转载自blog.csdn.net/u012351051/article/details/79646288