Skip to main content
Top

2012 | Book

Systemprogrammierung in UNIX / Linux

Grundlegende Betriebssystemkonzepte und praxisorientierte Anwendungen

Authors: Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor

Publisher: Vieweg+Teubner Verlag

insite
SEARCH

About this book

UNIX / Linux spielt heute in der Praxis eingesetzter Systemplattformen eine entscheidende Rolle.

In diesem Buch finden Sie einen schnellen Einstieg in die Systemprogrammierung. Neben Grundlagen und Konzepten lernen Sie die wesentlichen Systemaufrufe kennen. Sie erfahren, wie UNIX / Linux aufgebaut ist und wie man die Standardbausteine verwendet, um eigene Systemprogramme zu erstellen. Hierzu gehören Script-Programmierung, UNIX-Prozesse, Interprozess-Kommunikation und Synchronisation, UNIX-Dateisystem, Verteilte Systeme, Scheduling und Speicherverwaltung. Die Konzepte werden an Hand von Anwendungsszenarien und lauffähigen Code-Beispielen erläutert und vertieft, so dass Sie nicht nur die Grundlagen verstehen lernen, sondern insbesondere ihr Einsatzpotenzial für die Praxis beurteilen können. Das Buch ist sowohl zum Selbststudium geeignet als auch in der Lehre und Ausbildung einsetzbar. Einen didaktisch aufbereiteten Satz von Kursunterlagen sowie die Quellcodes für alle Beispiele finden Sie im OnlinePLUS-Service.

Table of Contents

Frontmatter
1. Einführung und Überblick
Zusammenfassung
Seit 1945, als der Aufsatz von John von Neumann über den speicherprogrammierbaren Computer erschien, hat sich nichts Grundsätzliches am Aufbau eines Computers geändert. Allerdings wurden die Details erheblich modifiziert. Dort, wo von Neumann die prinzipielle Funktionsweise skizzierte, gibt es heute komplexe Lösungen für einzelne Komponenten.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
2. Das Betriebssystem UNIX
Zusammenfassung
UNIX ist ein Mehrbenutzer- und ein Mehrprogrammsystem (ein Benutzer kann gleichzeitig mehrere Programme ausführen). Das bedeutet, dass die Konzeption des Systems diesen besonderen Erfordernissen gerecht werden muss. Nicht nur, dass unterschiedliche Benutzer ihre privaten Bereiche zur Datenspeicherung erhalten, welche geschützt werden müssen. Auch ihre Zusammenarbeit muss gefördert werden. So entstand ein Dateisystem mit einer strikten Ordnung und Zugriffsrechten, die auch Gruppen berücksichtigen. Nicht zuletzt ist bei einem solchen System die Rolle eines Administrators vorzusehen. Dieser freut sich, wenn seine Arbeit für die Benutzer transparent bleibt, also der Betrieb ungestört weiterläuft. Wenn also eine Hardware-Ergänzung fällig ist, z.B. eine neue Festplatte hinzukommt, so darf das keine Auswirkungen zeigen. Lediglich Störungen in Form von knappem Speicherplatz werden vermieden. Die Ordnungsstruktur des Dateisystems ist deshalb homogen und verbirgt, auf welcher Platte welche Daten liegen. Viele andere Bereiche sind von ähnlichen Überlegungen betroffen.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
3. Script-Programmierung in UNIX/Linux
Zusammenfassung
Script-Programme ergänzen das Konzept von UNIX, seine Benutzerschnittstelle durch das Bereitstellen von vielen, insbesondere kombinierbaren Hilfsprogrammen zu bilden. Damit steht deren Aufruf und Verbindung im Vordergrund.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
4. UNIX-Prozesse und elementare Kommunikation
Zusammenfassung
In IT-Systemen spielt der Prozessbegriff eine herausragende Rolle. Prozesse sind Programme, die gestartet wurden und sich in Ausführung befinden. Sie sind damit die aktiven Komponenten eines Systems. In modernen Systemen ist im Allgemeinen eine Vielzahl von Prozessen gleichzeitig aktiv. Betriebssysteme haben die Aufgabe, diese zu verwalten und abzuarbeiten. Hierbei müssen Anforderungen wie Effizienz und Fairness garantiert werden. Um dies zu realisieren, sind in Betriebssystemen bestimmte Strategien implementiert, auf deren Basis die Prozessverwaltung abläuft.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
5. Prozessmodell, Nebenläufigkeit und Synchronisation
Zusammenfassung
Wir haben in den ersten Modulen bereits Prozesse in UNIX/Linux implementiert und eine grobe Vorstellung davon bekommen, was Prozesse auf UNIX-Ebene sind. Das vorliegende Modul widmet sich dem Prozess von einer anderen Seite, nämlich der theoretischen, die für die Entwicklung von Betriebssystemen mindestens genauso wichtig ist.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
6. Anwendungsszenarien zur Interprozess-Kommunikation
Zusammenfassung
In den vorhergehenden Kapiteln haben wir einige wichtige Synchronisationsmechanismen kennen gelernt. In diesem Modul stehen nun die Anwendungen im Mittelpunkt. Wir zeigen, wie die Synchronisationsmechanismen und ihre Kombinationen in Anwendungen eingesetzt werden können und sich gegenseitig unterstützen.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
7. UNIX-Dateisystem
Zusammenfassung
Ein essentieller Bestandteil eines Betriebssystems ist das Dateisystem. Damit ermöglicht es den Benutzern und Programmen, Informationen langfristig zu speichern, zu verwalten, zu schützen und letztendlich wieder zugänglich zu machen. Natürlich stellt sich dabei in besonderem Maße die Frage nach der Ergonomie, aber auch die nach der Effizienz.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
8. Verteilte Systeme
Zusammenfassung
In früheren Kapiteln haben Sie Prozesse in Betriebssystemen kennen gelernt. Wir haben besprochen, wie man Prozesse in UNIX erzeugt und synchronisiert. Einerseits haben wir gesehen, dass Prozesse als aktive Komponenten eines Systems sinnvoll sind, weil sie beispielsweise einen hohen Grad an Parallelität, und damit auch einen Nicht-Determinismus ermöglichen. Andererseits haben wir gesehen, dass beispielsweise das UNIX-Prozesskonzept einen gravierenden Nachteil hat: Die meisten Prozesssynchronisationsprimitive sind nicht über Rechnergrenzen hinweg einsetzbar.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
9. Strategien zum Scheduling und zur Speicherverwaltung
Zusammenfassung
Wir haben das Betriebssystem bisher als eher initiativlose Einheit erlebt, die lediglich auf Anforderungen in Form von Systemaufrufen reagiert und die versprochene Funktionalität realisiert. UNIX hat jedoch auch ein Eigenleben: Es bestimmt, wann ein Prozess zur Ausführung gelangt, und es entscheidet eigenständig, wann Speicherbereiche im Hauptspeicher tatsächlich verfügbar sind. Die Entscheidungsstrategien zur adäquaten Durchführung dieser Ziele nennt man Scheduling- Verfahren. Mit ihnen wird die Ressourcenverwaltung für Prozessor und Hauptspeicher möglichst intelligent gelöst. Sie sind in den Betriebssystemkomponenten Prozess-Scheduling und Speicherverwaltung realisiert.
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
10. Zusammenfassung und Ausblick
Zusammenfassung
In diesem Buch wurden verschiedene Aspekte von Betriebssystemen angesprochen. Bei einer solchen Zusammenfassung ist eine durchgehend getrennte Behandlung dieser Aspekte nicht möglich. Die wichtigsten Punkte sind:
1.
theoretische Fragestellungen, die sich im Zusammenhang mit Betriebssystemen ergeben: Scheduling, Algorithmen, Deadlock-Vermeidung, Speicherplatzverwaltung und andere. Diese Punkte wurden insoweit diskutiert, wie es für ein grundlegendes Verständnis nötig ist.
 
2.
praktische Fragestellungen, die sich bei der Entwicklung eines Betriebssystems oder von Systemkomponenten ergeben: Diesem Aspekt wurde keine besondere Beachtung geschenkt.
 
3.
Systemnahe Programmierung, insbesondere die Programmierung von Interprozess- Kommunikation und von verteilten Systemen, bildet den Schwerpunkt der Anwendung von Betriebssystemkenntnissen und wurde hier auch entsprechend betont.
 
4.
Die Darstellung der Script-Programmierung rundet den Überblick über Betriebssysteme ab. Script-Programmierung ist nach wie vor notwendig. Gleichzeitig gibt sie einen guten, praktisch interaktiven Einblick in ein System.
 
Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor
Backmatter
Metadata
Title
Systemprogrammierung in UNIX / Linux
Authors
Erich Ehses
Lutz Köhler
Petra Riemer
Horst Stenzel
Frank Victor
Copyright Year
2012
Publisher
Vieweg+Teubner Verlag
Electronic ISBN
978-3-8348-8277-6
Print ISBN
978-3-8348-1418-0
DOI
https://doi.org/10.1007/978-3-8348-8277-6

Premium Partner