High memory

High memory

High Memory is the part of physical memory in a computer which is not directly mapped by the page tables of its operating system kernel. The phrase is also sometimes used as shorthand for the High Memory Area, which is a different concept entirely.

Some operating system kernels, such as Linux, divide their virtual address space into two regions, devoting the larger to user space and the smaller to the kernel. In current 32-bit x86 computers, this takes the form of a 3GB/1GB split of the 4GB address space, so kernel virtual addresses start at 0xC0000000 and go to 0xFFFFFFFF. When in user mode, translations are only effective for the first region, thus protecting the kernel from user programs, but when in kernel mode, translations are effective for both regions, thus giving the kernel an easy way to refer to the buffers of processes -- it just uses the process' own mappings.

However, if the kernel needs to refer to physical memory for which a userspace translation has not already been provided, it has only 1GB (for example) of virtual memory to use. On computers with a lot of physical memory, this can mean that there exists memory that the kernel cannot refer to directly -- this is called high memory. When the kernel wishes to address high memory, it creates a mapping on the fly and destroys the mapping when done, which incurs a performance penalty.

Sources and External Links

http://lwn.net/Articles/75174/


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • High Memory Area — High Memory Area, HMA  начальный участок дополнительной памяти объёмом 65520 байт (64 килобайта минус 16 байт) с адресами от 10000016 до 10FFEF16 (сразу после Upper Memory Area), доступный в реальном режиме через верхние сегменты адресного… …   Википедия

  • High Memory Area —   [Abk. HMA, dt. »hoher Speicherbereich«] die, (hoher Speicher), unter DOS ein 64 KByte großer Bereich des Arbeitsspeichers, der am Beginn des XMS Speichers lag, also direkt an das erste MByte des Arbeitsspeichers anschloss. Die HMA konnte… …   Universal-Lexikon

  • High Memory Area — The High Memory Area (HMA) is the RAM area consisting of the first 64 kibibytes (KiB), minus 16 bytes, of the extended memory on an IBM PC or compatible microcomputer.In real mode, the segmentation architecture of the Intel 80286 and subsequent… …   Wikipedia

  • High Memory Area — Der Begriff High Memory Area bezeichnet bei einem x86 kompatiblen Prozessor die ersten 65520 Byte oberhalb der 1 MB Grenze. Die deutsche Übersetzung hoher Speicherbereich ist gebräuchlich, aber auch im deutschen Sprachraum wird zumeist… …   Deutsch Wikipedia

  • high memory — area of approximately 640K beyond the first megabyte of memory (in computers running on DOS) …   English contemporary dictionary

  • high memory area —    Abbreviated HMA. In a computer running MS DOS, the first 64KB of extended memory above the 1MB limit of 8086 and 8088 addresses. Programs that conform to the Extended Memory Specification (EMS) can use this memory as an extension of… …   Dictionary of networking

  • High Memory Area — first 640k of memory extended beyond 1 megabyte used to expand the basic memory in computers running on DOS, HMA …   English contemporary dictionary

  • High Memory Block — part of the first 640k of memory extended beyond 1 megabyte used to expand the basic memory in computers running on DOS …   English contemporary dictionary

  • Memory architecture — describes the methods used to implement electronic computer data storage in a manner that is a combination of the fastest, most reliable, most durable, and least expensive way to store and retrieve information. Depending on the specific… …   Wikipedia

  • High DOS Memory —   [dt. »hoher DOS Speicher«], High Memory Area …   Universal-Lexikon

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”