- 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.
- .NET 4.0面向對象編程漫談:基礎篇
- Mastering Entity Framework
- 數據結構習題解析與實驗指導
- Learning Concurrency in Kotlin
- Java程序設計案例教程
- 開源項目成功之道
- 人工智能算法(卷1):基礎算法
- 精通Spring:Java Web開發與Spring Boot高級功能
- Spring Data JPA從入門到精通
- Responsive Web Design with jQuery
- Python滲透測試編程技術:方法與實踐(第2版)
- Mastering Vim
- Python AI游戲編程入門:基于Pygame和PyTorch
- Implementing DevOps with Ansible 2
- 米思齊實戰手冊:Arduino圖形化編程指南