Czas uruchamiania jest bardzo szybki, dlaczego?

20

Czas uruchamiania w Ubuntu jest naprawdę szybki. 7-10 sekund. Porównywanie go do mojego Maca (około 30-40 sekund). Dlaczego Ubuntu jest tak szybsze? Myślę, że używa innego jądra (Linux). Nie jestem pewien, czy to by się wzięło pod uwagę ...

alexyorke
źródło
6
Czas rozruchu systemu zależy od wielu czynników - takich jak konfiguracja sprzętu, skrypty startowe i programy - DE itp. Witamy w świecie linux.
ocynowano
1
Dziwne jest to, że Mac nie uruchamia się podobnie szybko, ponieważ Apple używa launchd ( en.wikipedia.org/wiki/Launchd ), który wydaje się podobny do Upstart.
Przywróć Monikę

Odpowiedzi:

29

Szybko się uruchamia, ponieważ ludzie bardzo ciężko pracowali na ten cel w ciągu ostatnich kilku lat od Ubuntu 8.10. Niektóre z głównych czynników (w stosunku do Ubuntu sprzed 10.04):

  • Przeniesienie procesu rozruchu do modelu zdarzenia (Upstart), aby rzeczy ładowały się równolegle i kiedy były potrzebne. To genialny system.

  • X (pulpit graficzny dla większości osób) jest teraz ładowany bardzo wcześnie. Przygotowując go szybciej, możesz pokazać użytkownikowi coś znacznie szybciej.

  • Usuwanie martwego drzewa z initramfs(obraz ładowany przez gruba w celu uruchomienia systemu)

  • Różne mechanizmy buforowania pojawiły się i zniknęły, w tym sreadaheadi ureadahead. Działają one poprzez generowanie binarnego bloku plików używanych przez system podczas rozruchu, dzięki czemu można je odczytać z dysku twardego za jednym razem.

Porównując 8.10 i 10.10, prawdopodobnie widzisz teraz tylko jedną szóstą czasu uruchamiania. To bardzo imponująca poprawa ... Ale to tak naprawdę nie wyjaśnia, dlaczego jest szybsza niż inne systemy.

W związku z tym myślę, że mogę naprawdę powiedzieć, że są cięższe i nie są tak dobre w równoległej usłudze rozruchowej.

Oli
źródło
Wyjaśniłeś dlaczego. Inny system nie wydawał tyle zasobów na optymalizację czasu rozruchu, co Linux.
Javier Rivera
5
Szczerze mówiąc, jestem pewien, że Microsoft i Apple wydały ogromne pieniądze na ulepszenie procesów rozruchowych ... Microsoft z pewnością napisał o tym wielką piosenkę i zatańczył przed uruchomieniem Windows 7. Po prostu nie są w tym tak dobrzy;)
Oli
2
Nie jestem pewien, czy chciałeś, aby brzmiał w ten sposób, czy nie, ale „generowanie binarnego bloku plików, których system używa do rozruchu”, brzmi jak ureadahead kopiujący dane używane podczas rozruchu do centralnej pamięci podręcznej, z której jest odczytywany . Nie o to chodzi. Generuje listę tych plików i odczytuje je z oryginalnych lokalizacji w czasie uruchamiania w zoptymalizowanej kolejności, zanim będą potrzebne.
psusi
@psusi Myślałem o tym, sreadaheadktóry generuje plik binarny „paczki”. Jesteś pewien? Czytałem dalej ureadaheadi wydaje się, że obraca się ono wokół koncepcji „paczki” (co ma sens, jeśli chcesz przeciwdziałać wolnym czasom wyszukiwania na dyskach mechanicznych) ...
Oli
2
Plik paczki to lista bloków, z których plików należy odczytać; nie zawiera rzeczywistych danych. Eksperymentowałem z defragmentacją dysku i ścisłym pakowaniem tych plików na początku dysku oraz uzyskiwaniem ulepszeń z tego powodu krótszego czasu wyszukiwania. Samo czytanie plików w porządku pomaga jednak w wielu próbach, ponieważ głowa musi tylko szukać do przodu, a nigdy do tyłu.
psusi
7

ureadahead jest jednym z powodów.

To, że ludzie, którzy piszą system, używają go i nienawidzą powolnych butów, to kolejna sprawa.

Użytkownicy komputerów stacjonarnych zwykle oczekują długich butów, więc firma X ma niewielką presję rynkową, by powiedzieć, że „najszybszy rozruch w mieście” to trzeci.

Pozostawienie tylko naprawdę niezbędnych bitów w systemie operacyjnym jest uświęconą tradycją Unix jest czwartą.

Mogą być inne powody.

msw
źródło
Na rynku występuje niewielka presja na szybki czas uruchamiania, ponieważ wiele osób uśpia teraz komputer zamiast całkowicie go wyłączać.
Lie Ryan
0

To jest wczesne ładowanie technologii readahead + niezależna inicjacja urządzeń sprzętowych + nie tyle usług systemowych do załadowania + wiele z nich ładuje się po przedstawieniu interfejsu użytkownika użytkownikowi.

Barafu Albino
źródło
-2

Czas uruchamiania Ubuntu nie wynosi 7 sekund AFAIK. Najszybszy czas jaki można uzyskać to 15-30 sekund (czas logowania nie jest wliczony). Najszybszy rozruch pełnego systemu operacyjnego, jaki słyszałem o chromeOS, czyli 3 sekundy (to też jeśli chodzi o ich sprzęt). Załadowanie sterowników, skryptów itp. Zajmuje trochę czasu. Wszelkie sposoby uruchamiania w Ubuntu (i innych dystrybucjach Linuksa) są szybsze niż w innych, ponieważ używają nowoczesnych technik omówionych powyżej. http://www.tuxradar.com/content/benchmarked-ubuntu-vs-vista-vs-windows-7

puneet
źródło
5
„Standardowy test rozruchowy” to od momentu przejścia BIOS-u do siedzenia na użytecznym pulpicie (przy użyciu automatycznego logowania). Mogę dostać około 10 sekund na pulpit, 13 sekund do połączenia Wi-Fi . Całkiem pewne, że można to również zmniejszyć. Gdyby to było z szybszym systemem z szybszym dyskiem SSD, 7 sekund byłoby łatwe.
Oli
Tak, z pewnością możesz dostać mniej niż 10 sekund (jak powiedziałem chromeOS oparty na Ubuntu uruchamia się w 3 sekundy), ale musisz zgrać wiele rzeczy. Przy w pełni załadowanym systemie operacyjnym z zainstalowanymi wieloma aplikacjami i innymi sterownikami uruchomienie systemu zajęłoby trochę czasu. Z SSD Ubuntu można uruchomić nawet w 5 sekund, ale co z dyskiem twardym? większość ludzi to posiada.
puneet
2
Wiele osób z dyskami SSD uzyskuje czas rozruchu poniżej 10 sekund bez większego włamania. Zwykle dostaję około 8 z moim. Mój rekord na obrotowych dyskach twardych wynosi 12 sekund, choć z pewnymi poprawkami. 15-18 jest bardziej typowe.
psusi
po tym, jak wybrałem Ubuntu z Grub, zajmuje to tylko 7 sekund z moją nie tak szybką segregacją Baracuda 160 GB z konfiguracją podwójnego rozruchu z Windows 7
Kayay
1
@puneet tylko dlatego, że twój komputer nie uruchamia się tak szybko, nie oznacza, że ​​inne komputery nie mogą. Czas rozruchu będzie się różnić w zależności od posiadanego sprzętu, przy czym SSD vs. HDD jest najważniejszym czynnikiem. Nie ma nic złego w twoim komputerze, po prostu nie jest tak szybki w rozruchu jak niektóre. (Zajmuje mi to 30-40 sekund)
dv3500ea 29.04.11