- Mastering Linux Kernel Development
- Raghu Bharadwaj
- 186字
- 2021-07-08 09:47:18
Copy-on-write (COW)
Duplication of parent process to create a child needs cloning of the user mode address space (stack, data, code, and heap segments) and task structure of the parent for the child; this would result in execution overhead that leads to un-deterministic process-creation time. To make matters worse, this process of cloning would be rendered useless if neither parent nor child did not initiate any state-change operations on cloned resources.
As per COW, when a child is created, it is allocated a unique task structure with all resource entries (including page tables) referring to the parent's task structure, with read-only access for both parent and child. Resources are truly duplicated when either of the processes initiates a state change operation, hence the name copy-on-write (write in COW implies a state change). COW does bring effectiveness and optimization to the fore, by deferring the need for duplicating process data until write, and in cases where only read happens, it avoids it altogether. This on-demand copying also reduces the number of swap pages needed, cuts down the time spent on swapping, and might help reduce demand paging.
- 面向STEM的Scratch創新課程
- 匯編語言程序設計(第3版)
- Big Data Analytics
- The HTML and CSS Workshop
- Nginx實戰:基于Lua語言的配置、開發與架構詳解
- 焊接機器人系統操作、編程與維護
- 計算機應用基礎案例教程
- 貫通Tomcat開發
- Mastering HTML5 Forms
- Java 7 Concurrency Cookbook
- 計算機應用基礎(Windows 7+Office 2010)
- Design Patterns and Best Practices in Java
- Java服務端研發知識圖譜
- Mastering MeteorJS Application Development
- Unity3D高級編程:主程手記