Co powinienem wiedzieć o procesie uruchamiania systemu Linux®?

Linux® odnosi się do klasy bezpłatnych komputerowych systemów operacyjnych o otwartym kodzie źródłowym, które korzystają z tego samego jądra, które jest centralnym składnikiem systemu komputerowego, który działa jako łącznik między sprzętem komputera a jego oprogramowaniem. Kluczową różnicą między systemami operacyjnymi jest sposób, w jaki radzą sobie z uruchamianiem komputera, a proces uruchamiania systemu Linux® wyraźnie różni się od jego odpowiedników. Proces uruchamiania systemu Linux® rozpoczyna się od podstawowego systemu wejścia/wyjścia (BIOS), który wykonuje większość zadań uruchamiania związanych ze sprzętem. Po zakończeniu przez BIOS różnych procesów systemowych, system jest przekazywany do jądra, które konfiguruje podstawowe funkcje systemu i przekazuje kontrolę nad systemem użytkownikowi.

BIOS to zestaw specyficznego dla sprzętu kodu, który inicjuje wszystkie składniki sprzętowe systemu komputerowego. W większości systemów komputerowych jest ładowany do chipa ROM, który znajduje się na płycie głównej komputera. Ponieważ BIOS jest implementacją sprzętową, koduje go producent płyty głównej, a nie twórcy systemu operacyjnego Linux®. Jest to najważniejsza część procesu uruchamiania systemu Linux®, ponieważ wykonuje kluczowe zadanie przygotowania sprzętu komputerowego do pracy z systemem operacyjnym.

Po zainicjowaniu wszystkich komponentów komputera kontrola nad procesem uruchamiania systemu Linux® jest przekazywana do programu startowego systemu Linux® zwanego programem ładującym, znanym również jako program ładujący. Główną funkcją tego małego programu jest załadowanie systemu operacyjnego do pamięci maszyny, przygotowanie go do wykonania. Zazwyczaj system operacyjny Linux® jest skompresowany na dysku twardym, więc program ładujący wykonuje również zadanie dekompresji. Jeśli na komputerze jest zainstalowanych wiele systemów operacyjnych lub wersji, program startowy poprosi użytkownika o wybranie jednego. Należy również zauważyć, że proces uruchamiania systemu Linux® ma dwa różne typy programów ładowania początkowego — LILO i GRUB — chociaż większość nowych wersji systemu Linux® implementuje GRUB.

Po zdekompresowaniu systemu operacyjnego i załadowaniu go do pamięci jądro Linux® przejmuje kontrolę nad systemem. Ten mały, ale potężny program wykonuje większość procesu uruchamiania systemu Linux®. Ładuje oprogramowanie do zarządzania pamięcią i harmonogram zadań, inicjuje sterowniki urządzeń i uruchamia skrypty startowe systemu Linux®. Kiedy jądro Linux® zakończy swoje zadanie, przechodzi w stan bezczynności, a planista przejmuje kontrolę nad systemem, tworząc rzeczywiste środowisko użytkownika. Proces uruchamiania systemu Linux® skutecznie kończy się, gdy użytkownikowi zostanie wyświetlony ekran logowania.