About: Copy-on-write     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:WikicatProgrammingParadigms, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FCopy-on-write

Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is duplicated but not modified, it is not necessary to create a new resource; the resource can be shared between the copy and the original. Modifications must still create a copy, hence the technique: the copy operation is deferred to the first write. By sharing resources in this way, it is possible to significantly reduce the resource consumption of unmodified copies, while adding a small overhead to resource-modifying operations.

AttributesValues
rdf:type
rdfs:label
  • Copy-on-write
  • Copy-On-Write
  • Copy-on-write
  • Copy-on-write
  • Copy-on-write
  • コピーオンライト
  • Kopiowanie przy zapisie
  • Копирование при записи
  • 寫入時複製
rdfs:comment
  • Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is duplicated but not modified, it is not necessary to create a new resource; the resource can be shared between the copy and the original. Modifications must still create a copy, hence the technique: the copy operation is deferred to the first write. By sharing resources in this way, it is possible to significantly reduce the resource consumption of unmodified copies, while adding a small overhead to resource-modifying operations.
  • En Informática, copy-on-write (inglés para «copiar al escribir», a veces abreviado COW) es una política de optimización utilizada en programación. Si múltiples procesos piden recursos que inicialmente son indistinguibles (iguales), se les devuelven punteros al mismo recurso; en el momento en que un proceso intenta modificar su "copia" del recurso, se crea una copia auténtica para prevenir que los cambios producidos por dicho proceso sean visibles por todos los demás. Todo ocurre de forma transparente para los procesos. La principal ventaja de este método es que no se crea ninguna copia adicional del recurso si ningún proceso llega a realizar modificaciones.
  • La cosiddetta strategia copy-on-write (espressione inglese approssimativamente traducibile con "copia in caso di scrittura") è una tecnica di ottimizzazione informatica mirante alla riduzione delle operazioni di duplicazione delle risorse del sistema (generalmente strutture dati o aree di memoria) attraverso l'eliminazione delle copie non necessarie.
  • コピーオンライト (Copy-On-Write) とは、コンピュータプログラミングにおける最適化戦略の一種である。COWと略記することもある。 コンピュータ内部で、ある程度大きなデータを複製する必要が生じたとき、愚直な設計では、直ちに新たな空き領域を探して割り当て、コピーを実行する。ところが、もし複製したデータに対する書き換えがなければその複製は無駄だったことになる。 そこで、複製を要求されても、コピーをした振りをして、とりあえず原本をそのまま参照させるが、ただし、そのままで本当に書き換えてはまずい。原本またはコピーのどちらかを書き換えようとしたときに、それを検出し、その時点ではじめて新たな空き領域を探して割り当て、コピーを実行する。これが「書き換え時にコピーする」、すなわちコピーオンライト (Copy-On-Write) の基本的な形態である。 基盤となる考え方は、複数の(何らかの)要求者がリソースを要求するときに、少なくとも当初はそれらの要求を区別する必要がないときに同じリソースを与える、というものである。これは要求者がリソースを「更新」しようとするまで保持され、「更新」が他者に見えないようにリソースの個別のコピーを必要になった時点で作成する。要求者からはこの一連の動きは見えない。第一の利点は要求者が全く更新しなければ、個別のコピーを作成する必要が生じないという点である。
  • 寫入時複製(英语:Copy-on-write,简称COW)是一种计算机程式設計領域的优化策略。其核心思想是,如果有多個呼叫者(callers)同時要求相同資源(如内存或磁盘上的数据存储),他們會共同取得相同的指標指向相同的資源,直到某個呼叫者试图修改資源的内容時,系統才會真正複製一份专用副本(private copy)給該呼叫者,而其他呼叫者所见到的最初的资源仍然保持不变。這過程對其他的呼叫者都是透明的(transparently)。此作法主要的優點是如果呼叫者沒有修改該資源,就不會有副本(private copy)被建立,因此多个呼叫者只是读取操作时可以共享同一份资源。
  • Das Copy-On-Write-Verfahren (kurz COW genannt, englisch wörtlich für „Kopieren-beim-Schreiben“) ist in der Datenverarbeitung eine Optimierungsmethode zur Vermeidung unnötiger Kopien und Kopiervorgänge, beispielsweise zwischen Prozessen unter unixartigen Systemen, insbesondere bei oder nach einem fork-Systemaufruf.
  • Le copy-on-write ou copie sur écriture (souvent désigné par son sigle anglais COW) est une stratégie d'optimisation utilisée en programmation informatique. L'idée fondamentale : si de multiples appelants demandent des ressources initialement impossibles à distinguer, vous pouvez leur donner des pointeurs vers la même ressource. Cette fiction peut être maintenue jusqu'à ce qu'un appelant modifie sa « copie » de la ressource. À ce moment-là, une copie privée est créée. Cela évite que le changement soit visible ailleurs. Ceci se produit de manière transparente pour les appelants. L'avantage principal est que si un appelant ne fait jamais de modifications, la copie privée n'est jamais créée.
  • Kopiowanie przy zapisie (ang. copy-on-write, COW) — technika optymalizacji używana w programowaniu komputerów, gdy istnieje potrzeba współdzielenia względnie dużej ilości danych (np. między wątkami czy procesami), co do których nie ma pewności, że zostaną zmodyfikowane przez używające je obiekty. Początkowo zamiast rzeczywistego, kosztownego (czasowo i pamięciowo) kopiowania pamięci zwracany jest wskaźnik do oryginalnych danych; kopiowanie jest wykonywane dopiero wtedy, gdy zachodzi potrzeba ich modyfikacji.
  • Механизм копирования при записи (англ. Copy-On-Write, COW) используется для оптимизации многих процессов, происходящих в операционной системе, таких как, например, работа с оперативной памятью или файлами на диске (пример — ext3cow). Главная идея copy-on-write — при копировании областей данных создавать реальную копию только когда в одну из копий производится операция записи.
sameAs
dct:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
foaf:isPrimaryTopicOf
prov:wasDerivedFrom
has abstract
  • Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is duplicated but not modified, it is not necessary to create a new resource; the resource can be shared between the copy and the original. Modifications must still create a copy, hence the technique: the copy operation is deferred to the first write. By sharing resources in this way, it is possible to significantly reduce the resource consumption of unmodified copies, while adding a small overhead to resource-modifying operations.
  • Das Copy-On-Write-Verfahren (kurz COW genannt, englisch wörtlich für „Kopieren-beim-Schreiben“) ist in der Datenverarbeitung eine Optimierungsmethode zur Vermeidung unnötiger Kopien und Kopiervorgänge, beispielsweise zwischen Prozessen unter unixartigen Systemen, insbesondere bei oder nach einem fork-Systemaufruf. Die Grundidee des Verfahrens ist, dass die Kopie erst dann „real“ angefertigt wird, sobald sie von einem der Beteiligten verändert wird. Solange alle Beteiligten ihre Kopie nicht verändert haben, reicht es, das Original ein einziges Mal zu speichern. Die Kopie erfolgt also zunächst „virtuell“ – üblicherweise durch das Setzen harter Verknüpfungen – und wird erst bei einer ersten Änderung verzögert angelegt.
  • En Informática, copy-on-write (inglés para «copiar al escribir», a veces abreviado COW) es una política de optimización utilizada en programación. Si múltiples procesos piden recursos que inicialmente son indistinguibles (iguales), se les devuelven punteros al mismo recurso; en el momento en que un proceso intenta modificar su "copia" del recurso, se crea una copia auténtica para prevenir que los cambios producidos por dicho proceso sean visibles por todos los demás. Todo ocurre de forma transparente para los procesos. La principal ventaja de este método es que no se crea ninguna copia adicional del recurso si ningún proceso llega a realizar modificaciones.
  • Le copy-on-write ou copie sur écriture (souvent désigné par son sigle anglais COW) est une stratégie d'optimisation utilisée en programmation informatique. L'idée fondamentale : si de multiples appelants demandent des ressources initialement impossibles à distinguer, vous pouvez leur donner des pointeurs vers la même ressource. Cette fiction peut être maintenue jusqu'à ce qu'un appelant modifie sa « copie » de la ressource. À ce moment-là, une copie privée est créée. Cela évite que le changement soit visible ailleurs. Ceci se produit de manière transparente pour les appelants. L'avantage principal est que si un appelant ne fait jamais de modifications, la copie privée n'est jamais créée. L'utilisation principale du Copy-on-write est la mémoire virtuelle de systèmes d'exploitation. Lorsqu'un processus crée une copie de lui-même, les pages de la mémoire qui doivent être modifiées soit par le processus soit par sa copie sont marquées copy-on-write. Lorsque le processus modifie une page mémoire, le noyau du système d'exploitation intercepte l'opération et copie la page mémoire pour que les changements de la mémoire d'un processus n'affectent pas celle d'un autre. Une autre utilisation est la fonction calloc. Elle peut être implémentée en ayant une page de mémoire vive remplie par des zéros. Quand la mémoire est allouée, les pages retournées font toutes référence à la page de zéros et sont marquées copy-on-write. De cette façon, la quantité de mémoire vive allouée pour le processus n'augmente pas tant que les données ne sont pas écrites dans le tampon retourné par calloc. Typiquement, cela n'est fait que pour les allocations mémoire importantes. Le Copy-on-write peut être implémenté en disant à la MMU que certaines pages dans l'espace d'adresses du processus sont en lecture seule.Quand des données sont écrites dans ces pages, la MMU lève une exception qui est gérée par le noyau. Celui-ci alloue de la mémoire vive et fait que la page écrite corresponde à ce nouvel endroit de la mémoire vive. L'utilisation frugale de la mémoire est un avantage majeur du COW. Puisque l'utilisation de la mémoire vive ne s'accroît que quand des données sont stockées, des tables de hachage très efficaces peuvent être implémentées. Elles utilisent à peine plus de mémoire que les objets qu'elles contiennent. Néanmoins, de tels programmes risquent de tomber à court d'espace de mémoire virtuelle. Les pages virtuelles non utilisées par la table de hachage ne peuvent pas être utilisées par d'autres parties du programme. Le principal problème du COW au niveau du noyau est la complexité qu'il ajoute, mais les soucis sont similaires à ceux levés par des problématiques plus basiques de la mémoire virtuelle comme paginer vers le disque. Quand le noyau écrit ces pages, il doit les copier comme si elles étaient marquées copy-on-write. Le COW peut être utilisé en dehors du noyau, dans des bibliothèques logicielles, du logiciel applicatif ou système. La classe string fournie par la Standard Template Library de C++ a été conçue pour supporter des implémentations COW. Un des risques du COW dans ces contextes provient du code avec plusieurs processus légers où des verrous additionnels sont requis pour les objets dans différents processus légers pour qu'ils partagent la même représentation. La complexité d'implémentation induite peut annuler les bénéfices supposés de la technique COW. Illustration de la technique de COW dans la STL C++ std::string x("Hello");std::string y = x; // x et y utilisent le même tampony += ", World!"; // maintenant y utilise un tampon différent // x continue à utiliser le même buffer Les logiciels de virtualisation/émulation tels que Bochs, QEMU ou UML utilisent le COW pour le stockage virtuel sur disque. Cela permet une grande réduction de l'espace disque requis quand de multiples machines virtuelles sont fondées sur la même image disque. De plus les performances sont accrues car les lectures sur le disque peuvent être cachées en RAM et les lectures suivantes pour les autres machines virtuelles peuvent être servies à partir du cache.
  • La cosiddetta strategia copy-on-write (espressione inglese approssimativamente traducibile con "copia in caso di scrittura") è una tecnica di ottimizzazione informatica mirante alla riduzione delle operazioni di duplicazione delle risorse del sistema (generalmente strutture dati o aree di memoria) attraverso l'eliminazione delle copie non necessarie.
  • コピーオンライト (Copy-On-Write) とは、コンピュータプログラミングにおける最適化戦略の一種である。COWと略記することもある。 コンピュータ内部で、ある程度大きなデータを複製する必要が生じたとき、愚直な設計では、直ちに新たな空き領域を探して割り当て、コピーを実行する。ところが、もし複製したデータに対する書き換えがなければその複製は無駄だったことになる。 そこで、複製を要求されても、コピーをした振りをして、とりあえず原本をそのまま参照させるが、ただし、そのままで本当に書き換えてはまずい。原本またはコピーのどちらかを書き換えようとしたときに、それを検出し、その時点ではじめて新たな空き領域を探して割り当て、コピーを実行する。これが「書き換え時にコピーする」、すなわちコピーオンライト (Copy-On-Write) の基本的な形態である。 基盤となる考え方は、複数の(何らかの)要求者がリソースを要求するときに、少なくとも当初はそれらの要求を区別する必要がないときに同じリソースを与える、というものである。これは要求者がリソースを「更新」しようとするまで保持され、「更新」が他者に見えないようにリソースの個別のコピーを必要になった時点で作成する。要求者からはこの一連の動きは見えない。第一の利点は要求者が全く更新しなければ、個別のコピーを作成する必要が生じないという点である。
  • Kopiowanie przy zapisie (ang. copy-on-write, COW) — technika optymalizacji używana w programowaniu komputerów, gdy istnieje potrzeba współdzielenia względnie dużej ilości danych (np. między wątkami czy procesami), co do których nie ma pewności, że zostaną zmodyfikowane przez używające je obiekty. Początkowo zamiast rzeczywistego, kosztownego (czasowo i pamięciowo) kopiowania pamięci zwracany jest wskaźnik do oryginalnych danych; kopiowanie jest wykonywane dopiero wtedy, gdy zachodzi potrzeba ich modyfikacji. Najważniejszą zaletą jest to, że jeżeli nigdy nie będzie żadnych zmian, nie będzie również potrzeby wykonywania prawdziwej kopii.
  • Механизм копирования при записи (англ. Copy-On-Write, COW) используется для оптимизации многих процессов, происходящих в операционной системе, таких как, например, работа с оперативной памятью или файлами на диске (пример — ext3cow). Главная идея copy-on-write — при копировании областей данных создавать реальную копию только когда в одну из копий производится операция записи. Например, при работе UNIX-функции fork() вместо реального копирования, под которое надо выделять память, ядро меняет дескрипторы страниц памяти материнского процесса, запрещая какую-либо запись в страницы данных (страницы программного кода и так запрещены для записи; хотя здесь имеются свои тонкости - но на дальнейшие рассуждения они не влияют). Затем создаётся дочерний процесс, которому копируются дескрипторы страниц памяти материнского процесса. При этом ядро помечает эти страницы как совместно используемые.Попытка записи в отображённые страницы (неважно, со стороны материнского или дочернего процесса) вызывает исключение (exception), которое передаёт управление в ядро. Ядро видит, что это обращение было законным, и создаёт копию изменяемой страницы. Таким образом удаётся снизить количество потребляемой программами памяти. Механизм получил большое распространение при создании новейших файловых систем, таких как ZFS и Btrfs. Благодаря ему создание снимков в данных системах происходит практически мгновенно, не занимая при этом больших ресурсов носителя информации.
  • 寫入時複製(英语:Copy-on-write,简称COW)是一种计算机程式設計領域的优化策略。其核心思想是,如果有多個呼叫者(callers)同時要求相同資源(如内存或磁盘上的数据存储),他們會共同取得相同的指標指向相同的資源,直到某個呼叫者试图修改資源的内容時,系統才會真正複製一份专用副本(private copy)給該呼叫者,而其他呼叫者所见到的最初的资源仍然保持不变。這過程對其他的呼叫者都是透明的(transparently)。此作法主要的優點是如果呼叫者沒有修改該資源,就不會有副本(private copy)被建立,因此多个呼叫者只是读取操作时可以共享同一份资源。
http://purl.org/voc/vrank#hasRank
Faceted Search & Find service v1.17_git39 as of Aug 09 2019


Alternative Linked Data Documents: PivotViewer | iSPARQL | ODE     Content Formats:       RDF       ODATA       Microdata      About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3232 as of Jan 24 2020, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (61 GB total memory)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2020 OpenLink Software