Shell (Betriebssystem)
In der Informatik wird als Shell die Software bezeichnet, mittels derer ein Benutzer mit einem Betriebssystem interagiert[1] – eine Mensch-Maschine-Schnittstelle. Während Kernel den Kern eines Betriebssystems bezeichnet, ist die Shell (englisch für „Schale“, „Hülle“ oder „Außenhaut“) anschaulich dessen Außenschicht und damit Schnittstelle (englisch Interface) zum Benutzer.
Unterteilung
Shells arbeiten in der Regel entweder
- zeilenweise mit einer Befehlszeilenschnittstelle (englisch command-line interface, CLI) im Textmodus oder
- grafisch mit einer grafischen Benutzerschnittstelle (englisch graphical user interface, GUI) im Grafikmodus,
abhängig von Art und Zweck des Betriebssystems.
Im allgemeinen Sprachgebrauch werden Shells fast immer mit einer textbasierten Kommandozeilenschnittstelle, die zur Interaktion mit dem Betriebssystem dient (Kommandozeileninterpreter, Unix-Shells), gleichgesetzt. Somit wird in einem Betriebssystem die Shell (als CLI) normalerweise der grafischen Benutzeroberfläche (als GUI) gegenübergestellt.[1][2][3] Andererseits wird auch oft von einer grafischen Shell gesprochen,[4][5] um ein Betriebssystem mit einer grafischen Benutzeroberfläche (GUI) zu beschreiben.
Zeilenweise arbeitende Shells
Eine zeilenweise Text verarbeitende Shell – hier Textshell genannt – stellt dem Benutzer eine Arbeitsumgebung zur Text-Eingabe und -Ausgabe mit einer sogenannten Befehlszeile (englisch command line) bereit, in die eingegebene Befehle (englisch commands) von einem Interpreter umgesetzt und ausgeführt werden. Außer den ganz frühen Shells stellen Textshells ihre eigene, für sie typische, oder teilweise normierte Skriptsprache bereit; da die Befehle und die Syntax bekannt sein müssen, wird diese Skriptsprache vornehmlich von erfahrenen Benutzern verwendet.
Der Ursprung von Textshells als Skriptsprache für Betriebssysteme findet sich bei Multics, wo das Wort „Shell“ um 1965 auftaucht (siehe Shellskript#Ursprung). Derlei Textshells finden sich primär in Form von Unix-Shells (Bash, TENEX-C-Shell, Z shell etc.) als elementarer Bestandteil von Unix- und ähnlichen Systemen und als Kommandozeileninterpreter von u. a. Disk-Operating-Systemen (kurz: „DOS“). Auch grafische Betriebssysteme haben meist eine Shell, etwa Windows und macOS. Diese ermöglichen in einem Fenster die Text-basierte Ein- und Ausgabe, als Teil einer grafischen Benutzeroberfläche (Terminalemulation) allerdings auch z. B. Cut & Paste und Drag & Drop. In Windows gibt es neben der klassischen Eingabeaufforderung aus dem MS-DOS-Erbe auch die neuere und funktionsreichere PowerShell, andere Shells (etwa Bash) können vom Benutzer installiert werden. Bei macOS sind aufgrund des BSD-Unix-Kerns (siehe Darwin) ebenfalls Unix-Shells enthalten.
Grafische Shells
Eine grafische Shell stellt eine Umgebung mit einer grafischen Schnittstelle zur Benutzung bereit, die als Benutzeroberfläche bezeichnet wird. „Auf“ dieser zweidimensionalen Oberfläche sind Bedienungs- bzw. Steuerelemente mit Symbolen oder Textbeschriftungen zu finden, die bevorzugt eine dreidimensionale Tiefe anhand visueller Effekte suggeriert – beispielsweise scheinen Fenster übereinander zu liegen oder eine Schaltfläche wirkt erhaben, und beim Auslösen wird sie augenscheinlich eingedrückt. So ist ein Betriebssystem einfacher zugänglich, da Funktionen, Routinen oder Unterprogramme mittels Mausklick oder Fingertipp auf ein Element aufgerufen werden können. Desktop-Umgebungen bei Personalcomputern sowie die Umgebungen von Smartphones und modernen Fernsehern beispielsweise bilden grafische Shells. Oft kann eine Terminalemulation benutzt werden, die eine Textshell bereitstellt (z. B. Bash, PowerShell etc.).
Literatur
- Jörg R. Mühlbacher: Betriebssysteme. Grundlagen. Univ.-Verl. Trauner, Linz 2009. ISBN 3-85499-591-1
Einzelnachweise
- Hartmut Ernst, Jochen Schmidt, Gerd Beneken: Grundkurs Informatik: Grundlagen und Konzepte für die erfolgreiche IT-Praxis – Eine umfassende, praxisorientierte Einführung. 5. Auflage. Springer-Verlag, 2015, ISBN 978-3-658-01627-2, 8 Betriebssysteme, S. 322, 8.4 Benutzerschnittstelle: Shell und GUI (eingeschränkte Vorschau in der Google-Buchsuche): „Eine Shell ist die Schnittstelle des Betriebssystems zum Benutzer.“
- Arnold Klingert: Einführung in Graphische Fenstersysteme: Konzepte und reale Systeme. Springer-Verlag, 1996, ISBN 978-3-540-58818-4, 4 Architektur, S. 94, Direktmanipulation (eingeschränkte Vorschau in der Google-Buchsuche): „Man unterscheidet Systeme, die eine Metapher unterstützen, zum Beispiel die Desktop-Metapher, und solche, die einen Kommandointerpreter (Shell) benutzen, um das Betriebssystem anzusprechen.“
- Ute Hertzog: Linux: kompakt, komplett, kompetent. Markt+Technik Verlag, 2006, ISBN 978-3-8272-6810-5, 1.5 Linux-Komponenten, S. 42, 1.5.2 Die Shell (eingeschränkte Vorschau in der Google-Buchsuche): „Ein Linux-System kann auch ohne grafische Oberfläche – nur mit der Shell – betrieben werden.“
- Eriq Neale: Small Business Server 2008: das Praxisbuch für kleine und mittlere Unternehmen. Addison-Wesley, 2009, ISBN 978-3-8273-2359-0, 20 PowerShell, S. 814 (eingeschränkte Vorschau in der Google-Buchsuche): „(Über Windows Server 2008, Anm.:) So erhielten der Server-Core, ein grundlegendes Betriebssystem ohne grafische Shell …, Priorität.“
- Gerd Goldammer: Informatik für Wirtschaft und Verwaltung: Einführung in die Grundlagen. 1. Auflage. Gabler / Springer Fachmedien, 1994, ISBN 978-3-409-13539-9, 4 Betriebssysteme; 4.3.2 UNIX und weitere Betriebssysteme, S. 192, UNIX-Shell (eingeschränkte Vorschau in der Google-Buchsuche): „Von den Herstellern der Betriebssysteme werden zunehmend auch menüorientierte grafische Shells angeboten.“