Sdílet prostřednictvím


Mapování souborů

mapování souborů je přidružení obsahu souboru k části virtuálního adresního prostoru procesu. Systém vytvoří objekt mapování souborů (označovaný také jako objekt oddílu ) pro zachování tohoto přidružení. zobrazení souboru je část virtuálního adresního prostoru, kterou proces používá pro přístup k obsahu souboru. Mapování souborů umožňuje procesu používat náhodný vstup i výstup (vstupně-výstupní operace) i sekvenční vstupně-výstupní operace. Umožňuje také efektivní práci s velkým datovým souborem, jako je například databáze, aniž by musel mapovat celý soubor do paměti. Ke sdílení dat může také použít více procesů soubory mapované do paměti.

Procesy čtou ze zobrazení souborů a zapisují se do něj pomocí ukazatelů, stejně jako u dynamicky přidělených paměti. Použití mapování souborů zvyšuje efektivitu, protože se soubor nachází na disku, ale zobrazení souborů se nachází v paměti. Procesy mohou také manipulovat se zobrazením souborů pomocí funkce VirtualProtect.

Následující obrázek znázorňuje vztah mezi souborem na disku, objektem mapování souborů a zobrazením souborů.

vztah mezi souborem na disku, objektem mapování souborů a zobrazením souborů.

Soubor na disku může být libovolný soubor, který chcete namapovat do paměti, nebo se může jednat o systémový stránkový soubor. Objekt mapování souboru se může skládat ze všech nebo pouze částí souboru. Je to podporováno souborem na disku. To znamená, že když systém prohodí stránky objektu mapování souboru, všechny změny provedené v objektu mapování souboru se zapíšou do souboru. Když se stránky objektu mapování souboru vrátí zpět do paměti, obnoví se ze souboru.

Zobrazení souboru se může skládat ze všech nebo pouze částí objektu mapování souboru. Proces pracuje se souborem prostřednictvím zobrazení souborů. Proces může vytvořit více zobrazení pro objekt mapování souboru. Zobrazení souborů vytvořená jednotlivými procesy se nacházejí ve virtuálním adresním prostoru tohoto procesu. Pokud proces potřebuje data z jiné části souboru než v aktuálním zobrazení souborů, může zrušit mapování aktuálního zobrazení souborů a pak vytvořit nové zobrazení souborů.

Pokud stejný objekt mapování souborů používá více procesů k vytvoření zobrazení pro místní soubor, data jsou koherentní. To znamená, že zobrazení obsahují stejné kopie souboru na disku. Soubor se nemůže nacházet ve vzdáleném počítači, pokud chcete sdílet paměť mezi více procesy.

Další informace najdete v následujících tématech: