Xen的記憶體空間

2021-05-22 16:05:32 字數 1902 閱讀 7219

32位pae模式x86架構下,xen占用了最頂部的64mb的線性位址空間。分布如下:

ioremap_virt_end :0

ioremap_virt_start :ffc00000

directmap_virt_end :ffc00000

directmap_virt_start :ff000000

mapcache_virt_end :ff000000

mapcache_virt_start :fec00000

perdomain_virt_end :ff000000

perdomain_virt_start :fe800000

sh_linear_pt_virt_end :fe800000

sh_linear_pt_virt_start :fe000000

linear_pt_virt_end :fe000000

linear_pt_virt_start :fd800000

rdwr_mpt_virt_end :fd800000

rdwr_mpt_virt_start :fc800000

frametable_virt_end :fc800000

frametable_virt_start :f6800000

ro_mpt_virt_end :f6800000

ro_mpt_virt_start :f5800000

非pae模式,分布如下:

ioremap_virt_end :0

ioremap_virt_start :ffc00000

direct-map:  直接對映區域

directmap_virt_end :ffc00000

directmap_virt_start :ff000000

map cache:對映快取,用於快取domain位址對映

mapcache_virt_end :ff000000

mapcache_virt_start :fec00000

用於每個domain位址對映

perdomain_virt_end :ff000000

perdomain_virt_start :fe800000

shadow linear pagetable: 對映影子頁目錄和頁表

sh_linear_pt_virt_end :fe800000

sh_linear_pt_virt_start :fe400000

guest linear pagetable: 對映當前guest os的頁表結構,包括頁目錄和頁表

linear_pt_virt_end :fe400000

linear_pt_virt_start :fe000000

machine-to-physical translation table(rw): 可寫m2p表,能被xen讀寫,guest os不能訪問

rdwr_mpt_virt_end :fe000000

rdwr_mpt_virt_start :fdc00000

frame-info table: 系統物理頁資訊表,對應frame_table陣列

frametable_virt_end :fdc00000

frametable_virt_start :fc400000

machine-to-physical translation table(ro): 唯讀m2p表,能夠被guest os訪問。

ro_mpt_virt_end :fc400000

ro_mpt_virt_start :fc000000

附:1、xen堆(xenheap)區域即直接對映區域(direct-map),大小為12 mb。xen堆和傳統作業系統的核心相當,在系統初始化時占用了機器實體地址空間的前面12mb。 2、

分配記憶體空間

void calloc size t nobj,size t size 分配足夠的記憶體給nobj個大小為size的物件組成的陣列,並返回指向所分配區域的第乙個位元組的指標 若記憶體不夠,則返回null.該空間的初始化大小為0位元組.char p char calloc 100,sizeof cha...

C 記憶體空間

乙個c 程式編譯後占用的記憶體分為如下幾個部分 棧 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值。在乙個程序中,位於使用者虛擬位址空間頂部的是使用者棧,編譯器用它來實現函式的呼叫。堆 由程式設計師分配和釋放,若程式設計師不釋放,則程式結束時被os 存放由new,malloc分配的記憶體,可...

c 記憶體空間

題目 若char是一位元組,int是4位元組,指標型別是4位元組,如下 class ctest virtual void mem fun private char m chdata int m ndata static char s chdata char ctest s chdata 0 靜態成員...