在各种窗体中,内存的上一个常规指南

文章翻译 文章翻译
文章编号: 37242 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文提供了在 PC 和 PS/2 的系统上的不同的窗体在 MS-DOS 环境中可用的内存的一般说明。它还讨论了哪些类型的软件使用这些不同的区域和创建并控制这些区域的某些需要哪些驱动程序。

这篇文章"的内存映射"的第一节显示概述了这些不同的窗体的内存的布局的内存映射。在下一节"类型的内存,"讨论内存,和物理和逻辑组件和驱动程序的主要的窗体。"公式"部分提供了一些很方便的公式,用于显示可以如何使用或模拟内存的这些区域。后给出的内存的简短说明这篇文章中提到的管理设备驱动程序"内存驱动程序"部分。在最后一节"进一步阅读,提供了有关这些形式的内存中的一部分的详细信息的其他阅读材料。

更多信息

有多种形式的内存: 常规、 扩展,EMS、 XMA,和 xms 数量。 下面是内存的每个窗体的说明和如何它们之间的相互关系,因为存在许多关系,必须将读取以下材料两次,以消除未定义的术语的任何引用。

内存映射

下面是一个插图显示了各种组件的内存可用的 (请注意它是一个非常一般的映射):
    32M +--------------------------------------------+
        |                                            |
        | expanded memory board                      | ----+
        |                                            |     |
      0 +--------------------------------------------+     |
                                                           |
                                                           |
        +------------------------------------------- +     |
        |                                            |     |
        | built-in memory                            |     |
        |                                            |     |
    nM* +--------------------------------------------+     |
        |                                            |     |
        | extended memory (1M-nM*)                   |     |
        |                                            |     |
        +- - - - - - - - - - - - - - - - - - - - - - +     |
        |                                            |     |
        | high memory area (FFFF:0010-FFFF:FFFFh)    |     |
        |                                            |     |
     1M +--------------------------------------------+     |
        |                                            |     |
        | upper memory area (640K-1M)                |     |
        |                                            |     |
        +- - - - - - - - - - - - - - - - - - - - - - +     |
        |                                            |     |
        | expanded memory page frame (64K)           | <---+
        |                                            |
        +- - - - - - - - - - - - - - - - - - - - - - +
        |                                            |
   640K +--------------------------------------------+
        |                                            |
        | extended BIOS data area (1K)               |
        |                                            |
   639K +- - - - - - - - - - - - - - - - - - - - - - +
        |                                            |
        | conventional memory (0K-640K)              |
        |                                            |
      0 +--------------------------------------------+

        +--------------------------------------------+
        |                                            |
        | IBM expanded memory adapter (XMA)          |
        |                                            |
        +--------------------------------------------+

* nM = 16 MB on an 80286, 4 gigabytes on an 80386
				

类型的内存

  • 常规内存

    英特尔 8086 系统可以解决 1 MB 的内存。(更高版本的系统可以解决多个在其他模式下)。在 PC 和 PS/2 的系统上划分到常规内存区域和高端内存区 (UMA)。

    常规内存区域是内存的 0 K-640 K 部分的"正常"。此区域的内存使用 MS-DOS 和正常的应用程序软件。

    UMA 为 640 K-1 MB 节通常包含视频适配器缓冲区、 网络的卡缓冲区和其他的内存缓冲区和工作的外围设备和 ROM BIOS 方面。它还通常用于 EMS 系统上存储扩展的内存页框架。此区域的内存通常使用 ROM BIOS 和如扩展的内存管理器的外围设备。
  • 扩展的内存

    扩展的内存区域是仅在 80286 和 80386 系统上可用的内存区域。此内存开始于 1 MB。 在 80286 的系统上上限 16 MB ; 80386 的系统上,上限为 4 gb。只有在保护模式下可寻址时此内存。它通常由系统软件 (RAMDrive SMARTDrive,VDISK,EMM386.SYS、 XMAEM.SYS 和 HIMEM.SYS)。

    内置的内存 (BIM) 是内存的一种形式的 Compaq 和某些其他 80386 OEM 系统上存在。这些系统上他们主板,有 1 MB 的常规内存,并且此额外 384 K 的内置的内存被映射到顶部的扩展的内存,因为 UMA 已占用上部的 384 K 的常规内存。系统软件通常使用此区域的内存。HIMEM.SYS 使用此内存,并且如果可用,包括它在其扩展的内存块中。(其他 OEM 系统还具有其他 384 64k 其主板上未使用的内存。此内存映射到一个常见位置是第一节的扩展内存)。
  • EMS 内存

    一个扩展的内存板是一个单独的板包含 EMS 内存最多 32 MB 的而) 可在任何英特尔上处理这些 80x86 系统通过扩展的内存的页面框架分页的内存的 16k 部分位于 UMA 中。

    在使用扩展的内存页框架通常位于 UMA,是从该应用程序访问扩充的内存的 16k 物理页面的集合。这些页面框架是从展开的内存板中分页的内存帧。此区域的内存以独占方式由扩展的内存管理器 (如 EMM386.SYS) 又称为系统软件 (如缓冲区作为 / X Fastopen / X、 SMARTDrive、 RAMDrive、 VDISK、 MSCDEX 和 Windows) 和应用程序软件控制 (例如 Excel 和程序员的库)。

    或者,80386 系统可以通过为始终位于 UMA 于扩展的内存页框架分页 16k 部分内存模拟 EMS 内存使用 80386 特定的功能。EMM386,QEMM 和 386MAX 都属于此软件。
  • XMA 内存

    IBM 扩充的内存适配器 (XMA) 是一个单独的板包含 IBM (或兼容) 可以作为扩充的内存或使用适当的软件的驱动程序的扩展的内存寻址的 XMA 内存。
  • 内存 xms 数量

    xms 数量的内存是 UMA 和扩展的内存区域的集合,并由扩展的内存管理器 (XMM) 如 HIMEM.SYS 控制。扩展的内存区域才在 80286 和 80386 系统上可用。扩展的内存区域划分为两个逻辑区域由该 XMM: 高内存区 (HMA) 和扩展的内存块。因此,xms 数量内存由 UMA、 HMA 和扩展的内存区域组成。

    在 HMA 是内存的 64k 的位于扩展的内存区域的开始处。它仅在 80286 和 80386 使用扩展内存的系统上存在。安装了 HIMEM.SYS 或另一个 xms 数量驱动程序时,此区域仅存在以受控制的、 易于访问的方式。此区域的内存是以独占方式扩展的内存管理器 (如 HIMEM.SYS) 又称为系统软件 (如 Windows) 和应用程序软件控制的。

    高端内存块 (UMBs) 是内存的,某些 80286 和 80386 系统上可用,并位于 UMA 中块。在数字、 大小,和这些块的位置差异很大,取决于计算机中安装的硬件适配器卡的类型。 xms 数量规范创建这些抽象数据类型。(HIMEM.SYS 不实现 UMBs ; 在 MS-DOS 5.0 和更高版本中,EMM386.EXE 不会)。

    扩展的内存块 (EMBs) 是扩展内存的块。在 xms 数量规范创建这些抽象数据类型。此区域仅可用于数据存储 (也就是它们不能用来存储代码)。EMBs 存在允许分配其他方面是很难解决和以受控方式操纵的扩展的内存的系统和应用程序软件。

公式

以下是一些规则和公式的组合,修改,和模拟内存以使其非常有用:
  <XMS memory> = <extended memory> + HIMEM.SYS

   <XMS memory including UMBS> = <80386 system> + <extended memory> +
                   HIMEM.SYS + EMM386.EXE (version 4.33.06x or later)

   <XMA memory> = proprietary memory adapter of IBM

   <EMS memory> = usable by MS-DOS and applications

   <extended memory> = usable by some applications

   <XMA memory> = <80386 system> + <extended memory> + XMAEM.SYS

   <EMS memory> = <80386 system> + <extended memory> +
                  EMM386.SYS (version 4.0)

   <EMS memory> = <80386 system> + <extended memory> + HIMEM.SYS +
                  EMM386.SYS or EMM386.EXE (version 4.10.0419 or later)
				
这意味着两阶段系统所需的 IBM 的 PC DOS 所有者将其 80386 的扩展的内存转换到 EMS 内存是,如下所示:
   <EMS memory> = <80386 system> + <extended memory> + XMAEM.SYS +
                  XMA2EMS.SYS
				
需要处理的一种状态时由 Microsoft MS-DOS 用户若要将其 80386 系统转换为 EMS 内存,如下所示是:
   <EMS memory> = <80386 system> + <extended memory> +
                  EMM386.SYS (version 4.0)

   <EMS memory> = <80386 system> + <extended memory> + HIMEM.SYS +
                  EMM386.SYS (version 4.10.0419)

   <EMS memory> = <80386 system> + <extended memory> + HIMEM.SYS +
                  EMM386.EXE (version 4.20.06x)
				
如果您有一个 80386 系统、 扩展的内存和 MS-DOS,可以使用 EMM386.SYS 获取 EMS 内存。如果您具有相同的系统和内存使用 IBM 的 PC 的 DOS,则必须使用两个驱动程序,XMAEM.SYS 和 XMA2EMS.SYS,实现 EMS 内存。

如果有一个 80286 系统,并且想要使用扩展的内存为 EMS 内存不能使用现有的驱动程序包括使用 MS-DOS。其中的某些扩展主板附带了可以使用该 EMS 仿真程序的内存。

内存驱动程序

Microsoft 驱动程序 HIMEM.SYS 接管 80286 和 80386 扩展内存,将其转换为 xms 数量规范的扩展的内存区域。它也采用此扩展的内存区域的第一个数据 64k,并将它转换成该 HMA。

IBM 的 PC DOS 4.0 版驱动程序 XMAEM.SYS 采用 IBM PS/2 模型 80 80386 扩展内存并使用它来模拟 IBM XMA 内存。(与 XMA2EMS.SYS 驱动程序一起使用,它是可能使用该内存作为 EMS 内存。

IBM 的 PC DOS 4.0 版驱动程序 XMA2EMS.SYS 采用 IBM XMA 内存 (或模拟的 XMAEM.SYS 驱动程序所创建的 XMA 内存),并使用它来模拟 LIM/EMS 内存。

MS-DOS 版本 4.0 驱动程序 EMM386.SYS 提取 80386 扩展的内存,并使用它来模拟 LIM/EMS 内存。

参考

有关 LIM/EMS 内存的详细信息,请参阅正式的规范,"lotus/英特尔/扩展内存规范版本 4.0,"可免费从英特尔通过调用 (800) 538-3373。

xms 数量内存的详细信息,请参阅正式的规范将"可扩展内存规范版本 3.0,"可免费从 Microsoft。若要获取规范,请参阅下面的"为下载的说明"部分。

有关的 IBM PS/2 和兼容的 OEM 系统 BIOS 扩展数据区域的详细信息,请参阅在"IBM PS/2 和计算机 BIOS 接口技术参考,"通过调用 (800) 的 IBM PCTB 的部件号 68 X 2260,ibm 可用。(包含类似的材料的另一个引用是微软出版社简介册"程序员快速参考系列: IBM ROM BIOS,"通过 Ray 博 ISBN 1-55615-135 7)

有关 Compaq 内置内存 (BIM) 的详细信息,请参阅在"compaq DeskPro 386(TM) 个人计算机技术参考指南,"可从 Compaq。

属性

文章编号: 37242 - 最后修改: 2003年5月12日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft MS-DOS 2.11 标准版
  • Microsoft MS-DOS 3.1
  • Microsoft MS-DOS 3.2 标准版
  • Microsoft MS-DOS 3.21 标准版
  • Microsoft MS-DOS 3.3 标准版
  • Microsoft MS-DOS 3.3a
  • Microsoft MS-DOS 4.0 标准版
  • Microsoft MS-DOS 4.01 标准版
  • Microsoft MS-DOS 5.0 标准版
  • Microsoft MS-DOS 5.0a
  • Microsoft MS-DOS 6.0 标准版
  • Microsoft MS-DOS 6.2 标准版
  • Microsoft MS-DOS 6.21 标准版
  • Microsoft MS-DOS 6.22 标准版
关键字:?
kbmt KB37242 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 37242
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com