Talk:Copy-on-write/Archive 1

Examples
Where can one find an example to look at from which to program a copy-on-write routine. Ext3 is cited, http://www.ictp.trieste.it/~manuals/programming/sun/c-plusplus/tools_ug/cop_3018.htm is better, but I'm not sure. Hackwrench 04:09, 4 May 2006 (UTC)


 * Wikipedia isn't a programming guide, detailed examples are not required. --SimonBramfitt (talk) 01:33, 9 January 2013 (UTC)

CoW as anti-malware
I'm thinking of adding a section to cover use of CoW as anti-malware solution. Thoughts? --SimonBramfitt (talk) 01:34, 9 January 2013 (UTC)

Not Limited to OS
This technique is not limited to OS-level functionality (as implied by the first paragraph). For example, the standard Java libraries include a number of 'copy-on-write' data structures. 86.155.86.153 (talk) 09:45, 18 March 2013 (UTC)

C++ STL does not allow copy on write any more (C++11)
I think the C++11 doesn't allow COW in the standard containers any more, see e.g. http://stackoverflow.com/questions/12199710/legality-of-cow-stdstring-implementation-in-c11. I suggest to at least mention this, or maybe replace the STL example alltogether (maybe replace by Qt containers, which use copy on write?)

Kkoehne (talk) 19:20, 29 May 2013 (UTC)

Conflicting access
In the heading I changed "However, if one or more process needs to change some part of the shared information, steps must be taken to ensure that those changes do not impact any other user of the shared resource." to "However, when a local copy has been modified, the copy-on-write paradigm has no provision that the shared resource has in the meantime not been updated by another task or tasks. Copy-on-write is therefore amendable if only the latest update is important and occasional use of a slightly stale value is not harmful." to emphasize what is actually happening. I got some of the wording from this thread at golang-nuts: https://groups.google.com/d/msg/golang-nuts/... (login probably required). I think the sentences still need to be more precise, perhaps also reflecting that it's only on update that the conflict will show up --Øyvind Teig (talk) 09:28, 18 June 2013 (UTC)


 * I have rewritten the lead, effectively undoing the announced edit. I think the discussion the change was inspired by is not about the essence of COW at all, but about using a COW-based strategy to implement a shared read-write resource where modifications are to be atomic (but not invisible) to other tasks. In other words other tasks either get the information before the change, or after the change, but never some halfway updated information. But this is not the basic use of COW, which is where each task is given a conceptually local copy of the resource (changes made are not to be visible to others at all), but in many cases without ever creating such a local copy. The subtle considerations from that discussion certainly have no place in the lead of the WP article about copy-on-write.Marc van Leeuwen (talk) 13:02, 4 August 2014 (UTC)

Other sources
This article, as the template:one source remember (since Jan 2013!), need some sources... Please edit the section below with more suggestions! --Krauss (talk) 13:00, 21 March 2015 (UTC)

NEW SOURCES
Suggestions to use in the article.

Reliable sources:
 * S. J. Mullender (1985) "Distributed File Service Based on Optimistic Concurrency Control". See sec. 4.2 explanation. http://doc.utwente.nl/56296/1/mullender85distributed.pdf
 * J. Alama et al. (2011) "Large Formal Wikis: Issues and Solutions".
 * V. Chidambaram et al. (~2012) "Consistency Without Ordering".

Complementar articles (!):
 * Versioning file system
 * ... Comparison of revision control software...

"Unreliable" (Wikipedia not recommend blogs, youtubes, etc.) but good for discussion/explain/update/inspiration:
 * http://dataprotocols.org/revisioning-data/
 * Mediawiki (the engine of Wikipedia) is a classical example of use copy-on-write (!)
 * Mediawiki (the engine of Wikipedia) is a classical example of use copy-on-write (!)