Qu'est-ce qui fait que Windows nécessite un redémarrage constant alors que Linux ne le fait pas? [dupliquer]

21

Comme beaucoup de gens, j'exécute deux systèmes sur mon ordinateur. Les mises à jour importantes nécessitent des redémarrages constants sous Windows, alors que je ne pense pas que cela m'est jamais arrivé sous Linux. Quelles propriétés de chaque système d'exploitation décident si cela est possible ou non?

Benjamin Lindqvist
la source
5
Je dois encore redémarrer mes systèmes Linux pour installer une mise à jour du noyau. Je sais qu'il existe des moyens de contourner cela, mais je n'ai pas besoin d'une disponibilité aussi extrême. Bien qu'il y ait rarement une mise à jour du noyau pour mes serveurs ou des installations de prise en charge à long terme, j'obtiens parfois des mises à jour du noyau sur mes systèmes de pointe - je ne vois pas beaucoup de différence entre Linux et Windows ici. Cependant, les mises à jour Linux sont beaucoup moins obstructives que les mises à jour Windows, car elles ne transforment pas le redémarrage en un jeu en attente.
amon
1
Eh bien, en fait ... 1. C'est moins un problème avec Windows aujourd'hui qu'auparavant. Lorsque cela se produit, c'est généralement parce que quelqu'un a oublié de fermer une application qui verrouille certains fichiers que Windows doit mettre à jour, et plutôt que d'échouer l'installation, Windows enregistre simplement ces modifications de fichiers pour le prochain démarrage. 2. Un redémarrage à froid sur ma machine actuelle exécutant Windows 10 prend environ 15 secondes, dont la moitié est du temps POST.
Robert Harvey
@ Robert-Quelle est votre définition du démarrage d'une startup? Accéder à l'écran de connexion / bureau n'est pas si mal, il attend que tous ces services démarrent pour que vous puissiez réellement utiliser l'ordinateur qui est pénible. Si votre temps comprend le démarrage des services, quelle est votre configuration? Certes, je n'ai pas le dernier et le meilleur mais j'ai suffisamment d'ordinateurs décents et mon ordinateur de travail prend environ 3 minutes et ma maison environ 2 1/2 avant de pouvoir commencer à travailler dessus.
Dunk
@Dunk: Achetez un SSD.
Ben Voigt
@ Ben-je ne suis pas à côté de chez moi pour un nouvel ordinateur mais mon fils l'est. Je vais donc lui en construire un pour Noël et je le vérifierai de première main. Cependant, les rapports de tests de référence que j'ai lus montrent une amélioration de la vitesse d'environ 50%, pas 1000% comme Robert le voit sur mes systèmes. 1000% valent définitivement les tracas d'une mise à niveau. 50% pas tellement.
Dunk

Réponses:

49

C'est une conséquence des décisions d'ingénierie.

Sur un système Linux, il est possible de supprimer un fichier encore utilisé; le système de fichiers utilise ce qui est essentiellement une forme de comptage de références, et le fait d'avoir le fichier ouvert n'est qu'une autre référence. Lorsque vous le fermez, le fichier sera nettoyé. En conséquence, il est possible de remplacer le code principal du système d'exploitation et les fichiers de données sans avoir à les arrêter et à les redémarrer (aka redémarrage).

Sous Windows, l'ouverture d'un fichier le verrouille dans le système de fichiers et il ne peut pas être supprimé. Cela signifie que le code en cours d'exécution ne peut pas être mis à jour sans redémarrage. Mais cela signifie également que vous pouvez toujours savoir exactement quelle version est exécutée sur votre système; sous le modèle Linux, il est possible de recevoir une mise à jour importante du logiciel système, de l'appliquer avec succès et de ne pas l'avoir opérationnelle sur votre système, car l'ancienne version non mise à jour est toujours en cours d'exécution.

C'est un compromis d'ingénierie, comme la plupart des choses en informatique.

Mason Wheeler
la source
6
@Ian Non, vous pouvez redémarrer vos services pour appliquer les mises à jour. Ou, dans le cas du noyau, vous pouvez utiliser ksplice, kpatch, etc., ou les nouvelles fonctionnalités de Linux 4.0.
nounou
2
@Deduplicator, bien sûr; Je suis juste pessimiste quant au taux d'adoption. Une équipe de développement avec laquelle je travaille a annoncé qu'elle n'acceptera plus de correctifs ajoutant la prise en charge des fonctionnalités optionnelles de systemd après qu'un bogue dans la prise en charge de watchdog-based-watchdog suffisamment ancienne des versions de systemd a entraîné une nouvelle copie de leur démon filé (en plus des anciens!) une fois par seconde.
Charles Duffy
1
@krlmlr: Cela ne vous permet pas de supprimer un fichier ouvert. À partir de la documentation : "La fonction DeleteFile marque un fichier à supprimer à la fermeture. Par conséquent, la suppression du fichier ne se produit que lorsque la dernière poignée du fichier est fermée" Vous pouvez toujours le remplacer, en utilisant MoveFilepour retirer l'ancien de la manière .
Ben Voigt
1
@Ian, par "trivial", je veux dire que toute personne responsable de la construction d'un système de mise à jour d'une distribution Linux saura comment y arriver du haut de sa tête, donc la question devient de savoir si c'est une bonne idée de s'exécuter automatiquement (ou comment l'exposer à l'utilisateur), pas si c'est possible.
Charles Duffy
2
@CharlesDuffy Je ne sais pas comment cela fonctionne sous le capot, mais le paquet Debian needrestart fait le travail que vous décrivez, c'est-à-dire redémarrer automatiquement les services dont les exécutables / bibliothèques viennent d'être mis à jour.
zwol
3

C'est une conséquence de la vue des attentes des utilisateurs prédites.

Les systèmes Linux sont modélisés après unix exécuté sur des serveurs. La disponibilité était un point de vantardise dans ces communautés. Tout ce qui réduisait le temps était mauvais. Et cela est un effet secondaire de l'attente selon laquelle l'ordinateur comptait plusieurs utilisateurs et que le temps d'arrêt de la planification devait être coordonné avec plusieurs utilisateurs.

Windows a été conçu pour le marché des PC. Au moment où il a été introduit, le fait de savoir que vous pouviez quitter un programme et en démarrer un autre sans redémarrer était le signe d'un utilisateur expérimenté. Pour cette raison, il n'y avait aucune raison de ne pas utiliser les noms de fichiers comme identifiant principal lors de la conception de ntfs.

hildred
la source