浅谈Copy On Write技术
最近在啃APUE,看的有点云里雾里,结合具体实际例子整理对写时复制技术的理解,以免遗忘,如有错误欢迎反馈,文章不定时更新内容。
COW介绍
fork创建的子进程与父进程共享内存空间。fork()之后,kernel把父进程中所有的内存页的权限都设为read-only,然后子进程的地址空间指向父进程。当父子进程都只读内存时,相安无事。当其中某个进程写内存时,CPU硬件检测到内存页是read-only的,于是触发页异常中断(page-fault),陷入kernel的一个中断例程。中断例程中,kernel就会把触发的异常的页复制一份,于是父子进程各自持有独立的一份。
虽然最开始接触COW......