O tempo de inicialização é super rápido, como é?

20

O tempo de inicialização no Ubuntu é muito rápido. 7-10 segundos. Comparando-o com o meu mac (que é de 30 a 40 segundos). Por que o Ubuntu é muito mais rápido? Eu estou pensando que ele usa um kernel diferente (Linux). Não tenho certeza se isso levaria em conta alguma coisa ...

alexyorke
fonte
6
O tempo de inicialização de um sistema depende de muitos fatores - como a configuração do hardware, scripts de inicialização e programas - DE etc etc. Bem-vindo ao mundo do linux.
tinhed
11
É estranho que o seu Mac não inicialize da mesma forma rapidamente, já que a Apple usa o launchd ( en.wikipedia.org/wiki/Launchd ), que parece ser semelhante ao Upstart.
Reintegrar Monica

Respostas:

29

Inicializa rápido porque as pessoas trabalharam muito duro para atingir esse objetivo nos últimos dois anos desde o Ubuntu 8.10. Alguns dos principais fatores (acima do Ubuntu 10.04):

  • Movendo o processo de inicialização para um modelo de evento (Upstart), para que tudo seja carregado em paralelo e quando necessário. É um sistema genial.

  • O X (área de trabalho gráfica para a maioria das pessoas) agora está carregado muito cedo. Ao prepará-lo mais rápido, você pode mostrar ao usuário algo muito mais rápido.

  • Removendo a madeira morta initramfs(a imagem carregada pelo grub para inicializar o sistema)

  • Vários mecanismos de armazenamento em cache surgiram, incluindo sreadaheade ureadahead. Eles funcionam gerando um bloco binário de arquivos que o sistema usa na inicialização, para que possam ser lidos do disco rígido de uma só vez.

Comparando 8.10 e 10.10, você provavelmente vê apenas um sexto do tempo de inicialização agora. É uma melhoria muito impressionante ... Mas isso realmente não explica por que é mais rápido que outros sistemas.

Por isso, acho que só posso dizer que eles são mais pesados ​​e não são tão bons em inicializar serviços em paralelo.

Oli
fonte
Você explicou o porquê. Outro sistema não gastou tantos recursos otimizando o tempo de inicialização quanto o linux.
Javier Rivera
5
Para ser justo com eles, tenho certeza de que a Microsoft e a Apple gastaram enormes quantias de dinheiro tentando melhorar seus processos de inicialização ... A Microsoft certamente fez uma música enorme e dançou sobre isso antes do lançamento do Windows 7. Eles são apenas não tão bom no que faz;)
Oli
2
Não tenho certeza se você pretendia que soasse dessa maneira ou não, mas "gerar um bloco binário de arquivos que seu sistema usa para inicializar" faz parecer que o ureadahead copia os dados usados ​​durante a inicialização em um cache central de onde são lidos. . Este não é o caso. Ele gera uma lista desses arquivos e os lê de seus locais originais no momento da inicialização em uma ordem otimizada antes que eles sejam necessários.
Psusi
@psusi Eu estava pensando em sreadaheadqual gera um arquivo "pacote" binário. Na verdade, você tem certeza? Estive lendo mais para ureadaheade ele também parece girar em torno do conceito de "pacote" (o que faz sentido se você quiser combater lenta tempos de busca em discos mecânicos) ...
Oli
2
O arquivo do pacote é uma lista de quais blocos de quais arquivos precisam ser lidos; não contém os dados reais. Eu tenho experimentado desfragmentar o disco e compactar esses arquivos firmemente no início do disco e obter melhorias a partir disso devido ao menor tempo de busca. Simplesmente ler os arquivos em ordem ajuda bastante com as buscas, uma vez que a cabeça precisa apenas procurar para a frente e nunca para trás.
Psusi
7

ureadahead é uma razão.

Que as pessoas que estão escrevendo o sistema são as que o utilizam e odeiam as botas lentas é outra.

Como os usuários de desktop geralmente esperam botas longas, há pouca pressão do mercado para a Empresa X dizer que "a inicialização mais rápida da cidade" é um terço.

Deixar apenas os bits realmente necessários no sistema operacional adequado é uma tradição do Unix, consagrada pelo tempo, é a quarta.

Pode haver outros motivos.

msw
fonte
Há pouca pressão do mercado por um tempo de inicialização rápido, porque muitas pessoas agora colocam o computador em suspensão, em vez de um desligamento completo.
Lie Ryan
0

Isso é o carregamento antecipado da tecnologia readahead + inicialização independente de dispositivos de hardware + poucos serviços do sistema a serem carregados + muitos deles são carregados após a apresentação de uma interface do usuário ao usuário.

Barafu Albino
fonte
-2

O tempo de inicialização do ubuntu não é de 7 segundos AFAIK. O mais rápido que você pode obter é o tempo de inicialização de 15 a 30 segundos (o tempo de login não está incluído). A inicialização mais rápida de um sistema operacional completo que ouvi falar do chromeOS, que é de 3 segundos (isso também quando se trata do hardware). Leva tempo para carregar drivers, scripts etc. De qualquer forma, o tempo de inicialização no Ubuntu (e em outras distros do Linux) é mais rápido do que outros, porque eles usam técnicas modernas já discutidas acima. http://www.tuxradar.com/content/benchmarked-ubuntu-vs-vista-vs-windows-7

puneet
fonte
5
O "padrão de benchmark de inicialização padrão" ocorre desde o momento em que o BIOS passa para a mesa em uma área de trabalho utilizável (usando o login automático). Posso levar cerca de 10 segundos para a área de trabalho, 13 segundos até que o Wifi seja conectado . Certamente que isso também poderia ser diminuído. Se este fosse um sistema mais rápido com um SSD mais rápido, 7 segundos seriam fáceis.
Oli
Sim, com certeza você pode ter menos de 10 segundos (como eu disse, o chromeOS baseado no ubuntu entra em 3 segundos), mas você precisa rasgar muitas coisas. Com o sistema operacional totalmente carregado, com muitos aplicativos e outros drivers instalados, levaria tempo para inicializar. Com o SSD, o Ubuntu pode inicializar em 5 segundos, mas e o HDD? a maioria das pessoas possui isso.
Puneet
2
Muitas pessoas com SSDs recebem menos de 10 segundos de inicialização sem grandes invasões. Eu costumo obter cerca de 8 com o meu. Meu registro em discos rígidos rotacionais é de 12 segundos, embora isso ocorra com alguns ajustes. 15-18 é mais típico.
Psusi
depois que eu selecionar ubuntu grub a partir leva apenas 7 segundos com a minha baracuda não tão rápido Segate 160 gb com a configuração dual boot com o Windows 7
kaykay
11
@puneet só porque seu computador não inicializa tão rapidamente, não significa que outros computadores não possam. O tempo de inicialização varia de acordo com o hardware que você possui, sendo o maior fator o SSD vs o HDD. Não há nada de errado com o seu computador, apenas não é tão rápido quanto a inicialização. (Isso me leva 30-40 segundos)
dv3500ea