1 / 4
文档名称:

什么叫实模式,什么叫保护模式.doc

格式:doc   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

什么叫实模式,什么叫保护模式.doc

上传人:xxj16588 2016/3/5 文件大小:0 KB

下载得到文件列表

什么叫实模式,什么叫保护模式.doc

文档介绍

文档介绍:什么叫实模式, 什么叫保护模式? 概念……没背过特点…… DOS 就是实模式的,现在的 Winows 、 Unix 之类东西都是保护模式的。实模式下只能访问那可怜的 1M 内存,要想突破这个限制,麻烦得很,你还记得 DOS 下那一堆什么 XMS (扩充内存)、 EMS ( 扩展内存) 吧?本来是连续的 64M 内存,在 DOS 下访问, 还得调用什么中断,好麻烦。 C++ 之所以当时有些名气就是占了这个便宜,说集成开发环境, 那和 BC 是没法比,但就因为它提供了 DOS4GW 支持,可以很方便的是你的程序在 DOS 访问 4G 内存,写 32 位的程序。至于保护模式, 特性挺多, 如线性地址、虚拟内存、权限保护之类的东西都是 CPU 提供的功能,为开发现代操作系统提供了很多便利。 x86CPU 在初始化的时候都是先进入实模式,然后操作系统再切换到保护模式。详情你找本书看看吧。有一本《 386 保护模式编程》你可以看看,写得挺多。 dos 下内存是很简单的,指针指向的几乎就是实际的物理地址。实模式的指针是 16bit 的, 就是直接访问的内存是 640k,640k~1 M 之间的内存是通过中断把页切换到 640 k 里读写完之后又 Move 到 640k 以外的。 Dos4GW 又提供了别的中断来访问 1M~8M 以外的内存。你理解在操作系统限制的时候做这些突破是多么“技巧”的一个年代吧。其实 386 已经支持 32 位指针了, 这时又引入了 GDT,LDT 等概念。怎么说呢.... 靠, 这样吧, 比如你有一大衣柜( GDT ) ,有无数的小抽屉(LDT) 。这个抽屉是你的,那个是你 MM 的, 你 MM 翻你的抽屉就会发现套套,你翻你 MM 的抽屉会发现情书... 所以要保护! 《 386 保护模式编程》书我看问题的追溯到 8086/8088 在 80866/88 时代,地址线只有 20 条,只能寻址到 1M 8086 采用段式存储管理,每个段最多寻址 64k ,原因:指针是 16bit 的到 80286 是地址线达到 32 条,可以寻址到 4G 的虚拟空间此时提出了保护模式可采用分页式存储管理,以寻址到 4G 的空间现在的操作系统都是基于 80286 的保护模式区别与 8086 提供的实地址方式简介(转) 这篇文章将会着重介绍内存寻址的不同方法。因为我没能全部亲自参与工作--, 所以我将用这篇文章作为对不同技术的摼閿。首先,我将从范围为 00000000-000FFFFF 的 1M 内存的地址使用分配方式的描述开始。然后我将试图探讨 1MB-4GB 范围内存寻址的问题。 1M 内存当我们说到 1M 内存时,我们将谈到实模式( real-mode ) ,一种分段式内存模式,不具有 32 位寻址和内存分页的功能。低端内存的特定区域都保留做特殊用途并必须进行正确处理。为了说明这一点,我将列出 1M 内存的映射的实例。 00000 003FF IVT Interrupt Vector Table ( 中断向量表) 00400 004FF BDA BIOS Data Area ( 基本输入输出数据区) 00500 00501 PRTSCR 1st byte is Print Screen Status BYTE ( 第一字节是打印屏幕状态字节) 0050