在 unix system 中,當某一個 child process 被執行時,系統會呼叫 fork() function,複製一份 parent process 的程式碼給 child process,child process 再使用 exec() function create 其他的 process 來執行想要的動作,在鳥哥的網站中[1]有詳細的說明。
Copy on Write technique:
但是當許多個 child processes 同時執行時,這種 fork() 的動作只需要 create 一份給多個 child processes,不需要重複的複製,以減少 memory 的使用量,這種技術叫做 copy on write 技術。
所謂 copy on write 技術就是允許 parent 和 child process 一開始就 share page,這些 share pages 被標示成 copy on write 的 page,當任何一個 process 想要寫入這些 share page 時,只要將它所需要的 share page 複製到另外 empty 的 memory space 中,才做寫入的動作。
Copy on Write technique:
但是當許多個 child processes 同時執行時,這種 fork() 的動作只需要 create 一份給多個 child processes,不需要重複的複製,以減少 memory 的使用量,這種技術叫做 copy on write 技術。
所謂 copy on write 技術就是允許 parent 和 child process 一開始就 share page,這些 share pages 被標示成 copy on write 的 page,當任何一個 process 想要寫入這些 share page 時,只要將它所需要的 share page 複製到另外 empty 的 memory space 中,才做寫入的動作。
---------------------------------------------------------------------
留言
張貼留言