C++ | 什么是实模式和保护模式

一.实模式

早期的操作系统的对进程的处理模式属于实模式,即程序的运行需要内存,而实模式就是将程序直接加载到内存当中。

假如此时同时有个进程B也被加载到内存中,即

但如果这个进程B为恶意程序或者病毒。如果进程B使用指针加偏移的方式来随意的跳转,例如跳转到进程A的内存空间,那么此时进程B就可以随意的修改进程A的指令和数据。这是一种极大的安全漏洞。

二.保护模式

为了解决实模式存在的安全漏洞,人们在80386(80386以后的操作系统又被称为X86体系)以后的操作系统使用保护模式。 即,运行进程A时,进程A不会直接的被加载到内存当中,而是先被加载到虚拟内存当中,再由虚拟内存来映射到真实的内存空间。因而,虚拟内存上的地址被称为虚拟地址,真实的内存空间的地址被称为物理地址。倘若为32位操作系统,那么虚拟内存的空间和真实的内存空间一样都是4GB。

假如此时进程B依然是恶意进程,当他采用指针加偏移的方式进行跳转时,也无所谓,因为此时是在虚拟内存当中进行跳转,他无论如何都跳不出这个4GB大小的虚拟内存空间,而并不是在真正的内存空间中进行跳转,而最终虚拟内存映射到真实的内存空间依旧是它所占的内存空间的大小,从而起到了进程保护的作用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值