-
Notifications
You must be signed in to change notification settings - Fork 18
Memory
Hadi Moshayedi edited this page Jun 4, 2015
·
2 revisions
Each process has the following virtual memory layout:
-
User Mode Memory:
-
0x00000000..0x7fffcfff
: Process text and data -
0x7fffd000..0x7fffdfff
: User mode stack (4096 bytes) -
0x7fffe000..0x7fffefff
: Kernel mode stack (4096 bytes) -
0x7ffff000..0x7fffffff
: Unused -
Kernel Mode Memory:
-
0x80000000..0x801fffff
: Kernel text and data -
0x80200000..0x80200000+TOTAL_MEMORY_SIZE
: Allocatable memory (max: 1022MB) -
0xc0000000..0xc0399999
: Memory Mapped IO -
0xffff0000..0xffff0fff
: Interrupt vector
Every page is mapped to a page in "Allocatable memory" section. If a page is allocated from this section to a process, it's also mapped as a page in "User Mode Memory".