写时复制(copy-on-write)
来源:互联网 发布:广州国投网络批发城 编辑:程序博客网 时间:2024/05/21 16:22
传统的fork()系统调用直接把所有的资源复制给新创建的进程。这种实现过于简单并且效率低下,因为它拷贝的数据或许可以共享(This approach is significantly naïve and inefficient in that it copies much data that might otherwise be shared.)。更糟糕的是,如果新进程打算立即执行一个新的映像,那么所有的拷贝都将前功尽弃。Linux的fork()使用写时拷贝(copy-on-write)页实现。写时拷贝是一种可以推迟甚至避免拷贝数据的技术。内核此时并不复制整个进程的地址空间,而是让父子进程共享同一个地址空间。只用在需要写入的时候才会复制地址空间,从而使各个进行拥有各自的地址空间。也就是说,资源的复制是在需要写入的时候才会进行,在此之前,只有以只读方式共享。这种技术使地址空间上的页的拷贝被推迟到实际发生写入的时候。在页根本不会被写入的情况下---例如,fork()后立即执行exec(),地址空间就无需被复制了。fork()的实际开销就是复制父进程的页表以及给子进程创建一个进程描述符。在一般情况下,进程创建后都为马上运行一个可执行的文件,这种优化,可以避免拷贝大量根本就不会被使用的数据(地址空间里常常包含数十兆的数据)。由于Unix强调进程快速执行的能力,所以这个优化是很重要的。
http://hi.baidu.com/zengzhaonong/blog/item/90ce8d5802d044de9d82043f.html
- 写时复制(copy-on-write)
- Copy On Write(写时复制)
- copy-on-write(写时复制)
- Copy On Write(写时复制)
- copy-on-write 写时复制
- “Copy-on-write”---->写时复制
- 关于 copy-on-write 写时复制
- Copy-On-Write 写时复制原理
- Copy-On-Write 写时复制原理
- Copy On Write(写时复制)
- Copy-On-Write写时复制
- Copy On Write(写时复制)
- 写时复制copy on write
- 写时复制Copy-On-Write
- 关于写时复制(copy-on-write)
- 数组指针特例-写时复制cow(copy on write)
- PHP中的写时复制(Copy On Write)
- Linux写时复制技术(copy-on-write)
- boost::ASIO的异步方式
- 关于SOAOFFICE的错误总结
- 一段自动备份的MYSQL备份的脚本
- 线程同步-信号量-strand的用法总结
- Symbian的二阶段构造机制
- 写时复制(copy-on-write)
- POJ 2488 A Knight's Journey
- 基于PHPRPC的单点登录(SSO)的实现
- 100个名著,每个名著浓缩一句话
- ORACLE ALERT
- 成为超级英语天才的十个要领
- pcm in blue-ray
- cassandra中的一些配置
- Mysql存储过程(三)——处理分页