Linux verfolgt das UNIX Prinzip: Eine Shell liest Befehle ein und ruft weitere Programme ein. Sie ist ein Task und somit ein Programm und das heißt kein Bestandteil von Linux (dem Kernel = Linux). In Linux ist die Standard Shell BASH (Eine kopie einer UNIX-Shell für die sich Linus damals wegen der einfachkeit halber entschieden hatte [und weil er die Meisten Aufrufe dieser Schell schon implatiert hatte]). Der Kernel startet also neben dem idl (nichts) Prozess [Task] auch die Shell als Task. Die Grafische Oberfläche ist etwas anders. Sie wird als X-Server bezeichnet und komuniziert mit den Programmen über UNIX-Domain-Sockets. Ein Programm sendet also über die Sockets "Will Fenster Position: 52.64 Größe: 600.400 Alle Buttons", der X-Server liest dies aus und zeichnet das Fenster. Wenn nun ein Ereignis kommt (Drücken auf einen Button z.B.) sendet der X-Server an das Programm "Buuton1 gedrückt mit linker Maustaste". Das Programm empfängt dies, verarbeitet s und gibt dann das ergebniss zur Darstellung an den X-Server zurück. Einfaches Prinzip. Nicht leicht implantiert.Zitat von NeM