11

HI I'm Korean and getting little confused on "The boot program first copies itself to a fixed high-memory address to free up low memory for the operating system".

What I know about low memory that I found by googling was that this is first 640K memory in DOS system. Does this means all of the OS system (like kernel) goes in to low memory (640K) ????

Thanks for reading this.

Young Hyun Yoo
  • 598
  • 10
  • 21
  • 2
    This is probably not appropriate for SO, but basically the answer is you can address lower memory registers with less bytes - http://unix.stackexchange.com/questions/4929/what-are-high-memory-and-low-memory-on-linux – Dagg Nabbit Jun 18 '12 at 03:48
  • lol at first I thought this was a joke like "how can you run out of memory in Linux??" – user541686 Jun 18 '12 at 03:50

1 Answers1

4

This link could be helpful: Virtual Memory

Mainly,

On 32-bit systems, memory is now divided into "high" and "low" memory. Low memory continues to be mapped directly into the kernel's address space, and is thus always reachable via a kernel-space pointer. High memory, instead, has no direct kernel mapping. When the kernel needs to work with a page in high memory, it must explicitly set up a special page table to map it into the kernel's address space first. This operation can be expensive, and there are limits on the number of high-memory pages which can be mapped at any particular time.

This question on unix.stackexchange is a little more in-depth: High and low memory

Community
  • 1
  • 1
wquist
  • 2,569
  • 1
  • 15
  • 14
  • Is this related to [AWE on Windows](http://en.wikipedia.org/wiki/Address_Windowing_Extensions)? – user541686 Jun 18 '12 at 03:54
  • Yes, they are similar. AWE basically allows low memory to address high memory at a larger location than the bits can represent, but this is not all high memory, only after ~4 GB for x32. The first article discusses this briefly. – wquist Jun 18 '12 at 03:58