Share on Facebook Share on Twitter Email
Answers.com

Extended memory

 

The name given to memory in an Intel PC above 1MB. Starting with the Intel 286, it was used directly by Windows and OS/2 as well as DOS applications that ran with DOS extenders. It was also used under DOS for RAM disks and disk caches. Contrast with expanded memory (EMS), which was specialized memory above 1MB. Today, the term is rarely heard, because the 1MB barrier was broken long ago. See EMS, XMS and DOS extender.

Download Computer Desktop Encyclopedia to your iPhone/iTouch

Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
Veterinary Dictionary: extended memory
Top

One of the methods for using memory in excess of 1 MB.

Wikipedia: Extended memory
Top
Extended memory is located above 1 MiB.

In computing, extended memory refers to memory above the first megabyte of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. DOS programs, running in real mode or virtual x86 mode, cannot directly access this memory, but are able to do so through an application programming interface called the eXtended Memory Specification (XMS). This API is implemented by a driver (such as HIMEM.SYS) or the operating system, which takes care of memory management and copying memory between conventional and extended memory, by temporarily switching the processor into protected mode. In this context the term "extended memory" may refer to either the whole of the extended memory or only the portion available through this API.

Extended memory should not be confused with expanded memory, an earlier method for expanding the IBM PC's memory capacity beyond 640 KiB using an expansion card with bank switched memory modules. Because of the available support for expanded memory in popular applications, device drivers were developed that emulated expanded memory using extended memory. Later two additional methods where developed allowing direct access to a small portion of extended memory from real mode. These memory areas are referred to as the high memory area and the upper memory blocks.

Contents

Overview

On x86-based PCs, extended memory is only available with an Intel 80286 processor or higher. Only these chips can address more than 1 MB of RAM. The earlier 8086/8088 processors can make use of more than 1 MB of RAM, if one employs special hardware to make selectable parts of it appear at addresses below 1 MB (paging).

On a 286 or better PC equipped with more than 640 KB of RAM, the additional memory would generally be re-mapped above the 1 MB boundary, since the IBM PC architecture mandates a 384 KB "hole" in memory between the 640 KB and 1 MB boundaries. This way all of the additional memory would be available to programs running in Protected mode. Even without such remapping, machines with more than 1 MB of RAM would have access to memory above 1 MB.

Extended memory is not directly accessible in real mode (except for the a small portion called the high memory area); only applications executing in protected mode can use extended memory directly. In this case, the extended memory is provided by a supervising protected-mode operating system such as Microsoft Windows. The processor makes this memory available through the Global Descriptor Table and one or more Local Descriptor Tables (LDTs). The memory is "protected" in the sense that memory segments assigned a local descriptor cannot be accessed by another program because that program uses a different LDT, and memory segments assigned a global descriptor can have their access rights restricted, causing a hardware trap (typically a General Protection Fault) on violation. This prevents programs running in protected mode from interfering with each other's memory.

A protected-mode operating system such as Microsoft Windows can also run real-mode programs and provide expanded memory to them. The DOS Protected Mode Interface is Microsoft's prescribed method for an MS-DOS program to access extended memory under a multitasking environment.

eXtended Memory Specification (XMS)

The eXtended Memory Specification or XMS is the specification describing the use of IBM PC extended memory in real mode for storing data (but not for running executable code in it). Memory is made available by extended memory manager (XMM) software such as HIMEM.SYS. The XMM functions are accessible through interrupt 2Fh.

XMS version 2.0 allow for up to 64 MiB of memory, with XMS version 3.0 this increased to 4 GiB. To differentiate between the possibly different amount of memory that might be available to applications, depending on which version of the specification they were developed to, the latter may be referred to as super extended memory or SXMS.

The extended memory manager is also responsible for managing allocations in the high memory area and the upper memory blocks. In practice the upper memory blocks will be provided by the expanded memory manager, after which DOS will try to allocate them all and manage them itself.

See also

References

Specifications
Microsoft Knowledge Base

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.


 
 

 

Copyrights:

Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2009 Computer Language Company Inc.  All rights reserved.  Read more
Veterinary Dictionary. Saunders Comprehensive Veterinary Dictionary 3rd Edition. Copyright © 2007 by D.C. Blood, V.P. Studdert and C.C. Gay, Elsevier. All rights reserved.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Extended memory" Read more