Das vorliegende Buch ist der erste von zwei Bänden, die zusammen eine Ausarbeitung der Software Vorlesungen bilden, die ich jeweils im zweiten Studienjahr im Nebenfach Informatik an der Universität Ulm anbiete. Die Vorlesungen führen in maschinennahe Programmierung ein. Dabei bedeutet maschinennahe Programmierung eigentlich nur zum Teil die Beherrschung aller Bestandteile einer spezifischen Maschine. Viel wichtiger erscheint mir, daß darüber hinaus auch das Betriebssystem, in unserem Fall also UNIX,l als Teil der gegebenen Maschine betrachtet werden muß. Ich spreche deshalb lieber von systemnaher Programmierung. Im ersten Band werden die Werkzeuge vorgestellt, mit denen man typischerweise systemnahe Programmierung betreibt. Im zweiten Band wird dann mit diesen Werkzeugen der Umgang mit einem Betriebssystem erprobt. Beide Bände zusammen illustrieren den Unterbau, auf dem die sogenannte problemorientierte Programmierung erfolgt. Dem angehenden Software-Ingenieur soll in diesen Vorlesungen auch ein Gefühl für die Machbarkeit und Effizienz seiner problemorientierten Programme vermittelt werden. Der Leser sollte eine höhere Programmiersprache, zum Beispiel Pascal, einfache Datenstrukturen und problemorientierte Programmierung bereits einigermaßen beherrschen. Die Programmbeispiele beziehen sich ohne ausführliche Erklärungen auf Algorithmen, die üblicherweise in einer Vorlesung über problemorientierte Programmierung und Datenstrukturen besprochen werden.