Linux下使用c語言實現的內存管理模擬器
假設有臺計算機物理內存大小為4MB,每個內存頁大小為4k。采用分頁機制,使用二級頁表,第一級為頁目錄,共有1024項,每個頁目錄項指向一個頁表,每個頁表項指向一個實際的物理頁面,每個頁表共有1024個頁表項。假設頁目錄和頁表不占用內存空間。 系統中還有一個交換設備,采用分塊管理機制,每塊大小為4K,共1024個。有一系列內存訪問指令,系統根據內存訪問指令的內存虛地址訪問內存。如果頁目錄項為空,則分配一個頁表,并將相關值存入頁目錄項,如果頁表項為空,則請求分配一個內存頁,如果沒有空閑內存,則使用頁面置換算法換出一個內存頁到交換設備上。如果頁表項表明內存頁在交換設備上,則先請求一個物理內存頁,然后從交換設備上讀入內存內容,釋放交換設備上的磁盤塊。
標簽:
Linux
頁
MB
c語言
上傳時間:
2015-05-01
上傳用戶:ardager