实模式和保护模式的区别

实模式和保护模式的区别

ID:38016636

大小:39.50 KB

页数:4页

时间:2019-05-22

实模式和保护模式的区别_第1页
实模式和保护模式的区别_第2页
实模式和保护模式的区别_第3页
实模式和保护模式的区别_第4页
资源描述:

《实模式和保护模式的区别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实模式和保护模式的区别  实模式和保护模式的区别2009-08-3120:19551人阅读评论(1)收藏举报从80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式。只有在刚刚启动的时候是real-mode,等到linux操作系统运行起来以后就运行在保护模式(所以存在一个启动时的模式转换问题)。  实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存。  在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间;  扩充的存储器分段管理机制和可选的存储器分

2、页管理机制,不仅为存储器共享和保护提供了硬件支持,而且为实现虚拟存储器提供了硬件支持;  支持多任务,能够快速地进行任务切换和保护任务环境;  4个特权级和完善的特权检查机制,既能实现资源共享又能保证代码和数据的安全和保密及任务的隔离;  支持虚拟8086方式,便于执行8086程序。1.虚拟8086模式是运行在保护模式中的实模式,为了在32位保护模式下执行纯16位程序。它不是一个真正的CPU模式,还属于保护模式。    2.保护模式同实模式的根本区别是进程内存受保护与否。可寻址空间的区别只是这一原因的果。  实模式将整个

3、物理内存看成分段的区域,程序代码和数据位于不同区域,系统程序和用户程序没有区别对待,而且每一个指针都是指向"实在"的物理地址。这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序区域,并改变了值,那么对于这个被修改的系统程序或用户程序,其后果就很可能是灾难性的。为了克服这种低劣的内存管理方式,处理器厂商开发出保护模式。这样,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问,程序对此一无所知。至此,进程(这时我们可以称程序为进程了)有了严格的边界,任何其他进程根本没有办

4、法访问不属于自己的物理内存区域,甚至在自己的虚拟地址范围内也不是可以任意访问的,因为有一些虚拟区域已经被放进一些公共系统运行库。这些区域也不能随便修改,若修改就会有: SIGSEGV(linux 段错误);非法内存访问对话框(windows 对话框)。    CPU启动环境为16位实模式,之后可以切换到保护模式。但从保护模式无法切换回实模式    3.事实上,现在的64位奔腾4处理器,拥有三种基本模式和一种扩展模式,      a)基本模式:        ****保护模式:纯32位保护执行环境。        ****

5、实模式:纯16位无保护执行环境。        ****系统管理模式:当SMI引脚为有效进入系统管理模式,首先保存当前的CPU上下文。它有独立的地址空间,用来执行电源管理或系统安全方面的指令。      b)扩展模式:****IA-32e模式,64位操作系统运行在该模式。该模式有两种子模式:           1)**兼容模式:该模式下,64位操作系统运行在32位兼容环境,能正常运行16,32位应用程序就像基本的保护模式一样,访问32位地址空间,但不能运行纯16位实模式程序(就是不能运行虚拟86模式程序了)。     

6、      2)**64位模式:在该模式下,处理器完全执行64位指令,使用64位地址空间和64操作数,运行16,32位程序必须切换到兼容模式。      IA-32e子模式的切换完全基于代码段寄存器。这样一来,运行在IA-32e模式中(64位)的OS完全可以无缝的运行所有16,32,64为应用程序,通过设置32位后的CS。2012-05-1121:16:40

7、  分类:操作系统LINUX

8、  标签:

9、字号大中小 订阅第一:实模式下程序的运行回顾程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU是指令得以执行的硬

10、件保障,那么CPU如何知道指令在什么地方呢?80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存中的位置。程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。程序可能需要调用系统的服务子程序,80x86系列使用中断机制来实现系统服务。总的来说,这些就是实模式下一个程序运行所需的主要内容(其它如跳转、返回、端口操作等相对来说比较次要。) 第二:保护模式---从程序运行说起无论实模式还是保护模式,根本的问题还是程序如何在其中运行。因此我

11、们在学习保护模式时应该时刻围绕这个问题来思考。和实模式下一样,保护模式下程序运行的实质仍是“CPU执行指令,操作相关数据”,因此实模式下的各种代码段、数据段、堆栈段、中断服务程序仍然存在,且功能、作用不变。那么保护模式下最大的变化是什么呢?答案可能因人而异,我的答案是“地址转换方式”变化最大。第三:地址转换方式比较先

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。