Il y a plein de systèmes client-serveur dans un OS (ex: un service en background dans son compte à lui et un client tournant en compte utilisateur qui fait office d'interface)
Il est fréquent que les 2 partagent les mêmes librairies. Un client, cela s'arrète et redémarre bien plus souvent qu'un serveur par contre d'habitude.
Tu installes ton update, en remplaceant un fichier que les 2 utilisent. Le service utilise la v1, si le client se relance entre les 2, le client utilisera la v2, ce qui pose potentiellement des problèmes selon les usages, ou alors il faut assurer une compatibilité de protocole, etc... ce qui est lourd à gérer et chiant.
Sans parler du fait que si tu installes ton fichier sans rien relancer, il n'est pas chargé en mémoire, l'ancien est toujours utilisé. T'as installé 3 mois d'updates sur ton serveur sans rien redémarrer c'est cool, en mémoire tu auras toujours le code vulnérable d'il y a 3 mois.
Bref, ton idée que l'approche Linux est clairement meilleure est naive, en pratique la différence est très faible car dans les 2 cas il faut stopper et redémarrer le code qui utilise les fichiers modifiés pour que l'update soit effective. Vu qu'il n'y a pas de moyen sur et simple pour automatiquement redémarrer tous les softs affectés, la pratique est de redémarrer les systèmes. Et c'est encore plus vrai vu la fréquence des updates de sécurité du noyau.
[^] # Re: Atomique ?
Posté par pasBill pasGates . En réponse à la dépêche GNOME OS comme Linux idéal, partie 1 : la promesse de l'atomique. Évalué à 1.
C'est d'une naiveté...
Il y a plein de systèmes client-serveur dans un OS (ex: un service en background dans son compte à lui et un client tournant en compte utilisateur qui fait office d'interface)
Il est fréquent que les 2 partagent les mêmes librairies. Un client, cela s'arrète et redémarre bien plus souvent qu'un serveur par contre d'habitude.
Tu installes ton update, en remplaceant un fichier que les 2 utilisent. Le service utilise la v1, si le client se relance entre les 2, le client utilisera la v2, ce qui pose potentiellement des problèmes selon les usages, ou alors il faut assurer une compatibilité de protocole, etc... ce qui est lourd à gérer et chiant.
Sans parler du fait que si tu installes ton fichier sans rien relancer, il n'est pas chargé en mémoire, l'ancien est toujours utilisé. T'as installé 3 mois d'updates sur ton serveur sans rien redémarrer c'est cool, en mémoire tu auras toujours le code vulnérable d'il y a 3 mois.
Bref, ton idée que l'approche Linux est clairement meilleure est naive, en pratique la différence est très faible car dans les 2 cas il faut stopper et redémarrer le code qui utilise les fichiers modifiés pour que l'update soit effective. Vu qu'il n'y a pas de moyen sur et simple pour automatiquement redémarrer tous les softs affectés, la pratique est de redémarrer les systèmes. Et c'est encore plus vrai vu la fréquence des updates de sécurité du noyau.