body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(2n){background-color: #f8f8f8;}

    微机中常用的Intel系列微处理器的主要发展过程是:8080,8086/8088,80186, 80286,80386,80486,Pentium,Pentium II,Pentium III,Pentium 4。
    8086/8088是一个重要的阶段,8086和8088是略有区别的两个功能相同的CPU。8088被IBM用在了它所生产的第台微机上,该微机的结构事实上成为以后微机的基本结构。
    80386是第二个重要的型号,随着微机应用及性能的发展,在微机上构造可靠的多任务操作系统的问题日益突出。人们希望(或许是一种潜在的希望,一旦被挖掘出来,便形成了一个最基本的需求)自己的PC机能够稳定地同时运行多个程序,同时处理多项工作;或将PC机用作主机服务器,运行UNIX那样的多用户系统。
    8086/8088不具备实现一个完善的多任务操作系统的功能。为此Intel开发了80286,80286具备了对多任务系统的支持。但对8086/8088的兼容却做得不好。这妨碍了用户对原8086机上的程序的使用。IBM最早基于80286开发了多任务系统OS/2,结果犯了一个战略错误。
    随后Intel又开发了80386微处理器,这是一个划时代的产品。它可以在3个模式下工作:
(1)实模式:工作方式相当于一个8086。
(2)保护模式:提供支持多任务环境的工作方式,建立保护机制(这与VAX等小型机类似)。
(3)虚拟8086模式:可从保护模式切换至其中的一种8086工作方式。这种方式的提供使用户可以方便地在保护模式下运行一个或多个原8086程序。
以后的各代微处理器都提供了上述3种工作模式。
    任何一台使用Intel系列CPU的PC机只要一开机,CPU就工作在实模式下。如果你的机器装的是DOS,那么在DOS加载后CPU仍以实模式工作。如果你的机器装的是Windows,那么Windows加载后,将由Windows将CPU切换到保护模式下工作,因为Windows是多任务系统,它必须在保护模式下运行。如果你在Windows中运行一个DOS下的程序,那么Windows将CPU切换到虚拟8086模式下运行该程序。或者是这样,你点击开始菜单在程序项中进入MS–DOS方式,这时,Windows也将CPU切换到虚拟8086模式下运行。
    可以从保护模式直接进入能运行原8086程序的虚拟8086模式是很有意义的,这为用户提供了一种机制,可以在现有的多任务系统中方便地运行原8086系统中的程序。这一点,在Windows中我们都可以体会到,你在Windows中想运行一个原DOS中的程序,只用鼠标点击一下它的图标即可。80286CPU的缺陷在于,它只提供了实模式和保护模式,但没有提供虚拟8086模式。这使基于80286构造的多任务系统,不能方便地运行原8086系统中的程序。如果运行原8086系统中的程序,需要重新启动计算机,使CPU工作在实模式下才行。这意味着什么?意味着将给用户造成很大的不方便。假设你使用的是基于80286构造的Windows系统,就会发生这样的情况:你正在用Word写篇论文,其中用到了一些从前的数据,你必须运行原DOS下的DBASE系统来看一下这些数据。这时你只能停下现有的工作,重新启动计算机,进入实模式工作。你看完了数据,继续写论文,可过了-会儿,你发现又有些数据需要参考,于是你又得停下现有的工作,重新启动计算机… …
    幸运的是,我们用的Windows是基于80386的,我们可以以这样轻松的方式工作,开两个窗口,一个是工作于保护模式的Word,一个是工作于虚拟8086模式的DBASE,我们可以方便地在两个窗口中切换,只要用鼠标点一下就行。
    前面讲过,我们在8086PC机的基础上学习汇编语言。但现在知道,我们实际的编程环境是当前CPU的实模式。当然,有些程序也可以在虚拟8086模式下运行。
    从80386到当前的CPU,提供8086实模式的目的是为了兼容。现今CPU的真正有效力的工作模式是支持多任务操作系统的保护模式。
DOSBox0.74 就是为我们模拟出一个8086实模式环境。

Intel系列微处理器的三种工作模式的更多相关文章

  1. VMWare提供了三种工作模式上网

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1 ...

  2. VMWare三种工作模式 :bridge、host-only、nat

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式.这里 ...

  3. VMWare虚拟机网络的三种工作模式

    VMWare提供了三种工作模式: 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,需要手工为虚拟系 ...

  4. 转载-LVS的三种工作模式

    来源地址:http://www.uml.org.cn/zjjs/201211124.asp 1.lvs简介         lvs是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立 ...

  5. Apache的三种工作模式及相关配置

    Apache的三种工作模式 作为老牌服务器,Apache仍在不断地发展,就目前来说,它一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块).它们分别是 prefor ...

  6. httpd2.4.6三种工作模式(如何配置),防止占用内存暴增的策略

    之前偷懒默认用yum安装了httpd.后来发现服务器内存暴增,一度达到75% 打开一看,好嘛后台休眠进程全是httpd. 重启之后再度访问发现内存还是稳步增长. [root@iz2ze3ayxs2yp ...

  7. LVS集群的三种工作模式

    LVS的三种工作模式: 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1.N ...

  8. 2.LVS的三种工作模式_NAT模式

    1.LVS的三种工作模式 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1. ...

  9. LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

随机推荐

  1. JSON 序列化和解析

    概述 JSON 即 (Javascript Object Notation,Javascript 对象表示法),是在Javascript中写结构化数据的方式.而JSON本身只是一种数据格式. 通常开发 ...

  2. git和github新手安装使用教程(三步入门)

    git和github新手安装使用教程(三步入门) 对于新手来说,每次更换设备时,github的安装和配置都会耗费大量时间.主要原因是每次安装时都只关心了[怎么做],而忘记了记住[为什么].本文从操作的 ...

  3. PyQt4 模拟记事本基本功能(保存,打开文件)

    完成功能: 1. 默认[保存]按钮enable 2. 修改文本的内容后,[enable] 3. 解决字符乱码问题:utf-8 4. 提示:如果修改了文件没有保存的时候,又尝试打开新的文件,给出相关的提 ...

  4. TypeScript体验

    TypeScript 在线玩 http://www.typescriptlang.org/play/index.html ts最终编译成js  网站最终还是要引用js.  ts面向对象的感念更加直观, ...

  5. The `XXXX` target overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods-game-desktop/Pods-game-desktop.release.xcconfig'. This can lead to prob

    The `game-desktop [Release]` target overrides the `HEADER_SEARCH_PATHS` build setting defined in `Po ...

  6. 扒一扒offsetleft,srollleft,pagex,clientx,postion().left等精确位置的获取与理解

    先上个pc端和手机端的图:   说明:上面的属性,都是in这个div的属性值.我是点击的in这个div的左上角,所以pageX.pageY是40. HTML: <div class=" ...

  7. OC 异步顺序加载的方法

    方法一:发射信号量 OC -异步顺序加载 先调用A接口,再调用B接口,再调用C接口 dispatch_semaphore_t semaphore = dispatch_semaphore_create ...

  8. 明星单品tab

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. Android自定义安全键盘

    在银行APP里经常要自定义键盘,例如实现下面这样的效果       首先在xml文件里定义键盘 <Keyboard xmlns:android="http://schemas.andr ...

  10. mongodb 聚合查询

    操作符介绍: $project:包含.排除.重命名和显示字段 $match:查询,需要同find()一样的参数 $limit:限制结果数量 $skip:忽略结果的数量 $sort:按照给定的字段排序结 ...