官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 通辽市| 长葛市| 兴山县| 东乌珠穆沁旗| 南投市| 且末县| 陈巴尔虎旗| 乐陵市| 七台河市| 金平| 丰都县| 江达县| 万全县| 阿拉善盟| 南皮县| 杭锦后旗| 仙居县| 顺昌县| 鱼台县| 颍上县| 西华县| 红桥区| 巴东县| 福州市| 米林县| 浦城县| 开远市| 嘉荫县| 青神县| 绥棱县| 乐平市| 儋州市| 思南县| 永春县| 营山县| 徐闻县| 山丹县| 石城县| 汨罗市| 巧家县| 石阡县|