• 6

我的xp sp3用線上更新後 還是不會支援 到4g

32位元不到4g是因為有些位址要拿去作別的用途吧@@"~
像io之類的...他還是需要一些位址來mapping的....
跟系統預設載入的容量??好像沒什麼關聯~~~
另外...硬碟的500G裝上去不到500G那是因為1000和1024的差異~~
也跟目前講的4G的限制不同唷~~~~~
我覺得只要微軟要不要開放而已

像windows server 2003 32bit 4G一樣偵測的到


Jungchu Hsu wrote:
32位元不到4g是因...(恕刪)


嗯嗯我看的的確是說拿去什麼用途了..忘了

多謝指教~~硬碟跟記憶體不能用同樣方法套用解說@@ 3Q
n2498 wrote:
我覺得只要微軟要不要開放而已(恕刪)


你得到它了~~

雖說 32 bits server OS 支援 超過4G ram,
m$說某些情況可能有問題,

但是說穿了就是不讓32 bits PC OS 使用超過4G RAM,
而硬是加上去的限制.
應該是這個東西吧...

http://www.microsoft.com/taiwan/whdc/system/platform/server/pae/paedrv.mspx

只是用32位元來模擬64位元的定址.....這要軟硬體都有支援才行~~~

感覺比較像是....

MS不確定是否可以在每個人的機器上都沒問題...

so..預設關閉PAE....

4G應該是32bit OS的最大定址空間沒錯@@~~~

至於要怎麼用這些定址就是另一個問題了~~@@~~
syntech wrote:
雖說 32 bits server OS 支援 超過4G ram,
m$說某些情況可能有問題,

但是說穿了就是不讓32 bits PC OS 使用超過4G RAM,
而硬是加上去的限制.


. 32bit PC OS使用4G以上ram 是可以的.
不用說那個比XP/vista還要穩定很多的2003, 連32位元的
XP SP1或Linux都是可以使用4G以上ram的.


請看32位元XP SP1直接使用4G (不用ramdisk)的截圖.


XP SP2之後由於PAE加上部分驅動程式(尤其是顯示卡, 這個nVidia官網也有提到)會出問題, 所以MS把4G支援取消了. 此問題在32位元2003下也會產生, 必須使用/userva來避開, 對XP的初階使用者來說, 有一定難度.

Linux的畫面就不截了, 他們在32位元環境下使用4G以上ram歷史已經很悠久了.
現在應該是在談 windows os 的4 G 限制吧.
那就不需要把 linux 扯進來啊.

xp sp1 可以用又如何,
大多數人也沒法子回頭啦,

給你證明史前時代的豬比現在的豬好吃,
我們一樣吃不到呀.
Jungchu Hsu wrote:
只是用32位元來模擬64位元的定址.....這要軟硬體都有支援才行~~~

感覺比較像是....

MS不確定是否可以在每個人的機器上都沒問題...

so..預設關閉PAE....

4G應該是32bit OS的最大定址空間沒錯@@~~~
(恕刪)

其實 PAE並不是什麼用32位元來模擬64位元的定址,軟硬體都要支援倒是對的。

"4G應該是32bit OS的最大定址空間沒錯"<===這句話則是最大以訛傳訛的問題所在,前面網友已經提過同為32bit OS的Win Server 2003以及Linux 2.6.x(x=忘了....)核心以後都可以順利使用超過4GB以上的實體記憶體來增加執行效率、減少虛擬記憶體分頁檔的使用。

所謂2^32=4GB是32bit OS下每個執行的應用程式所被給與能定址到的最大"虛擬空間",其中還包含kernel space以及MMIO 位址等應用程式不能直接運用的空間,舉個簡單例子,若系統有64GB的實體記憶體、執行16個應用程式,在Windows Server 2003/2008、Linux或FreeBSD上,每個應用程式是可以被分配到4GB的實體記憶體來執行而不需要動用到分頁檔的虛擬記憶體的。(這個例子為了簡化再簡化,kernel space實務上不用重複分配實體記憶體、系統內同時間被執行的程式一般隨隨便便就會超過16個、以及大部分應用程式的working set其實都不大、因此某特定時間需要的實體記憶體有限的事實暫時忽略,請科班的網友包涵)

感覺MSFT的確是故意在消費性32bit作業系統(XP SP2以降)加上此限制的,以MSFT的可怕強制力,若有心開放,NVidia也只能乖乖配合,驅動程式問題是可以解決的。
ycweng wrote:
其實 PAE並不是什...(恕刪)


受教了~^^~~^^~

不過還是對那32bits 的OS要怎麼直接用完整的4G以上的記憶體很有興趣~~~

因為像我現在在弄的東西...

像Keyboard GPIO 等等都需要用掉一些位址來mapping到硬體上~~@@~

當然記憶體是直接用記憶體位址就可以直接用了@@~~~

所以一直有疑問如果位址只有4G........扣除掉原本在用的那些IO及硬體控制的mapping...~@@~~

是怎麼作到的呢??@@~~~

只能想到如果是超出範圍的....

就讓os作一下轉換位址的工作再重新定位@@~~@@~~

呵......

^^
我想一個很難想通的原因就是2^32=4GB(Giga Byte)這件事吧!OS在運用實體記憶體這項資源時,不是直接Byte-addressing的,而是會將實體記憶體切成4KB的頁分配給應用程式,就算有64GB的實體記憶體,對OS來說也不過就是16,777,216(2^24)個記憶體的頁實體資源可供分配罷了(觀念上不要把這64GB想成是linear連續的),若分配完了,就開始動用虛擬記憶體的分頁檔,把一些實體記憶體頁的內容swap到硬碟,空出實體記憶體的頁面以分配給現在正要執行的程式來使用。

消費性32位元Windows 作業系統(XP SP2以降),一般可運用的實體頁資源則是被限制在約786,432個上下(3GB上下,視個人裝了哪些PCI硬體而有增減),分配完了,就開始動用虛擬記憶體的分頁檔。 詳情可搜尋virtual memory、page table、demand paging、PAE等關鍵字,有興趣可以再加上AWE。
  • 6
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?