next up previous
Nächste Seite: Dateisysteme und Dateisystemstruktur Aufwärts: Linux ist anders Vorherige Seite: Schutzkonzept

Programmphilosphie

Un*x existierte lange bevor graphische Benutzeroberflächen in Mode kamen. Mit den damaligen Rechnern wären diese auch gar nicht zu verwirklichen gewesen. Aus diesem Grund kommt dem Befehlsinterpreter, der Shell, bei Un*x eine sehr hohe Bedeutung zu.

Entsprechend dieser Bedeutung sind die unter Un*x verbreiteten Shells sehr leistungsfähig. So besitzt die gern benutzte bash z.B. über die Fähigkeit, mehrere Prozesse zu kontrollieren, eine leistungsfähige Skriptsprache mit benutzerdefinierbaren Funktionen, aliase (Befehlsabkürzungen), ein Befehlsgedächtnis, automatische Dateinamenergänzung <TAB>, vielfache Möglichkeiten zur Umleitung von Ein- und Ausgaben der Programme uvm.

Linux unterstützt diese Leistungsfähigkeit übrigens, indem es mehrere virtuelle Konsolen ( (<Strg>-)<Alt>-<F1> bis -<F6>) zur Verfügung stellt und dort das Zurückscrollen ( <Shift>-<Bild_hoch>) erlaubt.

Diese leistungsfähige Shell hat dazu geführt, daß sich eine Programmstruktur herausgebildet hat, die von der bei Windows bekannten sehr unterschiedlich ist. Während bei letzterem der Trend dahin geht, immer mehr Funktionen in ein Programmpaket zu integrieren ( MS-Office, ,,Betriebssystem`` mit integriertem Browser), wurde unter Un*x die Philosophie kleiner, spezialisierter und flexibel einsetzbarer Programme verfolgt.

In diesem Bild wären typische Windows-Programme eine programmgesteuerte Fräßmaschine mit einigen voreingestellten Funktionen, während traditionelle Un*x-Programme Werkzeuge aus einem Werkzeugkasten darstellen, die auf einer Werkbank, der Shell, nach Belieben angeordnet und kombiniert werden können. Solange man bei den voreingestellten Funktionen bleibt, erzielt man mit der Fräßmaschine schneller Ergebnisse; für die Werkzeugbox braucht man einen gewissen Überblick über die Werkzeuge und ihre Kombinationsmöglichkeiten. Wenn Dinge erledigt werden müssen, an die keiner zuvor gedacht hat, dann zeigen die Werkzeuge aber ihre Stärke.

Die Trennung in kleinere Einheiten hat noch einen entscheidenden Vorteil: Die Funktionalität und die Größe des Codes der Einzelkomponenten ist so klein, daß die Hoffnung, diese weitestgehend von Fehlern zu befreien, nicht von vorneherein aussichtslos ist.

Die Anzahl der nützlichen Tools ist sehr hoch und es ist schwierig sie alle zu kennen. So entdeckt auch ein erfahrener Systemadministrator manchmal neue Hilfsprogramme, die schon lange existieren. Die Schlüsselfrage unter Linux ist oft: Wie heißt das Programm (oder die Programme), mit denen ich diese Aufgabe erledigen kann? Hilfsprogramme wie locate, find, whatis und apropos, sowie die Befehlsergänzung der Shell mit <TAB> helfen einem aber, wenn man eine Idee hat, wie der gewünschte Befehl heißen könnte oder welche Stichworte ihn charakterisieren. Meistens gibt es mehrere Möglichkeiten, ein Problem zu lösen ...

Auch bei Un*x geht der Trend etwas weg von dieser Programmvielfalt. Durch den massiven Erfolg im Desktopmarkt, wo weniger Flexibilität als vielmehr Standardlösungen benötigt werden, wurden Dinosaurierprogramme mit allen Vor- und Nachteilen für Linux geschrieben oder portiert. Auf der anderen Seite haben aber auch viele der Tools eine graphische Oberfläche verpasst bekommen, wobei die Struktur und Philosophie der kleinen Programme erhalten blieb. Zum Kombinieren benötigt man allerdings weiterhin die Textmodusversionen und die Shell.

Typisch für Un*x sind die sog. Dämonen. Das sind Programme, die einen Dienst zur Verfügung stellen und darauf warten, daß jemand diesen anfordert. So wartet der sendmail-daemon beispielsweise darauf, daß jemand eine Verbindung zu ihm aufnimmt und ihm Mail zur Weiterleitung überreicht. Diese Dämonen schlafen die meiste Zeit und verbrauchen daher keine Rechenleistung, wohl aber ein wenig Arbeitsspeicher. Ein ps -ax zeigt: Es schlafen ( S) sehr viele Prozesse. Diejenigen, die auf d enden sind meistens Dämonen. Sie werden beim Systemstart gestartet.


next up previous
Nächste Seite: Dateisysteme und Dateisystemstruktur Aufwärts: Linux ist anders Vorherige Seite: Schutzkonzept
Kurt Garloff
2000-10-25