[討論] 記憶體的 4GB 迷思?

Panthera Catus wrote:
是你成語用錯了? 還...(恕刪)


不會啊!如果回想起早年1MB要1000大洋,現在的價錢確實讓人恨的牙癢癢的!

這麼多位大大講了這麼多令人敬畏的專業論述,反正說穿了,就是電腦業的陰謀,WINDOWS server版就已支援4GB以上記憶體,就是M$要$嘛!配合WINDOWS升級硬體配備,不都是一再重複的濫戲碼,還需要討論那麼多,便宜就買下去唄!嫌貴!就不要玩,或乖乖用舊版就好啦!
不過那家破產的公司
好像還是請台灣代工的
所以還是要生產的廠減產
才能真正提高價格
不過現在還都是單支2G
什麼時候才會進到單支4G呢
針對 lee0715 網友的問題我想要回應一下

不好意思, 我大致了解 windows 軟體對記憶體的管理方式, 也就是您所說的 page 管理方式

我想說的是
那些裝置對資源的要求在我看來應該是固定的
(就算到OS下有變動應該也不會很大)

也就是說應該在 BIOS 這些東西就該被定義完成

在到了 OS 階段透過 ACPI 和 OS 對該裝置的驅動程式交接給 OS 才是

而這些裝置佔用的的記憶體位置是固定的, 我認為應該是不能透過 windows 那樣用 page 方式來定義其存取

也就是說, OS 能管理的記憶體雖然可以定址 0 - 4G 甚至更多, 但是它在管理上還是得避開 3G - 4G 這一段才對.
(這邊指的 3G - 4G 是指被裝置所需資源佔用的那一段)

而透過 OS 的管理機制讓每個在其上執行的軟體每個都可以給每個軟體獨立的 0 - 4G 空間, 那我認為只是一種操作手法讓在上面執行的軟體 "以為" 有這麼大的記憶體空間, 如果不使用分頁檔的話, 那麼實際上能使用的記憶體空間還是只能是實際上電腦安裝的實際記憶體大小為上限才是.

說得很複雜 ....不知道有沒有人懂我想說什麼-__-

對 OS 來說
--> 能用的記憶體有 實際的記憶體大小 + 虛擬記憶體(利用硬碟或是其他的儲存裝置構成)

對 OS 下的軟體來說
--> 每個軟體都可以擁有 4G 甚至更大的記憶體空間, 但實際上只是因為它跟OS要記憶體, 而 OS 告訴它有多大可以用, 而且記憶體空間都是從 位置0 開始算, 但是這個 位置0 到底是在記憶體上的哪裡? 這只有 OS 才知道

我想您要告訴我的是這樣吧




至於我為什麼將記憶體的定址說的跟地址一樣
理由其實很簡單, 我只是想要說得淺顯易懂而已

不知道這樣說對不對呢??
saqwed wrote:
對 OS 來說
..................
對 OS 下的軟體來說
..................
...(恕刪)

OS也是軟體呀!
在386下玩遊戲不用插DOS的磁片來開機就可以玩呢!
遊戲片自己帶OS但不一定是M$的DOS.....樓下請接力

所以我想說也是上面很多人說的:這一切都是M$的陰謀啦~~~~
既然能指到硬碟去怎麼不在記憶體裡指遠一點就好了(指到硬碟去還比較麻煩呢)?
外觀更動or核心更動=如長江之水源源而來的$$

ps.剛剛又看一下一樓主文發現樓主有所更動
幫您補充一下:
記憶體抓到多少實際要看BIOS,這才是與硬體有相關的,
也曾有那種CPU能定址到但BIOS卻因為版本關係(16bit或32bit)而抓不到的情形出現

至於在作業系統裏面看到的記憶體(實體&虛擬)容量,那是另外一回事
就好像發財車不太可能載到貨櫃車相同貨量
但明明是貨櫃車卻只劃出發財車的車斗面積來載貨
只要是男人,沒有人喜歡被"閹割"的感覺吧

saqwed wrote:
對 OS 來說
--> 能用的記憶體有 實際的記憶體大小 + 虛擬記憶體(利用硬碟或是其他的儲存裝置構成)

對 OS 下的軟體來說
--> 每個軟體都可以擁有 4G 甚至更大的記憶體空間, 但實際上只是因為它跟OS要記憶體, 而 OS 告訴它有多大可以用, 而且記憶體空間都是從 位置0 開始算, 但是這個 位置0 到底是在記憶體上的哪裡? 這只有 OS 才知道

我想您要告訴我的是這樣吧



不能說全對也不能說全錯,有點妙..

看樣子似乎是把Physical memory和VMM弄出來virtual Memory的東西混在一起了。透過VMM去存取的記憶體是虛擬化過的,理論上VMM可以做到任何事,但是不搭配硬體設計會有效率問題,而且單就Windows來說,處理I/O的部分也沒有這麼簡單..:p
judgekchen wrote:
不會啊!如果回想起早年1MB要1000大洋,現在的價錢確實讓人恨的牙癢癢的!...(恕刪)

同年代的.....(握手)

三星4+4MB要價8張蔣總統(那時候還沒有小朋友呀~~~~)
果然現在記憶體價格便宜到令人髮指了
saqwed 兄的說法不太正確.

目前這種由IBM PC XT 延伸過來的架構有很多都是妥協及歷史的問題.
OS與AP在運作上也有很多不一樣的地方,
用所謂"程式設計"論點是不太正確.

只是我沒有那麼專業,可以解釋的清楚.



ulimie wrote:
畢竟我也只有一台 PC 是裝了 5G, 另一台 NB 裝了 4G, 如此而己. 而碰到的問題, 只有一個: 就是 NB 在休眠會有問題(因為拔掉多加的 2G 就 OK 了.); 其他的都還好(恕刪)


以MS的系統來說,原則上是不允許擁有4GB以上記憶體的機器執行休眠的
You cannot put a computer that has more than 4 GB of memory into hibernation in Windows XP, in Windows Server 2003, in Windows Vista, or in Windows Server 2008

Linux則沒有這樣的限制
所謂的OS(現在泛稱?)在不算古早的古早以前全名是Disk I/O System ----->磁碟 輸入/輸出 系統
這個DOS並不是只有M$有出,還有4DOS,PCDOS.....等等
M$出的全名為MS-DOS X.xx(X.xx是版本編號)
不過DOS隨著不斷演化要處理的東西愈來愈多,愈來愈多,愈來愈多
把一些本來只是"順便"處理的東西通通納進去
比如記憶體管理M$官方的是用EMM386.EXE還有非官方的QEMM386.EXE等等
到窗子系統開發出來由於使用者被關到窗子裏面了所以只能透過窗子看世界,也只能看到窗子的一片天
這時DOS升級變成了OS,他的D被拿掉了,因為他不只是個D而已了,但這只限於在窗子裏面
窗子外面呢?沒有窗子外面的問題,因為窗子是關起來的
你只能破牆而出,才能看到窗子外面的世界


lee0715 兄,真的要做點功課啦.

OS 稱為 Operation system,
就算是 ms-dos, 也是 MICROSOFT Disk Operation system 的簡稱.

不要和 BIOS (Basic Input/Output System )搞混了.

目前的LINUX 是比較完整的OS 包,
傳統的OS定義除了基本的作業系統外,
也還包含一堆有的沒的.
尤其是要包含開發工具
M$還要我們自己買. (^.^)=凸

4DOS 不是真正的完整DOS,
是一個 DOS SHELL,
是取代 COMMAND.COM 的程式.

PC DOS(IBM) ,及 DR.DOS 才是完整的DOS,
目前還有些DOS還活著,

目前很多人用的 "微軟視窗作業系統",
是它的商標名是 M$ Windows ,是作業系統的一種,
原來的 Windows 1.0 只是一個 DOS SHELL,
以視覺化方式協助操作DOS,

直到 Windows 3.0 才比較完整變成目前熟知的樣子,
但是 windows 1.0 到最後的 windows ME,
實際上會都經過DOS開機階段,
只是從 windows 95 之後就掩飾的好一點,
這也是傳統的倚天中文可以在這些os上執行的原因.

windows 作業系統的另一個重要的分支 windows NT 家族作業系統,
由1993的 windows nt 3.0 => nt 3.5 =>nt 4.0 (個人用的 Professional 及 server 家族),
然後變成大家熟知的 windows 2000 os 家族(個人用的 win2000 Professional 及 server 家族),
再分支為個人用的 windows xp,vista,windows 7 os 家族,
以及server用的 windows server 2003,2008 os 家族

其他太扯的就別人去鞭吧.
如果你扯到 EMM386,
順便也是告訴大家,
M$早八百年就知道在 16 bits OS (DOS) 使用超過 16 bits 定址空間(2^16 =65536)的記憶體的方式.
不要說m$知道,連當時的任天堂都知道,
任天堂 (famicom) 使用 8bits cpu,可是卡帶早早就超過 8 bits 可以定址的空間.
只能用4G 就是故意閹割的結果.

文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!