




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔傾情為你奉上精選優(yōu)質文檔傾情為你奉上專心專注專業(yè)專心專注專業(yè)精選優(yōu)質文檔傾情為你奉上專心專注專業(yè)操作系統 實驗報告實驗序號:11實驗項目名稱:系統內存使用統計學號姓名專業(yè)、班12軟金2班實驗地點實1#418指導教師李遠敏實驗時間2014-12-30一、實驗目的及要求(1)了解Windows內存管理機制,理解頁式存儲管理技術。(2)熟悉Windows內存管理基本數據結構。(3)掌握Windows內存管理基本API的使用。二、實驗設備(環(huán)境)及要求一臺WindowsXP操作系統的計算機。計算機裝有Microsoft Visual Studio C+6.0專業(yè)版或企業(yè)版。三、實驗內容與步
2、驟1、相關系統數據結構說明系統結構MEMORYSTATUS中包含當前物理內存和虛擬內存信息,使用函數GlobalMemoryStatus()可以將這些信息存儲在結構MEMORYSTATUS中。結構原型: Typedef struct MEMORYSTATUSDWORD dwLength; /MEMORYSTATUSDWORD dwMemoryLoad; /內存利用率DWORD dwTotalPhys; /物理內存大小DWORD dwAvailPhys; /空閑物理內存大小DWORD dwTotalPageFile; /頁文件大小DWORD dwAvailPageFile; /空閑頁文件大小DW
3、ORD dwTotalVirtual; /虛擬地址空間大小DWORD dwAvailVirtual; /空閑虛擬地址空間大小 MEMORYSTATUS, *LPMEMORYSTATUS; 成員說明:dwLength:MEMORYSTATUS數據結構的大小,單位為字節(jié)。dwMemoryLoad:當前內存利用率,取值范圍為0100%,0表示內存沒有被使用,100%表示內存全部被使用。dwTotalPhys:物理內存的總字節(jié)數。dwAvailPhys:可用物理內存的字節(jié)數。dwToatlPageFile:頁文件的總字節(jié)數。頁文件是虛擬內在系統占用的磁盤空間。dwAvailPageFile:頁文件中可
4、用字節(jié)數。dwTotalVirtual:用戶模式下調用進程可以訪問的虛擬地址空間總字節(jié)數。dwAvailVirtual:用戶模式下調用進程虛擬地址空間中未提交和未保留的內存總字節(jié)數,即可用虛擬地址空間大小。2、相關API函數介紹獲取系統物理內存和虛擬內存使用信息。 原型: VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer /指向MEMORYSTATUS數據結構);參數說明: LpBuffer:指向MEMORYSTATUS數據結構的指針,函數GlobalMemoryStatus()將內存的當前信息存儲在該結構中。返回值: 該參數沒有返回值一。保留或提
5、交某一段虛擬地址空間函數VirtualAlloc()可以在調用進程的虛擬地址空間中保留或提交若干頁面。保留意味著這段虛擬地址不能被使用,當提交時,這段虛擬地址才真正被分配給該進程。原型:LPVOID VirtualAlloc( LPVOID lpAddress, /待分配空間的起始位置 DWORD dwSize, /待分配空間的大小 DWORD flAllocationType, /分配類型 DWORD flProtect /存取保護的類型參數說明:lpAddress:待分配空間的起始位置。若該值為NULL,系統將為其分配一合適的起始地址,否則用戶要指定一個準確的起始地址。dwSize:待分配
6、空間的大小。如果參數lpAddress不為NULL,則待分配空間在lpAddresslpAddress+dwSize范圍內。flAllocationType:分配類型,可以為表11-1所列標志的任意組合。表11-1 標志描述標志描述MEM COMMIT提交,即在內存或磁盤頁文件中分配物理內存MEM RESERVE保留進程的虛擬地址空間,而不分配物理內存。保留的空間在沒有被釋放之前,不能被其他分配操作如Malloc()和LocalAlloc()使用。被保留的地址空間可隨后使用VirtualAlloc()函數提交flProtect:指定存取保護的類型。若虛擬地址空間已經被提交,則在指定下面任何一個
7、屬性時要隨同PAGE GUARD(頁保護)和PAGE NOCACHE(頁無緩存)這兩個屬性。存取保護的類型如表11-2所示。表11-2 存取保護位的類型標志描述PAGE READONLY被提交的虛擬地址空間只讀PAGE READWRITE被提交的虛擬地址空間可讀/寫PAGE EXECUTE被提交的虛擬地址空間可執(zhí)行PAGE EXECUTE READ被提交的虛擬空間可執(zhí)行、可讀PAGE EXECUTE READWRITE被提交的虛擬空間可執(zhí)行、可讀/寫PAGE GUARD保護PAGE NOACCESS不允許訪問PAGE NOCACHE無緩存 返回值: 如果函數調用成功,則返回值為已分配虛擬地址空
8、間的起始地址。如果函數調用失敗,則返回值為NULL。若要得到更多的錯誤信息,可調用GetLastError()函數。釋放或注銷某一段虛擬地址空間 函數VirtualFree()用于釋放或注銷某一段虛擬地址空間。 原型: BOOL VirtualFree(LPVOID lpAddress, /待分配空間的起始位置DWORD dwSize, /待分配空間的大小DWORD dwFreeType /釋放操作類型);參數說明:lpAddress:待釋放空間的起始位置。如果dwFreeType值為MEM RELEASE,該參數必須使用VirtualAlloc()函數返回的地址。dwSize:待釋放空間的大
9、小。如果dwFree值為MEM RELEASE,該參數必須為0,否則待釋放空間在lpAddresslpAddress+dwSize范圍內。dwFreeType:釋放類型??梢詾楸?1-3所示標志的任意組合。 表11-3 釋放類型標志描述MEM DECOMMIT注銷提交,如果注銷一個沒有提交的虛擬地址空間,也不會導致失敗,即提交或沒有提交的虛擬地址空間都可以注銷MEM RELEASE釋放保留的虛擬地址空間,如果使用該標志,dwSize參數必須為0,否則函數失敗返回值:如果函數調用成功,則返回值為非零。如果函數調用失敗,則返回值為零。若要得到更多的錯誤信息,可調用GetLastError()函數。
10、分配內存空間 原型:Void * malloc(size t size);參數說明: Size:要分配內存大小,單位為B(字節(jié))。返回值: 該函數返回分配內存空間void類型的指針。如果返回NULL,說明沒有有效的內存空間可供分配。釋放內存空間 原型: Void free(void * memblock); 參數說明:* memblock:要釋放的內存地址。 返回值: 無。 用法舉例: / * MALLOC. C:This program allocates memorywith * malloc,then frees the memory with free. * / # include /
11、 * For MAX PATH definition * / # include # include Void main(void)Char * string; / * Allocate space for a pat name * / string=malloc( MAX PATH); /分配內存空間 if(string=NULL) prinf(“Insufficient memoryavailablen”); else printf(“Memory space allocated for path namen”):free(string);printf(“Memory free n”);3、實驗要求能正確使用系統函數GlobalMemoryStatus()和數據結構MEMORYSTATUS 了解系統內存和虛擬存儲空間使用情況,會使用VirtualAlloc()函數VirtualFree()函數分配和釋放虛擬存儲空間。4、實驗指導在Microsoft Visual C+6.0環(huán)境下選擇Win32 Console Application 建立一個控制臺工程文件,由于內存分配、釋放及系統存儲空間使用情況函數均是Microsoft Windows操作系統的系統調用,因此需要選擇An application that supports MFC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 禽類罐頭在國際市場的營銷策略考核試卷
- 數據處理技巧試題及答案
- 貨物運輸合同與責任保險考核試卷
- 學習數據庫在微服務中的應用模式試題及答案
- 三級計算機嵌入式考試科目調整分析試題及答案
- 公路橋梁設計相關試題及答案
- 全方向掌握公路工程執(zhí)照考試試題及答案
- 公路工程質量驗收標準考題及答案
- 建設安全網絡環(huán)境試題及答案
- 石材質量鑒別技巧考核試卷
- 《父親》音樂課件
- 護理管理pdca的課件
- 客戶服務與問題解決技巧培訓
- 騰訊云安全運維
- (材料)綜合物性測量系統
- 土壤農化分析實驗智慧樹知到課后章節(jié)答案2023年下甘肅農業(yè)大學
- 人教版八年級《竹竿舞》評課稿
- 往生薦亡功德文疏教學教材
- 有機植物生產中允許使用的投入品
- 儲罐腳手架搭設方案
- 教學茶樹植物保護茶樹常見害蟲及防治
評論
0/150
提交評論