亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 進(jìn)程用盡堆棧區(qū)間 [打印本頁]

作者: fireaway7    時(shí)間: 2014-05-11 13:45
標(biāo)題: 進(jìn)程用盡堆棧區(qū)間
本帖最后由 fireaway7 于 2014-05-11 13:57 編輯

學(xué)習(xí)到《Linux內(nèi)核源代碼情景分析》第2.5節(jié),假設(shè)情景:進(jìn)程在運(yùn)行過程中,已經(jīng)用盡了為本進(jìn)程分配的堆棧區(qū)間,%esp指到了堆棧區(qū)間的最底部。
內(nèi)核在創(chuàng)建新的進(jìn)程時(shí),是按什么標(biāo)準(zhǔn)來為它確定配堆棧區(qū)間初始大小的,什么時(shí)候會用完?“堆!眱蓚(gè)字老是出現(xiàn)在一起,實(shí)際上它僅僅是指棧吧,malloc()分配得到的地址,應(yīng)該在圖的哪塊區(qū)間呀?
            +----+  --------
            |||||||||||||  系統(tǒng)空間
            |-----  ---------
            | 堆棧區(qū)間 |
%esp->|-----
            | 空     洞  | 用戶空間
            |-----
            | 數(shù)據(jù)和    |
            | 代碼區(qū)間 |
            +----+  --------
作者: tc1989tc    時(shí)間: 2014-05-11 19:47
用戶空間的空洞
作者: fireaway7    時(shí)間: 2014-05-11 20:09
噢,那應(yīng)該從空洞的底部往上嗎,那怎么判斷它有沒有和堆!芭鲎病保


   
作者: wjlkoorey258    時(shí)間: 2014-05-13 17:19
回復(fù) 1# fireaway7

希望這篇文章可以幫到你
http://blog.chinaunix.net/uid-23069658-id-3959636.html

   
作者: fireaway7    時(shí)間: 2014-05-14 08:43
非常感謝,現(xiàn)在又想起來一個(gè)問題,物理內(nèi)存不夠時(shí),可以交換到磁盤,反而虛擬空間“可伸縮”的就只有free那塊區(qū)間了,stack、brk,當(dāng)兩者“碰撞”時(shí),再想擴(kuò)展堆棧區(qū)間或malloc()都將失敗,但往往有一些大型程序內(nèi)存消耗需要在3G以上,32位系統(tǒng)就不能執(zhí)行這個(gè)程序了吧,必須64位系統(tǒng)吧?
個(gè)人意淫:物理空間想像成銀行可運(yùn)轉(zhuǎn)的錢,32位系統(tǒng)虛擬空間3G上限想像成可貸款金額的上限,銀行有方法“挖東墻補(bǔ)西墻”,這個(gè)人不用這筆錢時(shí)再貸給那個(gè)人,感覺每個(gè)人都能貸到這筆錢一樣(只是可能會等待一下),感覺銀行把這筆錢“突破”到不止這麼多錢了,很奇妙,但是由于一些政策的原因,單次貸款金額必須有上限,就相當(dāng)于虛擬空間3G,這個(gè)反而是一個(gè)“突破”不了。
   




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2