




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗3 Windows虛擬內(nèi)存(一)、虛擬內(nèi)存1 背景知識在Windows環(huán)境下,32位Windows系統(tǒng)中,232=4GB的虛擬地址空間被劃分成兩個部分:低端2GB提供給進(jìn)程使用,高端2GB提供給系統(tǒng)使用。這意味著用戶的應(yīng)用程序代碼,包括DLL以及進(jìn)程使用的各種數(shù)據(jù)等,都裝在用戶進(jìn)程地址空間內(nèi)(低端2GB)。用戶過程的虛擬地址空間也被分成三部分:1)虛擬內(nèi)存的已調(diào)配區(qū)(committed):具有備用的物理內(nèi)存,根據(jù)該區(qū)域設(shè)定的訪問權(quán)限,用戶可以進(jìn)行寫、讀或在其中執(zhí)行程序等操作。2)虛擬內(nèi)存的保留區(qū)(reserved):沒有備用的物理內(nèi)存,但有一定的訪問權(quán)限o 3)虛擬內(nèi)存的自由區(qū)(free)
2、:不限定其用途,有相應(yīng)的PAGE_NOACCESS權(quán)限。與虛擬內(nèi)存區(qū)相關(guān)的訪問權(quán)限告知系統(tǒng)進(jìn)程可在內(nèi)存中進(jìn)行何種類型的操作。例如,用戶不能在只有PAGE_READONLY權(quán)限的區(qū)域上進(jìn)行寫操作或執(zhí)行程序;也不能在只有PAGE_EXECUTE權(quán)限的區(qū)域里進(jìn)行讀、寫操作。而具有PAGE_NOACCESS權(quán)限的特殊區(qū)域,則意味著不允許進(jìn)程對其地址進(jìn)行任何操作。在進(jìn)程裝入之前,整個虛擬內(nèi)存的地址空間都被設(shè)置為只有PAGE_NOACCESS權(quán)限的自由區(qū)域。當(dāng)系統(tǒng)裝入進(jìn)程代碼和數(shù)據(jù)后,才將內(nèi)存地址的空間標(biāo)記為已調(diào)配區(qū)或保留區(qū),并將諸如EXECUTE、READWRITE和READONLY的權(quán)限與這些區(qū)域相關(guān)
3、聯(lián)。如表1所示,給出了MEMORY_BASIC_INFORMATION的結(jié)構(gòu),此數(shù)據(jù)描述了進(jìn)程虛擬內(nèi)存空間中一組虛擬內(nèi)存頁面的當(dāng)前狀態(tài),其中State項表明這些區(qū)域是否為自由區(qū)、已調(diào)配區(qū)或保留區(qū);Protect項則包含了Windows系統(tǒng)為這些區(qū)域添加了何種訪問保護(hù);Type項則表明這些區(qū)域是可執(zhí)行圖像、內(nèi)存映射文件還是簡單的私有內(nèi)存。VirtualQueryEX()API能讓用戶在指定的進(jìn)程中,對虛擬內(nèi)存地址的大小和屬性進(jìn)行檢測。Windows還提供了一整套能使用戶精確控制應(yīng)用程序的虛擬地址空間的虛擬內(nèi)存API。一些用于虛擬內(nèi)存操作及檢測的API如表2所示。表1 MEMORY_BASIC_I
4、NFORMATION結(jié)構(gòu)的成員成員名稱目 的PVOID BaseAddress虛擬內(nèi)存區(qū)域開始處的指針PVOID AllocationBase如果這個特定的區(qū)域為子分配區(qū)的話,則為虛擬內(nèi)存外面區(qū)域的指針;否則,此值與BaseAddress相同DWORD AllocationProtect虛擬內(nèi)存最初分配區(qū)域的保護(hù)屬性。其可能值包括:PAGE_NOACCESS,PAGE_READONLY,PAGE_READWRITE和PAGE_EXECUTE_READDWORD RegionSize 虛擬內(nèi)存區(qū)域的字節(jié)數(shù)DWORD State 區(qū)域的當(dāng)前分配狀態(tài)。其可能值為MEM_COMMIT,MEM_FREE
5、和MEM_RESERVEDW()RD Protect虛擬內(nèi)存當(dāng)前區(qū)域的保護(hù)屬性??赡苤蹬cAllocationProtect成員的相同DWORD Type虛擬內(nèi)存區(qū)域中出現(xiàn)的頁面類型。可能值為MEM_IMAGE,MEM_ MAPPED和MEM_PRIVATE表2 虛擬內(nèi)存的APIAPl名稱描 述VirtualQueryEx()通過填充MEMORY_BASIC_INFORMATION結(jié)構(gòu)檢測進(jìn)程內(nèi)虛擬內(nèi)存的區(qū)域VirtuaAlloc()保留或調(diào)配進(jìn)程的部分虛擬內(nèi)存,設(shè)置分配和保護(hù)標(biāo)志VirtualFree()釋放或收回應(yīng)用程序使用的部分虛擬地址VirtualProtect()改變虛擬內(nèi)存區(qū)域保護(hù)規(guī)
6、范VirtualLock() 防止系統(tǒng)將虛擬內(nèi)存區(qū)域通過系統(tǒng)交換到頁面文件中VirtualUnlock()釋放虛擬內(nèi)存的鎖定區(qū)域,必要時,允許系統(tǒng)將其交換到頁面文件中 提供虛擬內(nèi)存分配功能的是VinualAlloc()API。該API支持用戶向系統(tǒng)要求新的虛擬內(nèi)存或改變已分配內(nèi)存的當(dāng)前狀態(tài)。用戶若想通過VirtualAlloc()函數(shù)使用虛擬內(nèi)存,可以采用兩種方式通知系統(tǒng):1)簡單地將內(nèi)存內(nèi)容保存在地址空間內(nèi)。2)請求系統(tǒng)返回帶有物理存儲區(qū)(RAM的空間或換頁文件)的部分地址空間。用戶可以用flAllocation Type參數(shù)(commit和reserve)來定義這些方式,用戶可以通知Win
7、dows按只讀、讀寫、不可讀寫、執(zhí)行或特殊方式來處理新的虛擬內(nèi)存。與VirtualAlloc()函數(shù)對應(yīng)的是VirtualFree()函數(shù),其作用是釋放虛擬內(nèi)存中的已調(diào)配頁或保留頁。用戶可利用dwFreeType參數(shù)將已調(diào)配頁修改成保留頁屬性。VirtualProtect()是VirtualAlloc()的一個輔助函數(shù),利用它可以改變虛擬內(nèi)存區(qū)的保護(hù)規(guī)范。2 實(shí)驗?zāi)康?)通過實(shí)驗了解Windows內(nèi)存的使用,學(xué)習(xí)如何在應(yīng)用程序中管理內(nèi)存,體會Windows應(yīng)用程序內(nèi)存的簡單性和自我防護(hù)能力。2)學(xué)習(xí)檢查虛擬內(nèi)存空間或?qū)ζ溥M(jìn)行操作。3)了解Windows的內(nèi)存結(jié)構(gòu)和虛擬內(nèi)存的管理,進(jìn)而了解進(jìn)程堆
8、和Windows為使用內(nèi)存而提供的一些擴(kuò)展功能。3 實(shí)驗內(nèi)容與步驟虛擬內(nèi)存的檢測清單2所示的程序使用VirtualQueryEX()函數(shù)來檢查虛擬內(nèi)存空間。步驟1:在“開始”菜單中單擊“程序”、 “Microsoft Visual Studio 60”、“MicrosoftVisualC+60”,進(jìn)入VisualC+窗口。步驟2:運(yùn)行以下程序清單清單2 檢測進(jìn)程的虛擬地址空間#include#include#include#include#pragma comment(lib,shlwapi.lib)/以可讀方式對用戶顯示保護(hù)的輔助方法。/保護(hù)標(biāo)記表示允許應(yīng)用程序?qū)?nèi)存進(jìn)行訪問的類型以及操作系
9、統(tǒng)強(qiáng)制訪問的類型inline bool TestSet(DWORD dwTarget, DWORD dwMask)return(dwTarget & dwMask)=dwMask);#define SHOWMASK(dwTarget,type)if(TestSet(dwTarget,PAGE_#type)std:cout,#type;void ShowProtection(DWORD dwTarget)SHOWMASK(dwTarget,READONLY);SHOWMASK(dwTarget,GUARD);SHOWMASK(dwTarget,NOCACHE);SHOWMASK(dwTarget
10、,READWRITE);SHOWMASK(dwTarget,WRITECOPY);SHOWMASK(dwTarget,EXECUTE);SHOWMASK(dwTarget,EXECUTE_READ);SHOWMASK(dwTarget,EXECUTE_READWRITE);SHOWMASK(dwTarget,EXECUTE_WRITECOPY);SHOWMASK(dwTarget,NOACCESS);/遍歷整個虛擬內(nèi)存并對用戶顯示其屬性的工作程序的方法void WalkVM(HANDLE hProcess)/首先,獲得系統(tǒng)信息SYSTEM_INFO si;:ZeroMemory(&si,siz
11、eof(si);:GetSystemInfo(&si);/分配要存放信息的緩沖區(qū)MEMORY_BASIC_INFORMATION mbi;:ZeroMemory(&mbi,sizeof(mbi);/循環(huán)整個應(yīng)用程序地址空間LPCVOID pBlock=(LPVOID)si.lpMinimumApplicationAddress;while(pBlocksi.lpMaximumApplicationAddress)/獲得下一個虛擬內(nèi)存塊的信息if(:VirtualQueryEx(hProcess,/相關(guān)的進(jìn)程pBlock,/開始位置&mbi,/緩沖區(qū)sizeof(mbi)=sizeof(mbi)
12、/大小的確認(rèn)/計算塊的結(jié)尾及其大小LPCVOID pEnd=(PBYTE)pBlock+mbi.RegionSize;TCHAR szSizeMAX_PATH;:StrFormatByteSize(mbi.RegionSize,szSize,MAX_PATH);/顯示塊地址和大小std:cout.fill(0);std:coutstd:hexstd:setw(8)(DWORD)pBlock-std:hexstd:setw(8)(DWORD)pEnd(strlen(szSize)=7?(:()szSize);/顯示塊的狀態(tài)switch(mbi.State)case MEM_COMMIT:std:
13、cout,Committed;break;case MEM_FREE:std:cout,Free;break;case MEM_RESERVE:std:cout,Reserved;break;/顯示保護(hù)if(mbi.Protect=0&mbi.State!=MEM_FREE)mbi.Protect=PAGE_READONLY;ShowProtection(mbi.Protect);/顯示類型switch(mbi.Type)case MEM_IMAGE:std:cout,Image;break;case MEM_MAPPED:std:cout,Mapped;break;case MEM_PRIV
14、ATE:std:cout0)/除去路徑并顯示:PathStripPath(szFilename);std:cout,Module:szFilename;std:coutstd:endl;/移動塊指針以獲得下一個塊pBlock=pEnd;void main()/遍歷當(dāng)前進(jìn)程的虛擬內(nèi)存:WalkVM(:GetCurrentProcess();清單2中顯示一個WalkVM()函數(shù)開始于某個進(jìn)程可訪問的最低端虛擬地址處,并在其中顯示各塊虛擬內(nèi)存的特性。虛擬內(nèi)存中的塊由VirtualQueryEx()APl定義成連續(xù)塊或具有相同狀態(tài)(自由區(qū)、已調(diào)配區(qū)等)的內(nèi)存,并分配以一組統(tǒng)一的保護(hù)標(biāo)志(只讀、可執(zhí)行等
15、)?;卮鹣铝袉栴}:1) 分析運(yùn)行結(jié)果committed、reserved、free分別表示什么含義?_1)虛擬內(nèi)存的已調(diào)配區(qū)(committed):具有備用的物理內(nèi)存,根據(jù)該區(qū)域設(shè)定的訪問權(quán)限,用戶可以進(jìn)行寫、讀或在其中執(zhí)行程序等操作。2)虛擬內(nèi)存的保留區(qū)(reserved):沒有備用的物理內(nèi)存,但有一定的訪問權(quán)限o 3)虛擬內(nèi)存的自由區(qū)(free):不限定其用途,有相應(yīng)的PAGE_NOACCESS權(quán)限。_按committed、reserved、free等三種虛擬地址空間分別記錄實(shí)驗數(shù)據(jù),其中“描述”是指對該組數(shù)據(jù)的簡單描述,例如,對下列一組數(shù)據(jù):0001000000012000Committ
16、ed,READWRITE,Private可描述為:具有READWRITE權(quán)限的已調(diào)配私有內(nèi)存區(qū)。將系統(tǒng)當(dāng)前的自由區(qū)(free)虛擬地址空間填入表1中。(表格可以自己畫,通過把運(yùn)行結(jié)果復(fù)制到word中文字轉(zhuǎn)換成表格)表1 實(shí)驗記錄00012000-00020000(56.0 KB)FreeNOACCESS00021000-00030000(60.0 KB)FreeNOACCESS00133000-00140000(52.0 KB)FreeNOACCESS00276000-00280000(40.0 KB)FreeNOACCESS002c1000-002d0000(60.0 KB)FreeNOAC
17、CESS00311000-00320000(60.0 KB)FreeNOACCESS00326000-00330000(40.0 KB)FreeNOACCESS00371000-00380000(60.0 KB)FreeNOACCESS00391000-003a0000(60.0 KB)FreeNOACCESS003a1000-003b0000(60.0 KB)FreeNOACCESS003c3000-003d0000(52.0 KB)FreeNOACCESS003128 KB)FreeNOACCESS00485000-00490000(44.0 KB)FreeN
18、OACCESS00558000-00560000(32.0 KB)FreeNOACCESS00663000-00670000(52.0 KB)FreeNOACCESS00970000-62c20000(1.53 GB)FreeNOACCESS62c29000-73fa0000(275 MB)FreeNOACCESS740034.9 MB)FreeNOACCESS7631d000-77be0000(24.7 MB)FreeNOACCESS77c38000-77d10000(864 KB)FreeNOACCESS77e49000-77e50000(28.0 KB)Fre
19、eNOACCESS77ee2000-77ef0000(56.0 KB)FreeNOACCESS77f39000-77f40000(28.0 KB)FreeNOACCESS77fb6000-77fc0000(40.0 KB)FreeNOACCESS77fd1000-7c800000(72.1 MB)FreeNOACCESS7c91e000-7c920000(8.00 KB)FreeNOACCESS7c9b3000-7f6f0000(45.2 MB)FreeNOACCESS7f7f0000-7ffa0000(7.68 MB)FreeNOACCESS7ffd3000-7ffd7000(16.0 KB
20、)FreeNOACCESS7ffd8000-7ffdf000(28.0 KB)FreeNOACCESS將系統(tǒng)當(dāng)前的已調(diào)配區(qū) (committed) 虛擬地址空間填入表2中。表2 實(shí)驗記錄00010000-00012000(8.00 KB)CommittedREADWRITEPrivate00020000-00021000(4.00 KB)CommittedREADWRITEPrivate0012c000-0012d000(4.00 KB)CommittedGUARDREADWRITEPrivate001212.0 KB)CommittedREADWRITEPriva
21、te00130000-00133000(12.0 KB)CommittedREADONLYMapped00140000-00145000(20.0 KB)CommittedREADWRITEPrivate00240000-00246000(24.0 KB)CommittedREADWRITEPrivate00250000-00253000(12.0 KB)CommittedREADWRITEMapped00260000-00276000(88.0 KB)CommittedREADONLYMapped00280000-002c1000(260 KB)CommittedREADONLYMapped
22、002260 KB)CommittedREADONLYMapped00320000-00326000(24.0 KB)CommittedREADONLYMapped00330000-00371000(260 KB)CommittedREADONLYMapped00380000-00388000(32.0 KB)CommittedREADWRITEPrivate00390000-00391000(4.00 KB)CommittedREADWRITEPrivate003a0000-003a1000(4.00 KB)CommittedREADWRITEPrivate00
23、3b0000-003b4000(16.0 KB)CommittedREADWRITEPrivate003c0000-003c3000(12.0 KB)CommittedREADONLYMapped003d0000-003d3000(12.0 KB)CommittedREADWRITEPrivate00400000-00401000(4.00 KB)CommittedREADONLYImageModule:111.exe00401000-00470000(444 KB)CommittedEXECUTE_READImage00470000-00478000(32.0 KB)CommittedREA
24、DONLYImage00478000-0047b000(12.0 KB)CommittedREADWRITEImage0047b000-0047d000(8.00 KB)CommittedWRITECOPYImage004716.0 KB)CommittedREADWRITEImage00481000-00485000(16.0 KB)CommittedREADONLYImage00490000-00496000(24.0 KB)CommittedEXECUTE_READMapped00550000-00552000(8.00 KB)CommittedEXECUTE
25、_READMapped00560000-00663000(1.01 MB)CommittedREADONLYMapped00670000-006ef000(508 KB)CommittedEXECUTE_READMapped62c20000-62c21000(4.00 KB)CommittedREADONLYImageModule:LPK.DLL62c21000-62c26000(20.0 KB)CommittedEXECUTE_READImage62c26000-62c27000(4.00 KB)CommittedREADWRITEImage62c27000-62c29000(8.00 KB
26、)CommittedREADONLYImage73fa0000-73fa1000(4.00 KB)CommittedREADONLYImageModule:USP10.dll73fa1000-73fe5000(272 KB)CommittedEXECUTE_READImage73fe5000-73fef000(40.0 KB)CommittedWRITECOPYImage73fef000-73ff1000(8.00 KB)CommittedREADWRITEImage73ff1000-73ff4000(12.0 KB)CommittedWRITECOPYImage73ff4000-73ff50
27、00(4.00 KB)CommittedREADWRITEImage73ff5000-7400b000(88.0 KB)CommittedREADONLYImage76300000-76301000(4.00 KB)CommittedREADONLYImageModule:IMM32.DLL76301000-76316000(84.0 KB)CommittedEXECUTE_READImage76316000-76317000(4.00 KB)CommittedREADWRITEImage76317000-7631d000(24.0 KB)CommittedREADONLYImage77be0
28、000-77be1000(4.00 KB)CommittedREADONLYImageModule:msvcrt.dll77be1000-77c2d000(304 KB)CommittedEXECUTE_READImage77c2d000-77c2f000(8.00 KB)CommittedWRITECOPYImage77c2f000-77c30000(4.00 KB)CommittedREADWRITEImage77c30000-77c31000(4.00 KB)CommittedWRITECOPYImage77c31000-77c34000(12.0 KB)CommittedREADWRI
29、TEImage77c34000-77c38000(16.0 KB)CommittedREADONLYImage77d10000-77d11000(4.00 KB)CommittedREADONLYImageModule:USER32.dll77d11000-77d71000(384 KB)CommittedEXECUTE_READImage77d71000-77d72000(4.00 KB)CommittedREADWRITEImage77d72000-77d73000(4.00 KB)CommittedWRITECOPYImage77d73000-77da0000(180 KB)Commit
30、tedREADONLYImage77da0000-77da1000(4.00 KB)CommittedREADONLYImageModule:ADVAPI32.dll77da1000-77e16000(468 KB)CommittedEXECUTE_READImage77e16000-77e17000(4.00 KB)CommittedREADWRITEImage77e17000-77e1b000(16.0 KB)CommittedWRITECOPYImage77e1b000-77e49000(184 KB)CommittedREADONLYImage77e50000-77e51000(4.0
31、0 KB)CommittedREADONLYImageModule:RPCRT4.dll77e51000-77edb000(552 KB)CommittedEXECUTE_READImage77edb000-77edc000(4.00 KB)CommittedREADWRITEImage77edc000-77ee2000(24.0 KB)CommittedREADONLYImage77ef0000-77ef1000(4.00 KB)CommittedREADONLYImageModule:GDI32.dll77ef1000-77f34000(268 KB)CommittedEXECUTE_RE
32、ADImage77f34000-77f36000(8.00 KB)CommittedREADWRITEImage77f36000-77f39000(12.0 KB)CommittedREADONLYImage77f40000-77f41000(4.00 KB)CommittedREADONLYImageModule:SHLWAPI.dll77f41000-77fad000(432 KB)CommittedEXECUTE_READImage77fad000-77fae000(4.00 KB)CommittedREADWRITEImage77fae000-77fb6000(32.0 KB)Comm
33、ittedREADONLYImage77fc0000-77fc1000(4.00 KB)CommittedREADONLYImageModule:Secur32.dll77fc1000-77fce000(52.0 KB)CommittedEXECUTE_READImage77fce000-77fcf000(4.00 KB)CommittedREADWRITEImage77fcf000-77fd1000(8.00 KB)CommittedREADONLYImage7c800000-7c801000(4.00 KB)CommittedREADONLYImageModule:kernel32.dll
34、7c801000-7c885000(528 KB)CommittedEXECUTE_READImage7c885000-7c888000(12.0 KB)CommittedREADWRITEImage7c888000-7c88a000(8.00 KB)CommittedWRITECOPYImage7c88a000-7c91e000(592 KB)CommittedREADONLYImage7c920000-7c921000(4.00 KB)CommittedREADONLYImageModule:ntdll.dll7c921000-7c99b000(488 KB)CommittedEXECUT
35、E_READImage7c99b000-7c99e000(12.0 KB)CommittedREADWRITEImage7c99e000-7c9a0000(8.00 KB)CommittedWRITECOPYImage7c9a0000-7c9b3000(76.0 KB)CommittedREADONLYImage7f6f0000-7f6f7000(28.0 KB)CommittedEXECUTE_READMapped7ffa0000-7ffd3000(204 KB)CommittedREADONLYMapped7ffd7000-7ffd8000(4.00 KB)CommittedREADWRI
36、TEPrivate7ffdf000-7ffe0000(4.00 KB)CommittedREADWRITEPrivate7ffe0000-7ffe1000(4.00 KB)CommittedREADONLYPrivate將系統(tǒng)當(dāng)前的保留區(qū) (reserved) 虛擬地址空間填入表3中。表3 實(shí)驗記錄00030000-0012c000(0.98 MB)ReservedREADONLYPrivate00145000-00240000(0.98 MB)ReservedREADONLYPrivate00246000-00250000(40.0 KB)ReservedREADONLYPrivate002
37、53000-00260000(52.0 KB)ReservedREADONLYMapped00388000-00390000(32.0 KB)ReservedREADONLYPrivate003b4000-003c0000(48.0 KB)ReservedREADONLYPrivate003d3000-003e0000(52.0 KB)ReservedREADONLYPrivate00496000-00550000(744 KB)ReservedREADONLYMapped00552000-00558000(24.0 KB)ReservedREADONLYMapped006ef000-0097
38、0000(2.50 MB)ReservedREADONLYMapped7f6f7000-7f7f0000(996 KB)ReservedREADONLYMapped7ffe1000-7fff0000(60.0 KB)ReservedNOACCESSPrivate2) 從上述輸出結(jié)果,對照分析程序,請簡單描述程序運(yùn)行的流程:從主程序開始,調(diào)用 walkvm(handle hProcess), walkvm(handle hprocess) 先獲得系統(tǒng)信息,分配應(yīng)用程序地址空間,進(jìn)行循環(huán)程序:獲得虛擬程序的內(nèi)存信息,顯示塊的大小和位置及狀態(tài),顯示保護(hù)方式和類型,檢查可執(zhí)行的影像,除去文件名的路徑并
39、將文件名顯示出來,移動塊指針獲得下一塊,循環(huán) 3) 實(shí)驗總結(jié)(根據(jù)實(shí)驗結(jié)果及自己查閱相關(guān)資料寫出VirtualAlloc()函數(shù)的作用,各個參數(shù)的可能值及含義。列出對虛擬內(nèi)存的認(rèn)識)通過本次實(shí)驗體會學(xué)習(xí)檢查虛擬內(nèi)存空間或?qū)ζ溥M(jìn)行操作,windows2000的內(nèi)存采用,進(jìn)而了解進(jìn)程和windows為使用內(nèi)存而提供的一些擴(kuò)展功能。虛擬內(nèi)存計算機(jī)系統(tǒng)內(nèi)存管理的一種技術(shù)。它使得應(yīng)用成粗認(rèn)為它擁有連續(xù)的可用的內(nèi)存,而實(shí)際上,它通常是被隔成多個物理內(nèi)存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進(jìn)行數(shù)據(jù)交換。4)列出虛擬內(nèi)存不足的原因及其解決方法;一、剪貼板占用了太多的內(nèi)存 實(shí)際上,剪貼板是內(nèi)存中的
40、一塊臨時區(qū)域,當(dāng)你在程序中使用了“復(fù)制”或“剪切”命令后, Windows將把復(fù)制或剪切的內(nèi)容及其格式等信息暫時存儲在剪貼板上,以供“粘貼”使用。如果當(dāng)前剪貼板中存放的是一幅圖畫,則剪貼板就占用了不少的內(nèi)存。這時,請按下述步驟清除剪貼板中的內(nèi)容,釋放其占用的內(nèi)存資源: 1.單擊“開始”,指向“程序”或“所有程序”,指向“附件”,指向“系統(tǒng)工具”,然后單擊“剪貼板查看程序”,打開“剪貼板查看程序”窗口。2.在“編輯”菜單上,單擊“刪除”命令。3.關(guān)閉“剪貼板查看程序”窗口。 為了與Microsoft Office程序提供的多重剪貼板相區(qū)分,上述所說的剪貼板,常被我們稱為系統(tǒng)剪貼板。如果你正在使用
41、Micros OftOffice程序,而且使用了其多重剪貼板功能,那么你應(yīng)清空“Office剪貼板”上的項目,方法是:在“Office剪貼板”任務(wù)窗格(OfficeXP)或工具欄 (Office2000)上,單擊“全部清空”或“清空剪貼板”。當(dāng)清空“Office剪貼板”時,系統(tǒng)剪貼板也將同時被清空 二、打開的程序太多 如果同時打開的文檔過多或者運(yùn)行的程序過多,就沒有足夠的內(nèi)存運(yùn)行其他程序。這時,對于多文檔界面(MDl)程序,如Word、Excel等,請關(guān)閉當(dāng)前文檔外的所有文檔,并退出當(dāng)前未使用的程序,然后或許你就能夠繼續(xù)執(zhí)行因“內(nèi)存不足”而被中斷的任務(wù)。 三、重新啟動計算機(jī) 如果只退出程序,并
42、不重新啟動計算機(jī),程序可能無法將內(nèi)存資源歸還給系統(tǒng)。請重新啟動計算機(jī)以釋放系統(tǒng)資源,然后再次運(yùn)行程序或執(zhí)行被中斷的任務(wù)。 四、自動運(yùn)行的程序太多如果在啟動Windows時自動運(yùn)行的程序太多,那么,即使重新啟動計算機(jī),也沒足夠的內(nèi)存用來運(yùn)行其它程序。 (一)確定設(shè)置為自動運(yùn)行的程序是否太多 1.單擊“開始”,然后單擊“運(yùn)行”。 2.在“打開”框中,鍵入“Msconfig”,單擊“確定”按鈕,打開“系統(tǒng)配置實(shí)用程序”窗口。 3.單擊“常規(guī)”選項卡,選中“選擇性啟動”復(fù)選鈕,清除“處理Win.ini文件”復(fù)選框和“加載啟動組項目”復(fù)選框。 4.單擊“確定”按鈕,當(dāng)系統(tǒng)提示重新啟動計算機(jī)時,請單擊“是
43、”按鈕。重新啟動電腦后,如果內(nèi)存不足的問題已經(jīng)解決,你就可以將計算機(jī)配置為啟動時不打開任何程序。 (二)配置計算機(jī)不自動打開任何程序 1.恢復(fù)在Msconfig中所作的更改,方法是:在“系統(tǒng)配置實(shí)用程序”窗口,單擊“常規(guī)”選項卡,選擇“正常啟動”,單擊“確定”按鈕,然后重新啟動計算機(jī)。 2.刪除“啟動”文件夾中的所有快捷方式 單擊“開始”,指向“設(shè)置”,然后單擊“任務(wù)欄和開始菜單”,系統(tǒng)彈出“任務(wù)欄屬性”對話框。 單擊“開始菜單”選項卡,單擊“自定義”,再單擊“刪除”按鈕。 單擊“啟動”文件夾旁的加號,以顯示設(shè)置為自動運(yùn)行的程序列表。如果“啟動”文件夾旁沒有加號“+”,則表明沒有設(shè)置為自動運(yùn)行
44、的程序,請單擊“關(guān)閉”按鈕以終止此過程。 單擊“啟動”文件夾中的每個快捷方式,然后單擊“刪除”按鈕。此操作將從“開始”菜單中刪除快捷方式,但并不從硬盤中刪除相應(yīng)的程序。對于“啟動”文件夾中的每個快捷方式,重復(fù)該步驟。 單擊“關(guān)閉”按鈕。 單擊“確定”按鈕。 3.禁用從Win.ini文件加載的所有程序 如上所述打開“系統(tǒng)配置實(shí)用程序”窗口。 單擊“Win.ini”選項卡,雙擊“windows”,然后清除“Load=”和“Run=”復(fù)選框。 單擊“確定”按鈕,當(dāng)系統(tǒng)提示重新啟動計算機(jī)時,請單擊“是”按鈕。 五、讓W(xué)indows管理虛擬內(nèi)存設(shè)置 如果沒有設(shè)置讓W(xué)indows管理虛擬內(nèi)存或者禁用虛擬內(nèi)
45、存,那么計算機(jī)可能無法正常工作,也可能收到“內(nèi)存不足”的消息,或在運(yùn)行某程序時出現(xiàn)相同的錯誤消息。 1.單擊“開始”,單擊“設(shè)置”,單擊“控制面板”,然后雙擊“系統(tǒng)”。 2.在“系統(tǒng)屬性”對話框中,單擊“性能”選項卡,然后單擊“虛擬內(nèi)存”按鈕。 3.選中“讓W(xué)indows管理虛擬內(nèi)存設(shè)置(推薦)”選項,將計算機(jī)中可作為虛擬內(nèi)存使用的硬盤空間量設(shè)置為默認(rèn)值。此時,虛擬內(nèi)存分頁“win386.swp”能夠根據(jù)實(shí)際內(nèi)存的使用情況動態(tài)縮小和放大,最小容量為0,最大容量為硬盤的全部可用空間。 4.單擊“確定”按鈕。 六、增加可用磁盤空間 由于Windows以虛擬內(nèi)存分頁文件的格式使用硬盤空間以模擬RAM
46、(),所以,盡管已設(shè)置為讓W(xué)indows管理虛擬內(nèi)存,但是當(dāng)虛擬內(nèi)存分頁文件所在的驅(qū)動器(默認(rèn)為Windows系統(tǒng)所在的硬盤分區(qū))沒有足夠的空間時,仍會出現(xiàn)“內(nèi)存不足”的錯誤。此時,請執(zhí)行以下一項或多項操作,增加Windows虛擬內(nèi)存分頁文件所在驅(qū)動器上的可用空間: 1.清空回收站,方法是:在桌面上,右鍵單擊“回收站”,再單擊“清空回收站”。 2.從磁盤中刪除臨時文件,方法是:打開“Windows資源管理器”或“我的電腦”窗口,右鍵單擊要釋放其空間的磁盤,然后單擊“屬性”,在“常規(guī)”選項卡上,單擊“磁盤清理”按鈕,選中要刪除的不需要的文件前的復(fù)選框,可以閱讀列表下面區(qū)域中每個文件類型的說明,單
47、擊“確定”按鈕。 3.從磁盤中刪除過期的文件或已存檔的文件。 4.刪除從未使用過的所有文件。 七、程序文件被毀壞 如果僅僅是使用某個程序時,系統(tǒng)提示內(nèi)存不足,而其他程序可以正常運(yùn)行,那么可能的原因是該程序文件被毀壞,從而導(dǎo)致內(nèi)存問題。然而Windows并沒有確切地提示表明該程序已損壞,所以請嘗試刪除并重新安裝該程序,然后重新運(yùn)行該程序。如果系統(tǒng)不再提示內(nèi)存不足,那么說明原程序文件確實(shí)被損壞。 八、使用內(nèi)存優(yōu)化軟件 內(nèi)存優(yōu)化軟件有很多,比如RAM Idle和Memo Kit就是比較出色的兩個。這些軟件都可以設(shè)置自動清空剪貼板、釋放被關(guān)閉程序未釋放的內(nèi)存、對Win386.swp文件進(jìn)行重新組織等,
48、從而免除你手工操作的麻煩,達(dá)到自動釋放內(nèi)存的目的,不妨一試! 九、查殺病毒 系統(tǒng)感染電腦病毒也是導(dǎo)致內(nèi)存不足的罪魁禍?zhǔn)祝?dāng)系統(tǒng)出現(xiàn)“內(nèi)存不足”的錯誤時,請使用最新的防毒軟件查殺病毒,或者在清除電腦病毒之一、剪貼板占用了太多的內(nèi)存 實(shí)際上,剪貼板是內(nèi)存中的一塊臨時區(qū)域,當(dāng)你在程序中使用了“復(fù)制”或“剪切”命令后, Windows將把復(fù)制或剪切的內(nèi)容及其格式等信息暫時存儲在剪貼板上,以供“粘貼”使用。如果當(dāng)前剪貼板中存放的是一幅圖畫,則剪貼板就占用了不少的內(nèi)存。這時,請按下述步驟清除剪貼板中的內(nèi)容,釋放其占用的內(nèi)存資源: 1.單擊“開始”,指向“程序”或“所有程序”,指向“附件”,指向“系統(tǒng)工具”
49、,然后單擊“剪貼板查看程序”,打開“剪貼板查看程序”窗口。2.在“編輯”菜單上,單擊“刪除”命令。3.關(guān)閉“剪貼板查看程序”窗口。 為了與Microsoft Office程序提供的多重剪貼板相區(qū)分,上述所說的剪貼板,常被我們稱為系統(tǒng)剪貼板。如果你正在使用Micros OftOffice程序,而且使用了其多重剪貼板功能,那么你應(yīng)清空“Office剪貼板”上的項目,方法是:在“Office剪貼板”任務(wù)窗格(OfficeXP)或工具欄 (Office2000)上,單擊“全部清空”或“清空剪貼板”。當(dāng)清空“Office剪貼板”時,系統(tǒng)剪貼板也將同時被清空 二、打開的程序太多 如果同時打開的文檔過多或者
50、運(yùn)行的程序過多,就沒有足夠的內(nèi)存運(yùn)行其他程序。這時,對于多文檔界面(MDl)程序,如Word、Excel等,請關(guān)閉當(dāng)前文檔外的所有文檔,并退出當(dāng)前未使用的程序,然后或許你就能夠繼續(xù)執(zhí)行因“內(nèi)存不足”而被中斷的任務(wù)。 三、重新啟動計算機(jī) 如果只退出程序,并不重新啟動計算機(jī),程序可能無法將內(nèi)存資源歸還給系統(tǒng)。請重新啟動計算機(jī)以釋放系統(tǒng)資源,然后再次運(yùn)行程序或執(zhí)行被中斷的任務(wù)。 四、自動運(yùn)行的程序太多 如果在啟動Windows時自動運(yùn)行的程序太多,那么,即使重新啟動計算機(jī),也沒足夠的內(nèi)存用來運(yùn)行其它程序。 (一)確定設(shè)置為自動運(yùn)行的程序是否太多 1.單擊“開始”,然后單擊“運(yùn)行”。 2.在“打開”框中,鍵入“Msconfig”,單擊“確定”按鈕,打開“系統(tǒng)配置實(shí)用程序”窗口。 3.單擊“常規(guī)”選項卡,選中“選擇性啟動”復(fù)選鈕,清除“處理Win.ini文件”復(fù)選框和“加載啟動組項目”復(fù)選框。 4.單擊“確定”按鈕,當(dāng)系統(tǒng)提示重新啟動計算機(jī)時,請單擊“是”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康營養(yǎng)學(xué)課件
- 華東版八上數(shù)學(xué)試卷
- 皇冠中學(xué)初三數(shù)學(xué)試卷
- 醫(yī)院設(shè)備科管理課件
- 真空蝦仁行業(yè)深度研究分析報告(2024-2030版)
- 中國機(jī)械零部件未來發(fā)展趨勢分析及投資規(guī)劃建議研究報告
- 2025屆廣東省七校聯(lián)合體物理高二下期末質(zhì)量跟蹤監(jiān)視試題含解析
- 鈦合金設(shè)備項目安全風(fēng)險評價報告
- 健康理療師培訓(xùn)課件資源
- 2024年證券登記、結(jié)算機(jī)構(gòu)服務(wù)項目資金需求報告代可行性研究報告
- 小紅書獨(dú)家授權(quán)委托書模板
- 《客至》《賓至》聯(lián)讀教學(xué)設(shè)計2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修下冊
- 1-國家1+X證書制度解讀講解
- 【正版授權(quán)】 ISO/IEC 20889:2018 EN Privacy enhancing data de-identification terminology and classification of techniques
- 【正版授權(quán)】 ISO 2903:2016 ISO metric trapezoidal screw threads - Tolerances
- 萬科物業(yè)服務(wù)工作手冊
- 共享工作室租賃合同
- CHT 8002-1991 測繪儀器防霉、防霧、防銹(正式版)
- DL-T 1476-2023 電力安全工器具預(yù)防性試驗規(guī)程
- 無人機(jī)航空測繪與后期制作 課件 第二十二課時 ContextCapture傾斜攝影測量數(shù)據(jù)處理流程-空三加密
- 2024招投標(biāo)法培訓(xùn)
評論
0/150
提交評論