為什麼這篇memorystack教學鄉民發文收入到精華區:因為在memorystack教學這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者kyuudonut (善良老百姓)看板C_and_CPP標題[問題] memory stack ...
最近寫 c code 一直想釐清一些問題
跟c程式沒有很直接相關,若發在這不妥再請麻煩版友告知了 m(_ _)m
最近在研讀virtual memory相關知識,大致上了解paging的運作模式
但仍不太懂 stack 往下長的實際情況是如何運作?
stack就我的理解基本上是:
程式在執行 function call 時,堆疊便會一直往下長
[問題一] process 是在 loading 時才知道分配到的 stack 的起始位置嗎?
[問題二] stack overflow 如何判定? 在此 stack 的大小是由誰決定的呢?
[問題二] 如果有多個 process 同時運作,各自 stack 的起始位置又是如何分配呢?
(一直往下長不會撞到嗎@@)
(當某 process 需要的 stack 大小超過兩個 page 又是如何維護?
page 如果不連續怎麼辦?)
[問題三] 一個程式有code, text區段,是直接從 heap 下面開始剩餘記憶體
隨機取一page各自載入嗎?還是 memory 還有在更細分區塊?
還請各位前輩指教,或是指引我關鍵字QQ 我會去查資料
小弟目前正在研讀"程式設計師的自我修養-連結,載入,程式庫"
這本書寫的很詳細,卻又引出更多疑問 orz
--
◢ ◣▂ 丹丹先生,請問你對其他速食店降價 丹你老木!
◤_ ◢ ◣ 會擔心嘛? ▂▂▂▏╯
|════ ⊙ ◤◤ ╯ ▁▃▃˙˙ █
▇▇▇▇▇▇▇█║ ◤ ● ╭═╮ ▁◤ ▋
█████ __ █║ [TV]人 ◥███ ◢
◣▅ ◤ ▅◢◢◢◤ ◥▆▄_◥██▄▃▆◢█◣ φjeans1020
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.251.85
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1472306744.A.290.html