iT邦幫忙

0

Linux 與 Unix 記憶體管理的優劣?

請問各位大大 請幫我表列Linux 與 Unix 記憶體管理的優劣?
感謝

fillano iT邦超人 1 級 ‧ 2009-04-06 13:07:42 檢舉
可以這樣比嗎?記憶體管理是硬體架構的問題,會因為CPU而有不一樣耶?

例如68000沒有MMC,Linux也可以照跑;很多嵌入式硬體,軟體是放在記憶體裡面直接跑,不是有個image放在儲存體上把他載入記憶體跑等等。光是Linux本身就有很多不同,你要怎麼比???我蠻懷疑的。

另外,如果把Linux看作泛Unix作業系統的話,你又要怎樣比較呢?

我是覺得問題要問得更明確,例如Linux on i386與FreeBSD on i386的比較等等,可能會比較有意義吧?不過這方面的差別我想是相當細節了,而且跟Microsoft Windows on i386的比較恐怕也差不多意思吧?同樣支援CPU的虛擬記憶體機制,只是實作細節有不同。
fillano 大大

您這樣回答是想他被老師當掉嗎? ^_^
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

24
gkkangel
iT邦好手 1 級 ‧ 2009-04-06 09:22:13
最佳解答

Linux 記憶體管理的基礎是要求分頁的虛擬記憶體模型 (demand paged virtual memory model)。

Linux 的記憶體管理中還有一個很重要的機制,稱為記憶置換 (swapper),這是

當實體記憶體不足時,例如原本記憶就不多或是正在執行一個大程式,如果又有程式要求配置記憶體,作業系統會把不常存取的記憶頁的內容先存到硬碟裡,把這頁實體記憶體拿來滿足程式的要求。之後若有程式要存取被置換到硬碟的那一頁記憶體內容,作業系統就會把它讀回來,但是放在那裡?是否須要放到原來的實體位址上,不用,那裡有空位就放那裡,只要把邏輯位址和實體位址的對應改一下即可,這裡可以看出虛擬記憶體的好處,若是實體記憶體仍然吃緊,找不出空位,那只好找另一個不常用的記憶頁,請它暫時到硬碟去,位置空出來給這筆急用的資料了。


Linux 是基於Unix為基礎所演化而來的OS..
記憶體這門學問太深..~,~

我要發表回答

立即登入回答