Physical Memory Map
Views 1539 Votes 0 2010.04.07 20:53:37Operating System IX, Physical Memory Map
#000003, Stephanos S. Io, 07/04/2010, Rev 0.
1. Factors
i. Global Descriptor Table (GDT) - consists of 32 descriptors (each descriptor is 16-byte.).
ii. Interrupt Descriptor Table (IDT) - consists of 256 descriptors (each descriptor is 16-byte.).
iii. Task State Segment (TSS) - total 104-byte
iv. System Operating Information Descriptor (SOID) - 8-KiB
v. Initialiser Image - 1-MiB
vi. Kernel Image - 2-MiB
vii. Kernel Process Default Memory Pool - 8-MiB
viii. Page Tables - varies
ix. Physical Page Allocation Table (PPAT) - varies
2. Considered Exceptions
i. The ISA Memory Hole at 15 MiB-16 MiB was not considered because the modern PC systems do not use the ISA buses any more.
ii. There may be more memory holes in the middle of the address space. In this physical memory map, the extra non-standard holes are not considered, but the Physical Page Manager will automatically block them according to the BIOS information.
3. Physical Memory Map
|
Range |
Size |
Description |
|
0000000000000000-00000000000001FF |
16 * 32 = 512 bytes |
Global Descriptor Table (GDT) |
|
0000000000000200-0000000000000267 |
104 bytes |
Task State Segment (TSS) |
|
0000000000000268-00000000000003FF |
408 bytes |
Free Space |
|
0000000000000400-00000000000004FF |
256 bytes |
BIOS Data Area (BDA) |
|
0000000000000500-00000000000014FF |
16 * 256 = 4096 bytes |
Interrupt Descriptor Table (IDT) |
|
0000000000001500-0000000000001FFF |
2816 bytes |
Free Space |
|
0000000000002000-0000000000003FFF |
8192 bytes |
System Operating Information Descriptor (SOID) |
|
0000000000004000-000000000009FBFF |
637952 bytes |
Free Space |
|
000000000009FC00-000000000009FFFF |
1024 bytes |
Extended BIOS Data Area (EBDA) |
|
00000000000A0000-00000000000FFFFF |
393216 bytes |
Memory Mapped Hardware I/O Area ROM Area |
|
0000000000100000-00000000002FFFFF |
2097152 bytes |
Kernel Image |
|
0000000000200000-00000000002FFFFF |
1048576 bytes |
Initialiser Image |
|
0000000000200000-00000000009FFFFF |
8388608 bytes |
Kernel Process Default Memory Pool |
|
0000000000A00000-Var1 |
varies |
Page Tables |
|
Var1-Var2 |
varies |
Physical Page Allocation Table (PPAT) |
|
Var2-00000000FEBFFFFF |
varies |
Free Space |
|
00000000FEC00000-00000000FFFFFFFF |
varies |
System Reserved Area (BIOS, PnP NVRAM, ACPI, APIC, etc.) |
|
0000000100000000-FFFFFFFFFFFFFFFF |
varies (on physical memory size) |
Free Space |
Var1 = varies on the size of the page tables required to map the whole Physical Address Area into the Kernel Virtual Address Area.
Var2 = varies on the size of the PPAT.
New Open Source Base System
Operating System IX, Physical Memory Map
#000003, Stephanos S. Io, 07/04/2010, Rev 0.