Modularna budowa systemów uniksowych

Jeden z bardziej charakterystycznych wyróżników Linuksa od systemów Windows/Mac OS. Poszczególne podsystemy, składające się na jeden działający system zwany dystrybucją, są tworzone niezależnie od siebie. Nikt nie sprawuje kontroli nad wszystkim. Twój system to zlepek wielu różnych programów, technologii i podsystemów. Mimo to autorzy tych programów potrafią się ze sobą dogadać i stworzyć działające rozwiązania (pamiętaj, że wywodzą się oni często z różnych kultur, a w domu niekonicznie używają angielskiego). Jak widać jakoś to funkcjonuje, czasem lepiej czasem gorzej, ale z korzyścią dla innowacyjności. Poniższa tabela jest jak kostka rubika. Kolumny w niej można dowolnie przestawiać, ale zawsze wyjdzie nam działający system operacyjny (przy założeniu, że puste komórki nie istnieją):

Program graficzny #1 Program graficzny #2 Programy działające w środowisku graficznym
KDE GNOME Xfce TWM Fluxbox Środowiska graficzne i menedżery okien
KDM GDM XDM Brak Menedżery logowania
X.org Xfree X serwery
GNU BSD Programy podstawowe
w stylu System V w stylu BSD Całkiem inne Skrypty startowe
Linux Solaris *BSD Jądra systemowe
initrd initramfs Brak Ramdysk do wykonania czynności inicjujących
LILO GRUB Program ładujący jądro systemu (bootloader)
AMI Award BIOS - uruchamia bootloader

Oczywiście ta tabela jest tylko poglądowa. Nie gwarantuję jakiejkolwiek przydatności w jakimkolwiek zastosowaniu, ani dokładności przedstawionych informacji.

Z powyższej tabeli możemy prześledzić proces uruchamiania typowej dystrybucji Linuksa. Zaczynamy od dołu:

Zamiast uruchomienia GDM moglibyśmy w ogóle nie uruchamiać środowiska graficznego. Moglibyśmy też uruchomić środowisko graficzne bez menedżera logowania.