PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Grad-ProbAsk
[理工] OS fork
作者:
w181496
(Kaibro)
2016-10-22 00:18:12
http://i.imgur.com/w2BzFNg.jpg
想請教各位1.1這題
網路上找到某份似乎是答案的答案給C
我的疑問是
Linux不是預設有copy on write嗎
這樣剛fork出來時不是會共用相同space嗎?
動到的時候才會複製一份吧?
感謝
作者: aa06697 (todo se andarà)
2016-10-22 17:42:00
對呀 每個process都有自己的page table, 子process還會先標記哪些是modified frame 當要修改時 mmu就會去修改他的page table內容 指向私有的physical address
作者:
ken52011219
(呱)
2016-10-22 13:32:00
恐龍本P.719 有寫出它的使用時機 可以參考一下另外我一開始的留言並沒有考慮多個CALLERS時的狀況抱歉 @@~
作者: aa06697 (todo se andarà)
2016-10-22 13:27:00
「現代」多數os的fork會copy on write(需要mmu幫忙) 就如你所說 是先共用 在寫入時才會配記憶體 但題目沒特別說是linux... 而且也可能是很久的題目了?
作者:
ken52011219
(呱)
2016-10-22 13:21:00
假如使用Copy on write 就會像你一開始所說的如此但使用Copy on write 的前提是 此Virtual memory region that is mapped privately
作者:
w181496
(Kaibro)
2016-10-22 12:59:00
原文那段指的是沒copy on write的fork吧 如果有COW那也一樣是複製一份嗎@@?
作者:
A4P8T6X9
(殘廢的名偵探)
2016-10-22 12:02:00
ok, 剛看一下應該是我錯了,vfork 才會共用
作者:
ken52011219
(呱)
2016-10-22 11:15:00
應該是沒錯啦 @@ 原文「 A new process is createdby the fork() System Call. The new process consist of a copy of the address space of the originalprocess.」 P.115有寫道
作者:
A4P8T6X9
(殘廢的名偵探)
2016-10-22 08:36:00
覺得答案錯XDD
作者:
ken52011219
(呱)
2016-10-22 00:23:00
Fork 時就會複製了若有變更 Address space才開始複製 代表需要用到kernel mode 的instruction 這樣mode切換頻率太高CPU utilization 會下降 不會這樣設計
繼續閱讀
[理工] [Algo]三個階段的問題
a19930301
[理工] 離散 排列組合
hopward
[理工] [離散] 禁位問題
kyuudonut
Re: [工數] 複變 實數定積分
Honor1984
工數~正交軌跡
wendylolo
[工數] 複變 實數定積分
lawrence022
[理工] [計組] data path問題
beargg0305
Re: [問題] 離散數學!
n29287764
[理工] [資結] obst 要寫哪個版本?
kyuudonut
[理工] 計組 范紐曼結構
wtmo5566
Links
booklink
Contact Us: admin [ a t ] ucptt.com