[Next] [Previous] [Top]

UNIX-Lehrtext

1. Grundlagen von Unix


Unix ist ein Mehrbenutzer- und Mehrprozess-System. Es ermöglicht, eine Maschine mit anderen Benutzern gemeinsam zu nutzen und mehrere Prozesse gleichzeitig laufen zu lassen. Die Struktur kann folgendermassen schematisiert werden:
UNIX

Abbildung: Grundstruktur von Unix

Das Fundament wird von der Hardware gebildet: vom Hauptspeicher, in dem die Prozesse während der Ausführung gehalten werden (allerdings werden die Prozesse manchmal temporär auf die Festplatten ausgelagert), von der zentralen Recheneinheit (CPU) und eventuell einem Prozessor für Fliesskommarechnungen, von den Festplatten, auf denen Dateien und Programme dauerhaft gespeichert werden, sowie vom Netzwerk, das die Maschine, an der Sie arbeiten, mit anderen Maschinen verbindet.

Die Systemebene wird im wesentlichen von Management-Systemen für die Hardware gebildet. Das Prozessmanagement kümmert sich sowohl um Ihre Prozesse als auch um die anderer Benutzer, so dass sie sich nicht überschneiden und die Rechenleistung untereinander sinnvoll aufteilen. Die CPU kann immer nur ein Programm gleichzeitig bearbeiten, alle anderen Programme müssen währenddessen warten. Natürlich bemerken Sie das nicht direkt, da diese Programme sehr häufig von der CPU gewechselt werden.

Wenn allerdings viele Prozesse eine CPU belagern, muss jeder Prozess länger warten, bis er wieder bearbeitet wird, und die Laufzeit verlängert sich entsprechend. Alle Prozesse derselben Priorität müssen gleich lange warten. Die Priorität kann aber geändert werden, so dass einige Prozesse häufiger von der CPU bearbeitet werden als andere und somit eine kürzere Laufzeit haben.

Das Filesystem verwaltet den Platz auf den Festplatten und erlaubt es, mehrere Platten als ein homogenes Speichermedium zu sehen. Wenn auf Dateien einer nicht-lokalen Platte zugegriffen werden soll, muss das Filesystem über das Netzwerk arbeiten.

Damit ein Netzwerk funktioniert, ist es notwendig, eine "Syntax" für den Datentransfer zu definieren. Diese "Syntax" wird über Netzwerkprotokolle geregelt. Letztere werden in verschiedene Ebenen unterteilt: Während IP (Internet Protocol) lediglich Datenpakete über ein Kabel schickt, stellen TCP (Transmission Control Protocol) und UDP (User Datagram Protocol) weitergehende Fähigkeiten zur Verfügung. TCP stellt z.B. sicher, dass Daten auch wirklich am Bestimmungsort ankommen, selbst wenn einzelne Datenpakete unterwegs verloren gehen sollten. Um Netzwerk-Anwendungen zu benutzen, muss man aber über Netzwerkprotokolle nicht Bescheid wissen. Einige gebräuchliche Netzwerkanwendungen sind rlogin, das das Einloggen auf einer nicht-lokalen Maschine ermöglicht, ftp für Dateitransfer sowie verschiedene Programme zum Versenden und Empfangen elektronischer Post, z.B. elm.

Zunächst jedoch sehen Sie von Ihrem System die Shell, die man am besten als Kommandointerpreter beschreibt. Für Sie als Benutzer spielt es keine besondere Rolle, ob Sie ein Programm oder ein Shellkommando aufrufen -- ausser in einem wesentlichen Punkt: da es mehrere verschiedene Shells gibt, können sich Shellkommandos sogar auf einem einzigen System von Benutzerin zu Benutzerin unterscheiden.

Aber nicht nur das trägt zur Verwirrung bei. Es gibt nämlich auch verschiedene Arten von Unix. Moderne Unix-Systeme kann man im wesentlichen in zwei Klassen einteilen: diejenigen, die sich an SYSTEM V anlehnen (SYSTEM V wurde von AT&T entwickelt), und diejenigen, die sich vom BSD der University of California in Berkeley ableiten. Die Benutzeroberfläche der beiden unterscheidet sich in einigen Punkten. Einige Kommandos gibt es nur auf einem der beiden Systeme, andere haben unterschiedliche Syntax. Neuere Versionen von SYSTEM V wie SYSTEM V RELEASE 4 (SVR4) wurden jedoch stark von BSD beeinflusst und kennen viele Kommandos, die früher nur BSD-Benutzern vorbehalten waren. Daher treffen einige Bemerkungen in dieser Einführung über die Besonderheiten von SYSTEM V nicht mehr für diese neueren Versionen, sondern nur noch für ältere wie SYSTEM V RELEASE 3 (SVR3) zu. Wenn eine Besonderheit für SVR3 angegeben ist, so gilt das i.d.R. auch für ältere SYSTEM V -Versionen. Das Unix-Betriebssystem von IBM, AIX, ist eher als System-V-Derivat zu bezeichnen!

Doch zurück zum Aufbau von Unix: Die oberste Ebene wird von den Anwendungen gebildet. Das können Compiler sein, Editoren, Programme für symbolische Mathematik, Graphikprogramme etc. Diese und einige Shell/Systemkommandos werden Sie vermutlich am meisten verwenden, abgesehen natürlich von eigenen Programmen.
PROZESSE

Abbildung: Benutzer und Unix-Prozesse

Die Abb. zeigt das Schema eines Mehrbenutzer- und Mehrprozess-Systems. Jede Benutzerin hat eine Shell, die sich von Benutzer zu Benutzer unterscheiden kann, und kann verschiedene Prozesse (tasks) laufen lassen. Die Prozesse werden im Schema durch ein P gefolgt von einer Ziffer symbolisiert. Da die Prozesse von der Shell aus gestartet worden sind, nennt man sie "Kinder" dieser Shell.

Nun, da Sie schon etwas über Unix wissen, können Sie daran gehen, es auch zu benutzen. Bevor Sie jedoch anfangen zu tippen, sollten Sie wissen, dass Unix Gross- und Kleinbuchstaben unterscheidet.


UNIX-Lehrtext - 23 SEP 94
[Next] [Previous] [Top]

Generated with WebMaker