回文章列表
作者asho.bbs@bbs.sayya.org (阿信) 看板: linux
標題Re: [問題] 32位元下單執行緒最高能用到多少記憶體?
時間SayYA 資訊站 (2008/04/28 Mon 12:02:39)
※ 引述《no@nospam.no (DJ)》之銘言:
> 阿信 wrote:
> >     一個 process 能定址的記憶體大小應該是4G,
> Yes, "能定址"的大小是4G, 但是一個執行緒"最高"能用到的(這意思
> 是在執行時後單一一次能直接使用,而不是用類似DOS舊時代的HIMEM
> 那種間接的切換搬移方式)是3G.
> 如果要另外寫碼去切換的話(不是直接定址去用),那麼"最高"可以
> 超過4G。原PO的情況是他的程式是從64-bit環境搬到32-bit環境,
> 並沒有另外寫切換的碼,所以我回答的也是針對他的情況。
    感謝說明。
    只是想請教的是寫碼去切換是什麼意思呢?例如寫一個程式,不斷allocate
    其記憶體空間,還是說可以另外去allocate High MEM區段的位址空間

    在寫kernel driver時,的確是可以allocate到High MEM的位置,
    但User space的malloc或其它的function可以指定更高的位置嗎?

    謝謝
> >     上頭的1G/3G是指kernel space和user space能使用到的位址。
> >     附帶一提的是Windows XP可以在boot.ini調整kernel space和user space
> linux和XP可以調(2/2, 3/1)但是都是小於上頭的3G,調了對原PO沒意義
    是的,對原PO是沒意義的,只是是單純的補充 :-)
--
※ Origin: SayYA 資訊站 <bbs.sayya.org> 
◆ From: adsl-220-229-34-77.nh.sparqnet.net
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻