写入时复制

✍ dations ◷ 2025-02-23 21:25:55 #计算机编程

写入时复制(英语:Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(callers)同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变。这过程对其他的调用者都是透明的(transparently)。此作法主要的优点是如果调用者没有修改该资源,就不会有副本(private copy)被创建,因此多个调用者只是读取操作时可以共享同一份资源。

一般把这种被共享访问的页面标记为只读。当一个task试图向内存中写入数据时,内存管理单元(MMU)抛出一个异常,内核处理该异常时为该task分配一份物理内存并复制数据到此内存,重新向MMU发出执行该task的写操作。

Linux等的文件管理系统使用了写时复制策略。

数据库服务器也一般采用了写时复制策略,为用户提供一份snapshot。

C++标准程序库中的std::string类,在C++98/C++03标准中是允许写时复制策略。但在C++11标准中为了提高并行性取消了这一策略。 GCC从版本5开始,std::string不再采用COW策略。

相关

  • 美国白蛾美国白蛾(英语:Fall webworm,学名:Hyphantria cunea)是白蛾属下的一种蛾,幼虫会在夏末和秋季织网状巢,其英文名也是由此而来。国际自然保护联盟公布的百大外来入侵物种,对东亚造成仅
  • 甲硫醇甲硫醇又被称为巯基甲烷、硫氢甲烷,分子式:CH3-SH,分子量:48.10,CAS号:74-93-1。常温常压下为无色气体,有烂白菜气味,因此常被加进煤气中。它是一个具有独特腐臭气味的无色气体。它
  • 镶嵌艺术镶嵌艺术,又音译为马赛克(英语:Mosaic,应源于“musa”,即希腊语中,掌管科学及诗歌艺术等九女神之名),平面作品又称镶嵌画、镶嵌细工或碎锦画,是一种装饰艺术,通常使用许多小石块或有色
  • 制度制度(英语:Institution),或称为建制,是社会科学里面的概念。在社会科学的角度来理解下,制度泛指以规则或运作模式,规范个体行动的一种社会结构。这些规则蕴含着社会的价值,其运行表
  • 女巫女巫,又称巫婆、魔女,是西方文化中使用巫术、魔法、占星术并以此类超自然能力女性的称呼。有人说伊西斯是埃及的女神,但也有人说,她更像一个女巫,因为他精通所有的咒语与魔法。她
  • 茱莉亚·切尔德茱莉亚·切尔德(英文:Julia Child,1912年8月15日-2004年8月13日)出生于美国加州的帕萨迪纳市,是美国的知名厨师、作家与电视节目主持人。曾登上1966年11月25日的《时代》杂志封面,2
  • 田中耕太郎田中耕太郎(1890年10月25日-1974年3月1日)是日本的法学者、法哲学者,曾任东京帝国大学(今东京大学)大学法学部长、第1次吉田内阁文部大臣、第二任最高裁判所长官。
  • 台城洞台城洞(又称自由村),是一个两韩边界附近的韩国聚落,位于朝韩非军事区(DMZ)内。该村庄距不归桥1.6千米,距朝鲜开城市12千米。台城洞在行政上隶属于坡州市郡内面(朝鲜语:군내면 (파주시
  • 剑桥中国文学史剑桥中国文学史(英语:The Cambridge History of Chinese Literature) 是一套两卷的由剑桥大学出版社出版的中国文学书籍。2013年出版发行,主要由耶鲁大学教授孙康宜和哈佛大学
  • 维克托·彼得罗维奇·尼科诺夫维克托·彼得罗维奇·尼科诺夫(俄语:Виктор Петрович Никонов,1929年2月28日-1993年9月17日)苏联党和国家领导人。1929年,生于罗斯托夫州绍洛霍夫斯基区别洛