在书上的第308页上讲述了Copy-On-Write访问方式,本人感觉过于深奥。有哪位大侠能说得清晰,浅显一些吗?

解决方案 »

  1.   

    其实就是要问PAGE_WRITECOPY这个页面的保护属性究竟是怎么回事.
      

  2.   

    写的话,将公用的page复制到自己进程中的一块区域,然后单独再write
      

  3.   

    抽象一下,就是这么回事:一个东西,如果大家都只是去读,不涉及到修改,那么大家公用一份就足够了。
    只有要修改时,才需要私有的那份。linux 2.6 内核的 RCU 也是这样。说穿了,就是 Lazy Algorithm 的一个应用。
      

  4.   

    当公用的时候就都用公用的,而你要修改的时候,就会copy一份出来,自己修改,其他人还是用公用的
      

  5.   

    这玩意解释简单了你无法理解,解释多了又麻烦。LZ还是自己去Google些资料看看吧
      

  6.   

    比如说DLL的全局量都是在data段,这个段就会有Copy-On-Write属性。当链接到这个DLL的exe需要修改访问DLL的全局量,OS就会在Page中分配一页给这个进程单独使用,将原DLL的data段的相应页拷贝过来再做修改,而不是直接使用原先DLL的data段的页。