• [^] # Re: Atomique ?

    Posté par (site web personnel) . En réponse à la dépêche GNOME OS comme Linux idéal, partie 1 : la promesse de l'atomique. Évalué à 10.

    C'est sûr que Windows est réputé pour être vachement plus fiable.

    Ça y est voilà la mauvaise foi

    Bon alors pour rappel, la nécessité de redémarrer pour les mises à jour de Windows vient d'une erreur de conception historique : l'absence de compteur de liens et d'ouvertures sur les fichiers, qui sont par conséquent censés avoir un unique nom qui ne peut pas être supprimé tant qu'un fichier est ouvert.

    Sous *nix, un fichier peut avoir un nombre quelconque de noms au sein du système de fichiers qui l'héberge. Un fichier a souvent un seul nom, mais il peut en avoir plusieurs, on parle alors de liens physiques. Il peut aussi avoir zéro nom, lorsque son dernier nom a été supprimé ; pour autant il peut continuer d'exister tant qu'il y a encore un processus qui a un descripteur dessus, qui l'a ouvert quoi.

    Cela implique d'avoir, pour chaque fichier, un compteur de liens et d'ouvertures, puisqu'un fichier ne peut être supprimé du système de fichiers que s'il n'a plus aucun nom et n'est plus ouvert par aucun processus.

    Le rapport avec les mises à jour, c'est qu'avec des compteurs de liens et d'ouvertures, on peut installer une mise à jour d'un fichier pouet.so avec un nouveau nom, disons pouet.so.new, puis supprimer le nom pouet.so même s'il est ouvert par un logiciel, et enfin renommer pouet.so.new en pouet.so sans affecter les processus en cours.

    Ça, c'est infaisable sous Windows, ce qui pose un gros problème pour remplacer des trucs ouverts en utilisation normale du système. Du coup, on diffère les mises à jour au moment où on est sûr qu'il n'y a pas grand chose d'ouvert, au tout début du démarrage je crois.