Virtuální adresní prostor (správa paměti)
Virtuální adresní prostor procesu je sada adres virtuální paměti, které může použít. Adresní prostor pro každý proces je soukromý a nelze k němu přistupovat jinými procesy, pokud není sdílený.
Virtuální adresa nepředstavuje skutečné fyzické umístění objektu v paměti; místo toho systém udržuje stránkovací tabulku pro každý proces, což je interní datová struktura použitá k překladu virtuálních adres do příslušných fyzických adres. Pokaždé, když vlákno odkazuje na adresu, systém přeloží virtuální adresu na fyzickou adresu.
Virtuální adresní prostor pro 32bitovou verzi Windows je velikost 4 gigabajty (GB) a rozdělený do dvou oddílů: jeden pro použití procesem a druhý vyhrazený pro použití systémem. Další informace o virtuálním adresního prostoru v 64bitovém systému Windows naleznete v tématu Virtuální adresní prostor v 64bitovém systému Windows.
Další informace o virtuální paměti najdete v následujících tématech:
- virtuálního adresního prostoru a fyzického úložiště
- pracovní sady
- stavu stránky
- rozsah přidělené paměti
- prevence spuštění dat
- ochrany paměti
- omezení paměti pro vydané verze Windows
Výchozí virtuální adresní prostor pro 32bitovou verzi Windows
Následující tabulka uvádí výchozí rozsah paměti pro každý oddíl.
Rozsah paměti | Zvyk |
---|---|
Nízká 2 GB (0x00000000 až 0x7FFFFFFF) | Používá se procesem. |
Vysoká 2 GB (0x80000000 až 0xFFFFFFFF) | Používá se systémem. |
Virtuální adresní prostor pro 32bitovou verzi Windows se 4GT
Pokud je povolené 4gigabajtové ladění (4GT), rozsah paměti pro každý oddíl je následující.
Rozsah paměti | Zvyk |
---|---|
Nízká 3 GB (0x00000000 až 0xBFFFFFFF) | Používá se procesem. |
Vysoká 1 GB (0xC0000000 až 0xFFFFFFFF) | Používá se systémem. |
Po povolení 4GT bude mít proces s příznakem IMAGE_FILE_LARGE_ADDRESS_AWARE nastaveným v záhlaví obrázku přístup k dalšímu 1 GB paměti nad nízkou 2 GB paměti.
Úprava virtuálního adresního prostoru pro 32bitovou verzi Windows
Pomocí následujícího příkazu můžete nastavit možnost spuštění, která nakonfiguruje velikost oddílu, který je k dispozici pro použití procesem na hodnotu mezi 2048 (2 GB) a 3072 (3 GB):
BCDEdit /setincreaseuservaMegabajtech
Po nastavení spouštěcí položky je rozsah paměti pro každý oddíl následující.
Rozsah paměti | Zvyk |
---|---|
Nízká (0x00000000 až megabajtech) | Používá se procesem. |
High (Megabajty+1 až 0xFFFFFFFF) | Používá se systémem. |
Windows Server 2003: Nastavte přepínač /USERVA v boot.ini na hodnotu mezi 2048 a 3072.