• 34

windows 7使用ram 最大還是3.2g?

Rickyll01 wrote:
不知道您是否也有配上Remove Water mark使用?
還是說, 您轉貼的工具即沒有浮水印的問題呢?...(恕刪)

有配合Watemark Removal Tool使用,在219樓有提到,不過貼出自動化工具的257樓確實沒有提到,我會再把資訊貼上,比較完備些。
這到底有什麼好吵的,windows 是好幾年前一直開發延續到今天的。

32 bit 也只是記憶體的定址方式, 微軟採用 intel X86 的架構。

這些年來 在 windows 上開發的AP 隨便也破億個....

為避免問題,MS 當然採最保守的方式設計。

也就是維持最大相容性的設計,也就是跟之前一樣的設計。

VISTA 光改一下核心就產生多少相容性的問題。

吃飽沒事幹找自己麻煩才會在 家用OS搞什麼PAE...

Server 的 OS 設計是以穩跟效能為主,跟家用版思考不一用。

而且 Server 版相容性不好也沒差,畢竟真要賣給企業用的AP,廠商都是特別設計過的。

所以不太需要擔心相容性的問題,但家用版的可以這樣搞嗎?

XP -> SP2 有多少程式要改? XP -> Vista 有多少程式要改 ?

所以結論是 MS 目前沒有也不需要改變 家用版OS 的定址方式。

32 bit
定址
FFFFFFFF 扣掉 紀錄指標位置的定址 大概可以用到的記憶體為 3.25 G左右

就算 32 bit 2003 開啟 PAE 一個執行中的AP 也不能定址超過 3.25G 。

Setven wrote:
天殺的..........(恕刪)


你好笑
單一程式可以吃到4GB以上?

可以使用又如何,重點是吃不吃的到阿
要大記憶體的訴求,我看有一半以上的人只是為了爽度,跟在意系統管理員裡面,顯示用不用的到而已
焦點都模糊了, 首先忽略32/64 bit旳問題, 裝超過4G的RAM是裝來看爽的還是裝來用的?
如果是裝來用, 裝了以後有沒有比有"效率"? 直接一點的說法就是有沒有比較"快"?
如果有, 是在什麼情況下才有的? 如果沒有(我相信大部分的情況是沒有), 又是為什麼?
世上的使用者能把電腦的效能發揮超過70%以上的, 除了專業用途的人以外, 應該很少,
反而正真倚重的是顯卡, 玩3D Game, 看高清影片的人絕比專靠CAD/CAE,Photoshop混飯吃的人多,
所以對大多數人的使習慣而言, RAM支不支援4G以上是心理層面的問題,
32位元時代, PAE只不過是在"騙"CPU, 讓CPU以為自己一直是在用實體定址的RAM,
可以因而這個功能得到實質效率的市場, 大致上就是Server了,
64位元則是實體定址就能超過4G,即使你要用到8G的RAM, 也不必用"騙"的手段,
不過, 前提是的硬體,作業系統, 應用軟體都必須是64位元的, 不然你還是只能用到3.2G以內的RAM,
在這種情況下, 64位元的電腦能比同時脈的32位元電腦快多少?
既然電硬體,作業系統都有64位元的, 一些重量級軟體和Game也出64位元版了,
站在Microsoft的立場去思考, 在32位元版Win7附加PAE不就多此一舉?
Win7怎麼定位市場, 我們無法去影響, Microsoft出什麼, 我們只好乖乖的用了,
依自己的需求去選擇適當配備的電腦就好了, 追究這些小細節於事無補,
除非你能左右Microsoft的高層迎合大家的需求, 若真可以話, 全世界不知會有多少人為你鼓掌叫好呢
(底下的"你",只是一個代名詞,非指特定某人)
你用不著,不代表別人用不著.
你沒問題,不代表別人沒問題.
等你自己遇到了,欲哭無淚也來不及.

大致上樓上說的對,如果暫時保留有點奇怪的部分的話.
(VISTA/WIN 7 X86 一樣有PAE,只是不像SERVER OS一樣,可以使用超過4G的記憶體)
我也認為是對的.
90%的人,2G就夠了.
95%的人,3G也就夠了.
但是這剩下的5%到底該改用x64 還是 server OS?
如果你是這5%的人,你該怎麼辦.
你有沒有其他的選擇,
因為有時候就是這麼倒楣,你非在 X86 個人OS上作這種需要大量記憶體的工作.


總之,M$目前暫時不會理你,
除非有什麼強烈的理由才會開放.
你用其他方式修改,出了問題,那也是你自作自受.
用了沒事,就沒事,自己暗暗爽就好.
只是不要再說什麼32bits OS 只能用 4G這蠢話了.

syntech wrote:
(底下的"你",只是...(恕刪)


嚴格的說起來 開啟pae的os 應該不能叫做"32位元作業系統"
因為在定址方面用到了32+4(pae)

沒有pae的32位元作業系統就不能超過3.25g的最大定址了
(ex: Windows NT 3.1、NT 3.5、NT 3.51、NT 4.0)
難道這些就不叫作32位元作業系統了嗎? 我想不是吧..
樓上的,不知道在說什麼?


OS幾位元的定義與定址空間無關.
不然開了HIMEM/EMS的DOS應該算幾位元?

第一個支援PAE的OS是 NT4.0,
INTEL有特別寫DRIVER.
以我自己來說,x64跟X86版工作上都在用,但是討論各自觀點時,建議還是要把基礎的記憶體定址觀念跟記憶體分頁觀念先弄清楚,因此以下不特別針對32/64-bit Windows去談,而是最基礎通用的作業系統觀念。

kenchu1109 wrote:
吃飽沒事幹找自己麻煩才會在 家用OS搞什麼PAE...
...(恕刪)

Alexnader wrote:
32位元時代, PAE只不過是在"騙"CPU, 讓CPU以為自己一直是在用實體定址的RAM,
可以因而這個功能得到實質效率的市場, 大致上就是Server了,
64位元則是實體定址就能超過4G,即使你要用到8G的RAM, 也不必用"騙"的手段,
...(恕刪)

PAE跟"家用OS"包括32-bit XP/Vista/Win7的緊密關係,請先參閱第20樓,了解了現狀跟背景,也好繼續討論。

不管是現代的32位元還是64位元處理器,從虛擬位址到實體位址,都是透過Page Table去作轉換對應的,對於現在的Intel 64/AMD64處理器,在64位元作業系統下,是48-bit虛擬位址到實體位址的轉換,在32位元作業系統下,是32-bit虛擬位址到實體位址的轉換。2^32適用的地方,是虛擬位址的大小,不是實體記憶體的大小。

系統內所安裝的實體記憶體,對於作業系統來說,也不是必須從頭到尾乖乖的照順序使用,而是被切成一大堆4KB大小的頁面去動態調配的,因此,請不要用2^N的觀念來看作業系統所能管理的實體記憶體的大小,也不存在什麼32位元處理器有36條位址線就是"騙"的問題,關鍵在於要如何透過Page Table的對應,把這PAE上限64GB的實體記憶體(當然實務上很少有能插到64GB的主流主機板),對應分配到每個執行中程式獨有的4GB虛擬空間。

舉個簡化例子來說,兩個執行時各需要100MB記憶體的程式,相當於各需要25600個4KB的頁面,而這各自的25600個頁面,執行實務上是會交錯散落在系統安裝的實體記憶體內各處,而不是連在一起的,有一些頁面,甚至可能不在實體記憶體內,而是被暫時swap到分頁檔內。而兩者的某些頁面,甚至可能是共用的,以節省記憶體使用(例如:作業系統所提供給應用程式的系統服務程式碼頁面,通常都會被對應到所有程式的虛擬定址空間內,讓大家共用)。

這個將實體記憶體切成小頁面去動態調配、以及將每個程式執行時獨有的虛擬空間跟實體記憶體切分開再透過Page table去對應的觀念、再結合虛擬記憶體的分頁檔,是電腦史上的一大突破,如此一來,執行N位元作業系統的電腦,就不必然一定要先裝滿2^N位元組的實體記憶體,N位元作業系統,也不必然一定只能管理上限2^N位元組的實體記憶體,可能更多,也可能較少,同時每個程式都擁有自己的虛擬空間,無法去任意存取別的程式的虛擬空間,也達到保護的效果。

早年針對16位元80286打造的OS/2作業系統,在80286保護模式下可以管理上限16MB(2^24)的記憶體,遠超過2^16=64KB,這可不是用騙的,而是因為從電腦發明到現在,由於虛擬記憶體跟記憶體分頁/分段的觀念、以及其它的一些定址方式運用,N位元作業系統必定只能管理2^N位元組的實體記憶體的觀念古早古早前就被丟棄了(N=8、16、32、64)。

kenchu1109 wrote:
32 bit 定址FFFFFFFF 扣掉 紀錄指標位置的定址 大概可以用到的記憶體為 3.25 G左右,就算 32 bit 2003 開啟 PAE 一個執行中的AP 也不能定址超過 3.25G ...(恕刪)

Alexnader wrote:
不過, 前提是的硬體,作業系統, 應用軟體都必須是64位元的, 不然你還是只能用到3.2G以內的RAM,
...(恕刪)

說法似是而非,首先沒什麼叫"記錄指標位址的定址",其次那如果硬體/作業系統是64位元的、插了8GB記憶體,而應用程式是32位元的,就只能用到3.2GB以內的RAM嗎?這裡就是把實體跟虛擬的觀念都混在一起了,一般所謂3.2GB的實體記憶體,是指未啟動PAE、或已啟動PAE但被封印的32位元消費性Windows所能管理的實體記憶體總量,這也不是一個定值,而是要看系統安裝的硬體裝置種類、多寡而定。而兩位這裡所想要表達的觀念,應該是32位元程式若在64位元作業系統下執行,扣掉作業系統佔用的核心虛擬空間,"每個"32位元程式本身能夠自由用到的虛擬空間上限是2GB(或者是4GB,前提是程式在編譯時有設定一個特定的/LARGEADDRESSAWARE旗標值),也不會是3.2GB/3.25GB。

mamotte wrote:
嚴格的說起來 開啟pae的os 應該不能叫做"32位元作業系統"
因為在定址方面用到了32+4(pae)

這個就是把定義狹隘了,N位元的作業系統,絕對不是在定址方面就只能用N位元,(N=8、16、32、64)。從電腦發明以來,就是如此,而且您說的"定址"是實體定址還是虛擬定址?

目前安裝XP/Vista/Win7 x64作業系統的個人電腦,原生x64應用程式的虛擬定址空間上限是16TB(2^44,分為8TB作業系統核心使用空間、8TB程式本身可運用空間),難道要叫做44位元作業系統?若以XP/Vista x64能管理的實體記憶體上限來說,最高"只能"到128GB(2^37),難道要叫做37位元作業系統?對於Win7 x64來說,則是192GB的實體記憶體上限,這就更有意思了,換算後會變成37.585位元的作業系統.....

例如古老的DOS,正常真實模式下就是動用20條位址線,該算是幾位元的作業系統?在啟動HMA動用到第21條位址線後,又該算是幾位元的作業系統?

重申一下,通常都是在不瞭解每個程式執行所基於的獨有虛擬空間是如何被對應到系統實際安裝的實體記憶體的情況下,或是沒有以程式設計師的角度去了解N位元作業系統的一些基本限制,才會有這種"因為定址用到了N+x...所以不能叫做N位元作業系統"、或"N位元作業系統一定只能管理2^N位元組實體記憶體"的誤解。

最後,一些最常見關於32位元處理器/作業系統的誤解一定要先破除,錯誤觀念才不會一傳再傳:

32位元處理器並非一定只能有32條位址線
例:Pentium Pro(36條)、Motorola/Freescale PowerPC e500(36條)

32位元處理器並非一定只能有32條資料線
例:Pentium(64條)、80386SX(16條)、Motorola 68000(16條)

32位元作業系統並非一定只能管理2^32=4GB的實體記憶體/實體定址位址
例:32-bit的Linux、FreeBSD、Solaris、Win Server 2003/2008 Enterprise、移除封印後的Vista/Win7(都可到64GB)

32位元處理器所提供的定址模式,並非一定只能讓32位元程式存取2^32=4GB的定址空間
例:透過IA-32的Selector:Offset定址模式,能提供予"每個"程式的虛擬定址空間上限是2*8192*4GB=64TB

以64位元處理器/作業系統來說,不管是從位址線、資料線、可管理的實體記憶體上限、64位元程式的虛擬定址空間來看,也都不難舉出反例,上面已經提到了一些例子,因此便留給有興趣者試試找出剩下答案了.....

近代的電腦是承襲自Turing Machine的概念,Turing Machine做不到的事,電腦也做不到,這大概是最基本的"物理"限制了,而2^N的限制(N=8位元、16位元、32位元、64位元....),從來都不算是真正的"物理"限制,畢竟電腦是人腦發明的,而辦法是人腦想的,不是電腦想的.....(這是指在Skynet或The Matrix都還未真正誕生前.....)

以簡單的日常提款機提款來說,當中牽涉到的加密過程,隨便都會用到上百位元的超大質數,在64位元電腦才正要漸漸取代32位元電腦的今天,上百位元的數字要怎麼計算呢?
剛剛偶然翻到這篇文,ycweng 對這個主題真是有耐心,拍拍手。看到這篇文想到以前第一次看 8088 page 原理,跟使用 apple IIe 128k 卡的時代,真懷念 :)
ycweng wrote:
以我自己來說,x64...(恕刪)


這是篇難得又熱心的好文章,釐清大家內心許多的疑團!
樓主能否提供延伸閱讀的方向?

另外怕自己外行認知有誤,能否提供正確的答案?

1.x86 windows XP/Vista/7系統,能實際運用實體4GB以上的記憶體?
透過PAE解除封印對系統有無穩定性的疑慮?

從樓主分享的內容來看應該是肯定的,但實做方法為何?
  • 34
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 34)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?