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.
Full or near full memory normally means that a system is running as efficiently as it can — not that it's running into problems.
If the kernel cannot kill a process using a large amount of memory, it will start killing other available processes. This can include processes that also might be important operating system processes. The system could potentially go down completely as a result.
The Linux kernel has its own virtual address space, as every user mode process does. The virtual address space of the kernel (1 GB sized in a 3G/1G split) is divided into two parts: Low memory or LOWMEM, which is the first 896 MB. High memory or HIGHMEM, represented by the top 128 MB.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With