Copy-on-Write – Wikipedia

Le Copie-écriture -Chreis (court VACHE Mentionné, l’anglais littéralement pour “Copy-to Write”) est une méthode d’optimisation pour éviter les copies et les processus de copie inutiles, par exemple entre les processus sous les systèmes de type UNIX, en particulier dans ou après un appel du système de fourche.

L’idée de base de la procédure est que la copie n’est rendue “réelle” que dès qu’elle est modifiée par l’un des participants. Tant que toutes les personnes impliquées n’ont pas changé leur copie, il suffit de sauver l’original une fois. [d’abord] La copie se voit attribuer un inode séparé, les structures de pointeur stockées, qui pointent vers les blocs de données, correspondent à celles de l’original. Ce n’est que lorsque l’un des blocs de données est modifié est un nouveau bloc de données utilisé pour le changement et que le pointeur correspondant est remplacé. Si les blocs de données n’ont pas été modifiés, les blocs d’origine peuvent continuer à être référencés.

Si le noyau doit rendre un côté mémoire disponible dans la salle d’adresses d’un autre processus, il n’est pas nécessaire de copier réellement les données ou de les remettre dans la mémoire principale si les données sont uniquement lues mais non décrites. Il est suffisant si les deux processus accèdent d’abord à un et à la même mémoire. Ce n’est que lorsque l’un des deux processus essaie de modifier les données doit être copiée (et seulement partiellement), car le contenu des côtés de la mémoire diffère alors.

Ceci est généralement mis en œuvre sur les processeurs principaux modernes à l’aide de la pagination, les deux processus accédant au même côté de la mémoire. À la fois dans la salle d’adresses du propriétaire de l’original et dans le propriétaire de la copie, cette zone de stockage commune est marquée comme “uniquement lisible”. Si un accès à l’écriture a lieu, le système d’exploitation est informé afin qu’il puisse remplacer le côté mémoire affecté par une copie réelle avant l’accès réel.

Pour les systèmes de fichiers signifie Copie-écriture Ces blocs modifiés ne sont pas écrasés, mais sont initialement complètement copiés dans un espace libre. [2] Ensuite, les références au bloc dans les métadonnées sont mises à jour. Copie-écriture Permet des systèmes de fichiers basés sur la transaction qui peuvent créer des images de mémoire (ou des instantanés de même) sans délai. Les anciennes métadonnées et les blocs ne sont pas supprimés, mais sont affectés à l’image de mémoire respective.

ZFS, BTRFS, APFS et NILFS sont des représentants connus de systèmes de fichiers qui sont sur Copie-écriture construire.

  1. Ralph Tandetzky: COW_PTR-The Smart Point for Copy-on-Write. Dans: Informatique actuelle: langages de développement / programmation. Alkmene Verlags- und Medieensellschaft MBH, 19 septembre 2017, Consulté le 28 novembre 2018 : “La copie-écriture signifie que lors de la copie d’une structure de données x” sous le capot “, un seul pointeur (ou une référence) est transmis aux données internes. Une copie réelle et profonde des données réelles n’est effectuée que lorsqu’une instance de X modifie ses données internes. »
  2. Copie-écriture. Dans: Itwissen.info. Datacom Buchverlag GmbH, 2018, Consulté le 28 novembre 2018 : “Copy-on-Write, qui s’adresse à” Copying lors de l’écriture “, des copies sont faites lorsqu’un utilisateur a changé de copies.”