Le temps de démarrage est super rapide, comment se fait-il?

20

Le temps de démarrage dans Ubuntu est vraiment rapide. 7-10 secondes. En le comparant à mon mac (qui est d'environ 30 à 40 secondes). Pourquoi Ubuntu est-il tellement plus rapide? Je pense qu'il utilise un noyau différent (Linux). Je ne sais pas si cela pourrait prendre en compte quoi que ce soit ...

alexyorke
la source
6
Le temps de démarrage d'un système dépend de nombreux facteurs - comme la configuration matérielle, les scripts et programmes de démarrage - DE, etc. Bienvenue dans le monde Linux.
étamé le
1
Il est étrange que votre Mac ne démarre pas aussi rapidement, car Apple utilise launchd ( en.wikipedia.org/wiki/Launchd ), qui semble être similaire à Upstart.
Rétablir Monica le

Réponses:

29

Il démarre rapidement parce que les gens ont travaillé très dur pour atteindre cet objectif au cours des deux dernières années depuis Ubuntu 8.10. Certains des principaux facteurs (par rapport à Ubuntu avant le 10.04):

  • Déplacer le processus de démarrage vers un modèle d'événement (Upstart) afin que les choses se chargent en parallèle et quand elles sont nécessaires. C'est un système génial.

  • X (le bureau graphique pour la plupart des gens) est maintenant chargé très tôt. En le préparant plus rapidement, vous pouvez montrer quelque chose à l'utilisateur beaucoup plus rapidement.

  • Suppression du bois mort de initramfs(l'image chargée par grub pour démarrer le système)

  • Divers mécanismes de mise en cache sont apparus et ont disparu, y compris sreadaheadet ureadahead. Ceux-ci fonctionnent en générant un bloc binaire de fichiers que votre système utilise au démarrage afin qu'il puisse être lu sur le disque dur en une seule fois.

En comparant 8.10 et 10.10, vous ne voyez probablement qu'un sixième du temps de démarrage maintenant. C'est une amélioration très impressionnante ... Mais cela n'explique pas vraiment pourquoi il est plus rapide que les autres systèmes.

Pour cela, je pense que je peux vraiment dire qu'ils sont plus lourds et ne sont pas aussi bons pour démarrer un service en parallèle.

Oli
la source
Vous avez expliqué pourquoi. Les autres systèmes n'ont pas dépensé autant de ressources pour optimiser le temps de démarrage que Linux.
Javier Rivera
5
En toute justice pour eux, je suis sûr que Microsoft et Apple ont dépensé d'énormes quantités d'argent pour essayer d'améliorer leurs processus de démarrage ... Microsoft a certainement fait une énorme chanson et dansé à ce sujet avant le lancement de Windows 7. Ils ne sont tout simplement pas aussi bons dans ce domaine;)
Oli
2
Je ne sais pas si vous aviez l'intention de le faire sonner de cette façon ou non, mais "générer un bloc binaire de fichiers que votre système utilise pour démarrer" donne l'impression que ureadahead copie les données utilisées pendant le démarrage dans un cache central où il est lu à la place . Ce n'est pas le cas. Il génère une liste de ces fichiers et les lit à partir de leur emplacement d'origine au démarrage dans un ordre optimisé avant qu'ils ne soient nécessaires.
psusi
@psusi Je pensais à sreadaheadqui génère un fichier "pack" binaire. En fait, tu es sûr? J'ai lu plus loin ureadaheadet il semble également tourner autour du concept de "pack" (qui a du sens si vous voulez contrer les temps de recherche lents sur les disques mécaniques) ...
Oli
2
Le fichier pack est une liste des blocs à partir desquels les fichiers doivent être lus; il ne contient pas les données réelles. J'ai expérimenté avec la défragmentation du disque et le compactage de ces fichiers au début du disque et en obtenant des améliorations à cause de moins de temps de recherche. La simple lecture des fichiers dans l'ordre aide beaucoup aux recherches, car la tête n'a qu'à rechercher en avant et jamais en arrière.
psusi
7

ureadahead est une des raisons.

Que les gens qui écrivent le système soient ceux qui l'utilisent et qu'ils détestent les bottes lentes en est une autre.

Que les utilisateurs de bureau s'attendent généralement à des bottes longues, il y a donc peu de pression sur le marché pour que la société X dise "la botte la plus rapide de la ville" est une troisième.

Ne laisser que les bits vraiment nécessaires dans le système d'exploitation proprement dit est une tradition séculaire d'Unix qui en est une quatrième.

Il peut y avoir d'autres raisons.

msw
la source
Il y a peu de pression du marché pour un temps de démarrage rapide car de nombreuses personnes mettent désormais leur ordinateur en veille au lieu d'un arrêt complet.
Lie Ryan
0

C'est le chargement précoce de la technologie readahead + l'initialisation indépendante des périphériques matériels + pas tant de services système à charger + beaucoup d'entre eux se chargent après avoir été présentés dans une interface utilisateur à l'utilisateur.

Barafu Albino
la source
-2

Le temps de démarrage d'ubuntu n'est pas de 7 secondes AFAIK. Le temps le plus rapide que vous pouvez obtenir est de 15 à 30 secondes de démarrage (temps de connexion non inclus). Le démarrage le plus rapide d'un OS de bureau complet, j'ai entendu parler de chromeOS qui est de 3 secondes (cela aussi quand il vient avec leur matériel). Il faut du temps pour charger les pilotes, les scripts, etc. Tout temps de démarrage dans Ubuntu (et autres distributions Linux) est plus rapide que les autres car ils utilisent des techniques modernes déjà discutées ci-dessus. http://www.tuxradar.com/content/benchmarked-ubuntu-vs-vista-vs-windows-7

puneet
la source
5
Le "benchmark de démarrage standard" va de la remise du BIOS au repos sur un bureau utilisable (en utilisant la connexion automatique). Je peux obtenir environ 10 secondes sur le bureau, 13 secondes jusqu'à ce que le Wifi se connecte . Je suis assez sûr que cela pourrait également être réglé. Si c'était avec un système plus rapide avec un SSD plus rapide, 7 secondes seraient faciles.
Oli
Oui, vous pouvez certainement obtenir moins de 10 secondes (comme je l'ai dit, chromeOS basé sur ubuntu s'allume en 3 secondes), mais vous devez déchirer de nombreuses choses. Avec un système d'exploitation entièrement chargé avec de nombreuses applications et d'autres pilotes installés, le démarrage prendrait du temps. Avec SSD, Ubuntu peut démarrer même en 5 secondes, mais qu'en est-il du disque dur? la plupart des gens le possèdent.
puneet
2
Beaucoup de gens avec des SSD obtiennent des temps de démarrage inférieurs à 10 secondes sans aucun piratage majeur. Je reçois habituellement environ 8 avec le mien. Mon record sur les disques durs rotatifs est de 12 secondes, bien que ce soit avec quelques ajustements. 15-18 est plus typique.
psusi
après avoir sélectionné ubuntu dans grub, cela ne prend que 7 secondes avec mon segate baracuda 160 Go pas si rapide avec une configuration à double démarrage avec Windows 7
kaykay
1
@puneet simplement parce que votre ordinateur ne démarre pas aussi rapidement, ne signifie pas que les autres ordinateurs ne le peuvent pas. Le temps de démarrage varie en fonction du matériel dont vous disposez, SSD vs HDD étant le facteur le plus important. Il n'y a rien de mal avec votre ordinateur, il n'est tout simplement pas aussi rapide au démarrage que certains. (Cela me prend 30 à 40 secondes)
dv3500ea