Linux to nie tylko Linux 8 sztuk oprogramowania, które tworzą systemy Linux
Dystrybucje Linuksa to nie tylko jądro Linuksa. Wszystkie zawierają inne krytyczne oprogramowanie, takie jak bootloader Gruba, powłokę Bash, narzędzia powłoki GNU, demony, serwer graficzny X.org, środowisko graficzne i wiele więcej.
Wszystkie te różne programy są opracowywane przez różne, niezależne grupy rozwojowe. Są połączone przez dystrybucje Linuksa, gdzie budują jeden na drugim, aby stworzyć kompletny system operacyjny "Linux". W przeciwieństwie do systemu Windows, który jest w całości opracowany przez firmę Microsoft.
Program rozruchowy
Po włączeniu komputera system BIOS lub oprogramowanie układowe UEFI ładuje oprogramowanie z urządzenia rozruchowego. Pierwszym programem ładowanym z dowolnym systemem operacyjnym jest program ładujący. W Linuksie jest to zazwyczaj program ładujący programu Grub.
Jeśli masz zainstalowanych wiele systemów operacyjnych, Grub udostępnia menu, które pozwala wybrać między nimi - na przykład, jeśli masz zainstalowany system Linux w konfiguracji podwójnego rozruchu, możesz wybrać system Linux lub Windows podczas uruchamiania.
Grub może uruchomić twój system Linux prawie natychmiast, jeśli masz tylko jeden system operacyjny zainstalowany, ale wciąż tam jest. Grub obsługuje proces uruchamiania systemu Linux, wydawania opcji wiersza polecenia i umożliwia rozruch systemu Linux w inny sposób w celu rozwiązywania problemów. Bez programu rozruchowego dystrybucja Linuksa po prostu się nie uruchamia.
Jądro Linux
Dokładnym elementem oprogramowania Grub boots jest jądro Linux. Jest to część systemu, która jest właściwie nazywana "Linuksem". Jądro jest rdzeniem systemu. Zarządza procesorem, pamięcią i urządzeniami wejścia / wyjścia, takimi jak klawiatura, mysz i ekrany. Ponieważ jądro mówi bezpośrednio do sprzętu, wiele sterowników sprzętowych jest częścią jądra systemu Linux i działa w nim.
Wszystkie inne programy działają nad jądrem. Jądro to oprogramowanie najniższego poziomu, które łączy się ze sprzętem. Zapewnia warstwę abstrakcji ponad sprzętem, radząc sobie ze wszystkimi różnymi dziwactwami sprzętowymi, więc reszta systemu może się nimi zająć w jak najmniejszym stopniu. Windows używa jądra Windows NT, a Linux używa jądra Linux.
Demony
Demony są zasadniczo procesami działającymi w tle. Często rozpoczynają się jako część procesu rozruchu, więc są jedną z kolejnych rzeczy, które ładują się po jądrze i zanim zobaczysz graficzny ekran logowania. Windows odnosi się do takich procesów, jak "usługi", podczas gdy systemy typu UNIX określają je jako "demony".
Na przykład crond, który zarządza zaplanowanymi zadaniami, jest demonem - d na końcu oznacza "daemon". Syslogd jest kolejnym demonem, który tradycyjnie zarządza Twoim logiem systemowym. Serwery, takie jak serwer sshd, działają jako demony w tle. Zapewnia to, że zawsze działają i nasłuchują połączeń zdalnych.
Demony są zasadniczo tylko procesami działającymi w tle, ale są to procesy na poziomie systemu, których zazwyczaj nie zauważasz.
Muszla
Większość systemów Linux używa domyślnie powłoki Bash. Powłoka zapewnia interfejs procesora poleceń, umożliwiając sterowanie komputerem poprzez wpisywanie poleceń w interfejsie tekstowym. Powłoki mogą również uruchamiać skrypty powłoki, które są zbiorem poleceń i operacji uruchamianych w kolejności określonej w skrypcie.
Nawet jeśli używasz tylko pulpitu graficznego, powłoki działają i są używane w tle. Gdy otworzysz okno terminala, zobaczysz komunikat powłoki.
Narzędzia Shell
Powłoka zawiera kilka podstawowych wbudowanych poleceń, ale większość poleceń powłoki, których używają użytkownicy Linuksa, nie jest wbudowanych w powłokę. Na przykład polecenia tak istotne, jak polecenie cp do kopiowania pliku, polecenie ls do wyświetlania plików w katalogu i polecenie rm do usuwania plików są częścią pakietu GNU Core Utilities.
Systemy Linux nie działałyby bez tych krytycznych narzędzi. W rzeczywistości sama powłoka Bash jest częścią projektu GNU. Dlatego pojawiły się kontrowersje związane z tym, czy Linux powinien naprawdę nazywać się "Linux" lub "GNU / Linux". Krytycy nazwy "Linux" poprawnie wskazują, że o wiele więcej oprogramowania przechodzi w typowe systemy Linux, które często nie są uznawane. Krytycy nazwy "GNU / Linux" poprawnie wskazują, że typowy system Linux zawiera także inne krytyczne oprogramowanie, którego nazwa "GNU / Linux" nie obejmuje.
Nie wszystkie narzędzia powłoki i programy wiersza poleceń zostały opracowane w projekcie GNU. Niektóre polecenia i programy końcowe mają własny projekt dedykowany im.
Serwer graficzny X.org
Graficzna część pulpitu systemu Linux nie jest częścią jądra systemu Linux. Jest dostarczany przez typ pakietu znany jako "X serwer", ponieważ implementuje "system X-Window", który powstał wiele lat temu.
Obecnie najpopularniejszym serwerem X - lub serwerem graficznym - jest X.org. Kiedy widzisz graficzne okno logowania lub pulpit, to X.org działa na swój sposób. Cały system graficzny jest uruchamiany przez X.org, który łączy się z kartą graficzną, monitorem, myszą i innymi urządzeniami.
X.org nie zapewnia pełnego środowiska graficznego, a jedynie system graficzny, na którym można budować środowiska graficzne i biblioteki narzędziowe.
Środowisko pulpitu
Tym, czego tak naprawdę używasz na pulpicie Linux, jest środowisko graficzne. Na przykład Ubuntu zawiera środowisko desktopowe Unity, GNOME zawiera GNOME, Kubuntu zawiera KDE, a Mint ogólnie zawiera Cynamon lub MATE. Te środowiska graficzne zapewniają wszystko, co widzisz - tło pulpitu, panele, paski tytułu okna i granice.
Zwykle zawierają też własne narzędzia, które pasują do środowiska graficznego jako całości. Na przykład GNOME i Unity zawierają menedżera plików Nautilus opracowanego jako część GNOME, podczas gdy KDE zawiera menedżera plików Dolphin opracowanego w ramach projektu KDE.
Programy komputerowe
Nie każdy program komputerowy jest częścią środowiska graficznego. Na przykład Firefox i Chrome są agnostyczne dla środowiska komputerowego. To tylko programy, które mogą działać normalnie na każdym środowisku graficznym. OpenOffice.org to inny zestaw programów, który nie jest powiązany z konkretnym środowiskiem graficznym.
Możesz uruchamiać dowolny program desktopowy Linuksa w dowolnym środowisku graficznym, ale te zaprojektowane dla niektórych środowisk graficznych mogą wyglądać nie na miejscu lub przeciągać się w innych procesach. Na przykład, jeśli próbowałeś uruchomić menedżera plików Nautilus GNOME w KDE, wyglądałoby to nie na miejscu, wymaga zainstalowania różnych bibliotek GNOME i prawdopodobnie uruchamia procesy GNOME w tle po ich otwarciu. Ale będzie działać i będzie można go używać.
Dystrybucje systemu Linux wykonują ostatnie kroki. Biorą to całe oprogramowanie, łączą je, aby działały dobrze razem i dodawały własne niezbędne narzędzia. Na przykład, dystrybucje tworzą własne instalatory systemu operacyjnego, dzięki czemu można faktycznie zainstalować system Linux, a także menedżery pakietów, aby zainstalować dodatkowe oprogramowanie i aktualizować zainstalowane oprogramowanie..
Image Credit: tao mai on Flickr