问题描述
我正在阅读:
虽然我完全理解 COW 是什么,但我对按需寻呼一无所知,它与 COW 有什么不同?我将其视为具有不同名称的 COW 的精确副本和实现。我错了吗?
解决方法
它们不一样。
需求分页是一种分页机制,您(操作系统)仅在需要的确切时间(在页面错误期间)将所需页面加载到内存 (RAM) 中。这与进行大量预取相反,在这种情况下,您在需要之前加载几页内存,以期将来会使用它们。
COW 是 copy-on-write,一种保存内存写入的方法。例如,当一个进程 fork 时,为什么要完整复制父内存?它需要额外的时间和空间。为什么不进行写入时复制,这意味着您让两个进程共享内存,将内存标记为只读,然后仅在其中一个进程想要写入该页面时才复制该页面。
需求分页是一种虚拟内存策略。 COW 是对共享内存的优化。