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 #1Program graficzny #2Programy działające w środowisku graficznym
KDEGNOMEXfceTWMFluxboxŚrodowiska graficzne i menedżery okien
KDMGDMXDMBrakMenedżery logowania
X.orgXfreeX serwery
GNUBSDProgramy podstawowe
w stylu System Vw stylu BSDCałkiem inneSkrypty startowe
LinuxSolaris*BSDJądra systemowe
initrdinitramfsBrakRamdysk do wykonania czynności inicjujących
LILOGRUBProgram ładujący jądro systemu (bootloader)
AMIAwardBIOS - 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.