2019年了,筆記本都是預裝64位的系統嗎?
這裡糾正前幾個回答中的錯誤:
- 32位系統可以兼容4g以上內存(通過PAE,最多支持64GB),但是微軟不允許桌面版Windows使用該特性(所以有一些第三方軟體可以破解,因為它們是在硬體支持PAE的前提下禁止Windows內核讀取許可證中的內存限制數值)
- 64位系統可以向下兼容32位程序,但64位系統無法打開16位程序。(因為CPU在Long Mode下不能進入V8086模式,所以64位Windows沒有NTVDM)
- 現在的筆記本都是預裝64位系統的原因是UEFI+Secure Boot(微軟規定所有OEM在預裝系統時必須開啟)。UEFI嚴格區分體系結構(是因為UEFI固件本身的架構是固定的),Secure Boot防止用戶更改系統(通過機械的密鑰對碼)。用戶如果有運行16位程序等需求運行32位Windows,首先需要禁用Secure Boot並且清除主板中的Secure Boot密鑰,然後開啟CSM並將引導模式設為Legacy,最後格式化硬碟安裝Windows
關於用戶Weasley Frank的回答,本人說明如下:
雖然PAE可以允許系統識別並使用最多64GB的物理內存,但是這並非可以說明程序可以任意使用這些內存。
我們都知道,Windows是一個多任務操作系統,它允許多個任務同時運行。如果進程可以無限使用任意內存,就很容易出現個別進程佔用大量物理內存導致其他進程內存不足,嚴重時甚至會導致系統崩潰。因此,為保證系統的穩定運行,操作系統必須對進程的可用內存做出一定的限制。
在Windows NT和Linux等現代操作系統中,這一限制是通過虛擬地址進行的。每個進程都有一個獨立的虛擬地址空間,進程先訪問虛擬地址,再映射到對應的物理地址。在Windows和Linux中,每個進程的虛擬地址空間為4GB。然而這些空間卻不能全部被應用程序的進程使用,操作系統的內核必須保留一部分空間,剩餘的空間才可以被進程使用。在Windows中,內核佔用2GB的虛擬地址,剩餘的2GB歸進程使用;在Linux中,內核佔用1GB的虛擬地址,剩餘的3GB歸進程使用。不過這個分配比例是可以修改的,如Windows XP通過boot.ini中添加/3GB參數,Windows Vista及以後版本通過bcdedit /set IncreaseUserVa 3072 命令都可以把進程佔用的空間擴大為3GB。但是這樣做是不推薦的,因為這樣會壓縮內核佔用的虛擬地址,可能導致系統不穩定。
對於那些確有必要使用較大內存的應用程序,可以採用多個進程同時運行解決該問題。對那些確有單個進程佔用大量內存的必要的程序,它們是通過AWE來使用大於4GB的虛擬地址空間的。AWE允許應用程序獲取物理內存,然後將非分頁內存的視圖動態映射到虛擬地址空間。具體原理如圖:
※80%的人可能不知道 買CPU我們曾踏入過這些誤區
※部分新一代非公旗艦卡設計點評
※【二貓】配置推薦第4期(半翻新)
※Windows 10 持續被認可:明年 PC 市場將重獲升勢