Sidtillstånd
Sidorna i en process virtuella adressutrymme kan vara i något av följande tillstånd.
Stat | Beskrivning |
---|---|
Gratis | Sidan är varken bekräftad eller reserverad. Sidan är inte tillgänglig för processen. Den är tillgänglig för att reserveras, checkas in eller samtidigt reserveras och checkas in. Försök att läsa från eller skriva till en kostnadsfri sida resulterar i ett undantag för åtkomstöverträdelse. En process kan använda funktionen VirtualFree eller VirtualFreeEx för att frigöra reserverade eller bekräftade sidor i adressutrymmet och returnera dem till det kostnadsfria tillståndet. |
Reserverad | Sidan har reserverats för framtida användning. Adressintervallet kan inte användas av andra allokeringsfunktioner. Sidan är inte tillgänglig och har ingen fysisk lagring associerad med den. Det är tillgängligt att checkas in. En process kan använda funktionen VirtualAlloc eller VirtualAllocEx för att reservera sidor i adressutrymmet och senare för att checka in de reserverade sidorna. Den kan använda VirtualFree- eller VirtualFreeEx- för att frigöra bekräftade sidor och returnera dem till det reserverade tillståndet. |
Engagerad | Minnesavgifter har allokerats från ram-minnets totala storlek och växlingsfiler på disken. Sidan är tillgänglig och åtkomsten styrs av en av minnesskyddskonstanter. Systemet initierar och läser in varje bekräftad sida i fysiskt minne endast under det första försöket att läsa eller skriva till den sidan. När processen avslutas släpper systemet lagringen för bekräftade sidor. En process kan använda VirtualAlloc eller VirtualAllocEx för att checka in fysiska sidor från en reserverad region. De kan också reservera och checka in sidor samtidigt. Funktionerna GlobalAlloc och LocalAlloc allokerar bekräftade sidor med läs- och skrivåtkomst. |