Filkartläggning
Filmappning är associeringen av en fils innehåll med ett segment av det virtuella adressutrymmet i en process. Systemet skapar ett -filavbildningsobjekt (även känt som ett -sektionsobjekt) för att upprätthålla den här associationen. En filvy är den del av det virtuella adressutrymme som en process använder för att komma åt filens innehåll. Med filmappning kan processen använda både slumpmässiga indata och utdata (I/O) och sekventiell I/O. Det gör också att processen kan fungera effektivt med en stor datafil, till exempel en databas, utan att hela filen behöver mappas till minnet. Flera processer kan också använda minnesmappade filer för att dela data.
Bearbetar läsning från och skrivning till filvyn med hjälp av pekare, precis som med dynamiskt allokerat minne. Användningen av filavbildning förbättrar effektiviteten eftersom filen finns på disken, men filvyn finns i minnet. Processer kan också ändra filvyn med funktionen VirtualProtect.
Följande bild visar relationen mellan filen på disken, ett filmappningsobjekt och en filvy.
Filen på disken kan vara vilken fil som helst som du vill mappa till minnet, eller så kan det vara systemsidefilen. Filmappningsobjektet kan bestå av hela eller endast en del av filen. Den backas upp av filen på disken. Det innebär att när systemet byter ut sidor i filmappningsobjektet skrivs alla ändringar som görs i filmappningsobjektet till filen. När filmappningsobjektets sidor byts in igen, återställs de från filen.
En filvy kan bestå av hela eller endast en del av filmappningsobjektet. En process manipulerar filen genom filvyerna. En process kan skapa flera vyer för ett filmappningsobjekt. De filvyer som skapas av varje process finns i processens virtuella adressutrymme. När processen behöver data från en annan del av filen än den som finns i den aktuella filvyn kan den avmappa den aktuella filvyn och sedan skapa en ny filvy.
När flera processer använder samma filsamordningsobjekt för att skapa vyer för en lokal fil är datan konsekvent. Vyerna innehåller alltså identiska kopior av filen på disken. Filen kan inte finnas på en fjärrdator om du vill dela minne mellan flera processer.
Mer information finns i följande avsnitt:
- Skapa ett filmappningsobjekt
- Skapa en filvy
- Delning av Filer och Minne
- Läsa och skriva i en filvy
- Stänga ett filmappningsobjekt
- Säkerhets- och åtkomstbehörigheter för filkartläggning
- Använda filkartläggning