sanos home

Sanos memory map


 

This is an example of the virtual memory layout after Sanos has started up. You can use the cat /proc/virtmem command to display the virtual memory mapping.

start    end           size type  description
-------- -------- --------- ----  ----------------------------------------------------------------------------

00010000 00010fff        4K TIB   Thread information block for initial user mode thread
0010f000 00110fff        8K STK   Stack for initial user mode thread
00111000 00111fff        4K HBLK  Global user mode heap
00112000 00131fff      128K MALL  Committed region of global user mode heap 
02112000 02112fff        4K TIB   Thread information block for kernel log deamon
02211000 02212fff        8K STK   Stack for kernel log deamon
02213000 02220fff       56K UMOD  Shell module (sh.exe)
02221000 02221fff        4K TIB   Thread information block for shell process
0231f000 02321fff       12K STK   Stack for shell process
7ff00000 7ff10fff       68K UMOD  OS module (os.dll)
7ffdf000 7ffdffff        4K PEB   Process environment block

80000000 80057fff      352K KMOD  Kernel (krnl.dll) and network driver (rtl8139.sys) modules
90000000 90000fff        4K PTAB  Page directory tables (sparse)
90008000 90008fff        4K PTAB
901ff000 90200fff        8K PTAB
90240000 90244fff       20K PTAB
90248000 90249fff        8K PTAB
90400000 90400fff        4K SYS   System page (syspage). Contains TSS, GDT, IDT, and boot parameters  
90401000 90401fff        4K PTAB  Top-level page table with pointers to individual page directory pages.
90402000 90403fff        8K TCB   Thread control block for initial kernel thead (later becomes idle thread)
90404000 90405fff        8K SYS   Virtual address range allocations (osvmap and kmodmap)
90406000 90406fff        4K BAD   Video buffer
90800000 908bffff      768K PFDB  Page frame database with information about all physical memory pages
91000000 91000fff        4K HTAB  Handle table that maps handles to kernel objects
92000000 92001fff        8K ALOC  Start of kernel heap
92002000 92003fff        8K HEAP
92004000 92007fff       16K TCB   Thread control blocks for system task (systask) and initial thread (init)
92008000 92008fff        4K HEAP
92009000 92009fff        4K ALOC
9200a000 9200afff        4K HEAP
9200b000 9200bfff        4K ALOC
9200c000 9200dfff        8K HEAP
9200e000 92016fff       36K ALOC
92017000 92416fff     4096K CACH  Hard disk buffer cache
92417000 92417fff        4K HEAP
92418000 92419fff        8K TCB   Thread control block for cache buffer writer (lazywriter)
9241a000 92423fff       40K NIC   Ring buffers for network card
92424000 92454fff      196K RESV  Mapping of BIOS area (0x000f0000)
92455000 92455fff        4K HEAP
92456000 92457fff        8K TCB   Thread control block for ethernet packet transmit task (ethertask)
92458000 9245cfff       20K ALOC
9245d000 9245dfff        4K HEAP
9245e000 92463fff       24K TCB   Thread control blocks for loopback adapter and user threads
92464000 92464fff        4K ALOC