保护模式和实模式的区别
2012-05-28 22:47
549 查看
作者:bichenggui
出处:http://blog.csdn.net/bichenggui/article/details/4233133
实模式:寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。
保护模式:寻址采用32位段和偏移量,最大寻址空间4GB,最大分段4GB (Pentium Pre及以后为64GB)。在保护模式下CPU可以进入虚拟8086方式,这是在保护模式下的实模式程序运行环境。
保护模式同实模式的根本区别是进程内存受保护与否。可寻址空间的区别只是这一原因的果。实模式将整个物理内存看成分段的区域,程序代码和数据位于不同 区域,系统程序和用户程序没有区别对待,而且每一个指针都是指向"实在"的物理地址。这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序 区域,并改变了值,那么对于这个被修改的系统程序或用户程序,其后果就很可能是灾难性的。为了克服这种低劣的内存管理方式,处理器厂商开发出保护模式。这 样,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问,程序对此一无所知。
至此,进程(这时我们可以称程序 为进程了)有了严格的边界,任何其他进程根本没有办法访问不属于自己的物理内存区域,甚至在自己的虚拟地址范围内也不是可以任意访问的,因为有一些虚拟区 域已经被放进一些公共系统运行库。这些区域也不能随便修改,若修改就会有: SIGSEGV(linux 段错误);非法内存访问对话框(windows 对话框)。
CPU启动环境为16位实模式,之后可以切换到保护模式。但从保护模式无法切换回实模式
出处:http://blog.csdn.net/bichenggui/article/details/4233133
实模式:寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。
保护模式:寻址采用32位段和偏移量,最大寻址空间4GB,最大分段4GB (Pentium Pre及以后为64GB)。在保护模式下CPU可以进入虚拟8086方式,这是在保护模式下的实模式程序运行环境。
保护模式同实模式的根本区别是进程内存受保护与否。可寻址空间的区别只是这一原因的果。实模式将整个物理内存看成分段的区域,程序代码和数据位于不同 区域,系统程序和用户程序没有区别对待,而且每一个指针都是指向"实在"的物理地址。这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序 区域,并改变了值,那么对于这个被修改的系统程序或用户程序,其后果就很可能是灾难性的。为了克服这种低劣的内存管理方式,处理器厂商开发出保护模式。这 样,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问,程序对此一无所知。
至此,进程(这时我们可以称程序 为进程了)有了严格的边界,任何其他进程根本没有办法访问不属于自己的物理内存区域,甚至在自己的虚拟地址范围内也不是可以任意访问的,因为有一些虚拟区 域已经被放进一些公共系统运行库。这些区域也不能随便修改,若修改就会有: SIGSEGV(linux 段错误);非法内存访问对话框(windows 对话框)。
CPU启动环境为16位实模式,之后可以切换到保护模式。但从保护模式无法切换回实模式
相关文章推荐
- 保护模式特权级别DPL,RPL,CPL 之间的联系和区别 [转]
- 实模式和保护模式区别及寻址方式
- 实模式和保护模式区别及寻址方式
- 实模式与保护模式解惑之(一)——二者的起源与区别
- 实模式和保护模式区别及寻址方式
- 实模式、保护模式的区别 实模式保护模式切换方法
- 实模式与保护模式的区别
- 实模式和保护模式区别及寻址方式
- 实模式与保护模式解惑之(一)——二者的起源与区别
- 实模式与保护模式解惑之(一)——二者的起源与区别
- 实模式和保护模式区别及寻址方式
- 实模式和保护模式区别及寻址方式
- 实模式和保护模式区别及寻址方式
- 实模式和保护模式的区别
- 保护模式下DPL,RPL,CPL的区别
- 实模式和保护模式区别及寻址方式
- 保护模式和实模式的区别
- 内存梳理0. 实模式和保护模式区别及寻址方式
- 实模式和保护模式区别及寻址方式
- 保护模式和实模式的区别