Summary

  • As the original PCs had a limit of 640 kb for program memory and 1 Mb in total, people wanted more and there were workarounds to provide this.
  • These workarounds were primarily designed for the 8088 CPU,Expanded memory (EMS) swapped pages of memory into page frames that lived above the 640 kb line but below 1 Mb.
  • However, PCs with more than 20 bits of address space ran into problems as some programs “knew” that memory access above that would wrap around, and would block A20, the 21st address bit.
  • Extended memory (XMS) on the other hand, allowed DOS programs to allocate and free blocks of memory that were above the 1 Mb line,mapping them into a special area known as the high memory area (HMA).
  • Another way to access memory above the 1 Mb line was through protected mode, where in this mode, you could set up a segment that starts at zero and is as big as all the memory you can have, but MS-DOS couldn’t deal with this directly.

These days PCs can handle tremendous amounts of memory and virtual memory, with each program able to have its own view of physical memory.

By Al Williams

Original Article