Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Linux-UNIX-Programmierung von Jürgen Wolf
Das umfassende Handbuch – 2., aktualisierte und erweiterte Auflage 2006
Buch: Linux-UNIX-Programmierung

Linux-UNIX-Programmierung
1216 S., mit CD, 49,90 Euro
Rheinwerk Computing
ISBN 3-89842-749-8
gp Kapitel 1 Einführung
  gp 1.1 Anforderung an den Leser
  gp 1.2 Anforderung an das Betriebssystem
  gp 1.3 Von UNIX …
  gp 1.4 … zu Linux
  gp 1.5 Der Compiler GCC – eine kurze Einführung
    gp 1.5.1 GCC erhöre uns – der Aufruf
    gp 1.5.2 Was befiehlst du – Meister?
    gp 1.5.3 Klassifikation der Dateitypen
  gp 1.6 POSIX, X/OPEN und ANSI C
  gp 1.7 Übersicht zum Buch
  gp 1.8 Schreibkonventionen
  gp 1.9 Notationsstil
  gp 1.10 Weitere Hilfen


Rheinwerk Computing

1.7 Übersicht zum Buch  toptop

Grob betrachtet, lässt sich dieses Buch in fünf Teile gliedern – wobei bewusst auf eine solche Zerlegung verzichtet wurde. Das Buch wurde so geschrieben, dass die einzelnen Kapitel zum größten Teil untereinander unabhängig sind. Dennoch dient als Basis für alle Kapitel im Buch das zweite Kapitel: die E/A-Funktionen. Ausgehend von diesem Kapitel können Sie (fast) mit jedem beliebigen Kapitel weitermachen.

Die ersten neun Kapitel behandeln vorwiegend die Linux-/UNIX-(System-)Programmierung. Zwar dürfte der Großteil der Leserschaft aus der Linux-Ecke kommen, trotzdem wird ggf. auf die Besonderheiten anderer UNIX-ähnlicher Systeme eingegangen.

Kapitel 2 beschreibt die grundlegenden E/A-Funktionen (sowohl der niedrigeren als auch der höheren Ebene) – womit man unbedingt vertraut sein sollte, bevor man sich auf die anderen Kapitel einlässt. In Kapitel 3 werden die Attribute von Dateien und Verzeichnissen behandelt – dabei wird auch auf die Links und deren Sinn eingegangen. Wie Sie (als normaler Benutzer) auf Systeminformationen zugreifen können – was eine gerne gestellte Frage ist –, erfahren Sie in Kapitel 4. Kapitel 5 behandelt den Zugriff auf die Hardware im System. Wobei hier nicht die (tiefe) Hardware-/Kernelprogrammierung gemeint ist, sondern wie Sie über einfache Gerätedateien (auch wieder als einfacher Benutzer) mit einfachen E/A-Funktionen mit der Hardware kommunizieren können. Als Beispiel wird gezeigt, wie Sie mit einem einfachen Konsolenprogramm Audio-CDs abspielen können. Neu hinzugekommen in der zweiten Auflage ist das Kapitel 6, das Ihnen zeigt, wie man auf die zentralen System- und Benutzerdateien (wie z. B. /etc/passwd) zugreift. Der Titel von Kapitel 7 (Dämonen, Zombies und Prozesse) mag ein wenig komisch erscheinen, aber das sind nun mal die Fachbegriffe dafür. Speziell bei den Prozessen handelt es sich um ein außerordentlich wichtiges Thema der Systemprogrammierung im Allgemeinen – womit man sich als angehender Linux-/UNIX-(System-)Programmierer beschäftigen muss. Sie erfahren dabei so ziemlich alles rund um Prozesse – wie man diese erzeugt, killt und wie man daraus einen Zombie (im negativen Sinne gemeint) machen kann. Am Ende erfahren Sie noch, wie Sie einen (Dämon-)Prozess unabhängig von der Steuerung des Terminals im Hintergrund ausführen können. Kapitel 8 behandelt Signale, die ebenfalls unerlässlich sind, um die Systemprogrammierung zu verstehen. Ausgehend von Kapitel 7, den Prozessen, erfahren Sie in Kapitel 9, wie die einzelnen Prozesse via Interprozesskommunikationen (IPC) miteinander kommunizieren können. Dabei werden viele grundlegende IPC-Techniken behandelt. Dass es neben den gewöhnlichen Prozessen noch eine andere Form von leichtgewichtigen und meistens auch schnelleren Prozessen gibt, erfahren Sie in Kapitel 10 – der (Linux-)Threadprogrammierung.

Damit Sie Ihre Software um Netzwerkfunktionalitäten erweitern können, finden Sie in Kapitel 11 eine Einführung in die Netzwerkprogrammierung.

Kapitel 12 behandelt die Programmierung von Datenbanken – oder besser die Verwendung von C-APIs, welche die Datenbanken mitliefern. Damit sind Sie in der Lage, eigene Client-Anwendungen zu erstellen. Behandelt werden im Buch die Schnittstellen zur MySQL- und PostgreSQL-Datenbank. Für alle, die bisher noch nichts mit Datenbanken am Hut hatten, gibt es zu jeder DB einen Crashkurs – somit sind keinerlei Vorkenntnisse hierzu nötig.

Die nächsten drei Kapitel behandeln die Entwicklung von Benutzerschnittstellen. Denn was nützt eine Software, die keiner bedienen kann. Kapitel 13 beschreibt die Entwicklung von Programmen für die Konsole. Auch wenn es ein wenig altertümlich erscheint, Konsolenprogramme sind immer noch eines der ersten Projekte, mit denen ein Programmierer beginnt, und immer noch gerne eingesetzte Programme. Behandelt werden dabei termios, terminfo und curses. In die tiefsten Tiefen der Grafikprogrammierung, die XWindow-Programmierung, worauf alle namenhaften Toolkits (GTK+, Qt, Motif, Xt, Tk etc.) aufbauen, gibt Ihnen Kapitel 14 einen Einblick. Das Kapitel richtet sich vor allem an den Programmierer, der sich ein eigenes Toolkit, einen Window-Manager oder gar Spiele programmieren will. Außerdem wird noch das Xt-Toolkit kurz behandelt – das ja unmittelbar auf der X-Library aufbaut. Kapitel 15 zeigt Ihnen dann, wie einfach es mit GTK+ ist, ein Programm mit einer grafischen Oberfläche zu versehen. GTK+ hat im Gegensatz zu den fetten Bibliotheken wie Qt oder der GNOME-Bibliothek den Vorteil, nicht so speicherintensiv zu sein. Ein weiterer Vorteil von GTK+ ist es, dass Sie Ihre Anwendung auch jenseits der Linux-Welt portieren können. Kapitel 16 gehört eigentlich nicht mehr zur Entwicklung grafischer Oberflächen. Hierbei wird die SDL-Bibliothek (eine plattformunabhängige Multimedia-Bibliothek) behandelt, womit Sie praktisch typische Multimedia-Anwendungen (Video, Audio, Grafikdemos, Spiele etc.) entwickeln können.

Kapitel 17 ist unerlässlich für jeden Programmierer, der Software entwickelt. Der Umgang mit den grundlegenden Werkzeugen während und nach der Entwicklung ist das A und O jeder ernst zu nehmenden Software. In diesem Kapitel wird eine Menge Open-Source-Werkzeuge beschrieben, die Ihnen das Leben erheblich einfacher machen können. Behandelt werden dabei: Programmerstellung mit GNU-GCC und MAKE – Erstellen von statischen als auch dynamischen Bibliotheken – eigene Pakete mit RPM erstellen – Versionsverwaltung mit RCS und CVS – Programme testen (Zeitmessung mit TIME, GPROF und GCOV) und debuggen (GNU-GDB) – Systemaufrufe mit STRACE verfolgen– Memory Leaks und unerlaubte Speicherzugriffe (EFENCE und VALGRIND).

Im Anhang A finden Sie einige Dinge, die Sie in puncto Sicherheit beachten müssen, und in Anhang B findet sich eine kompakte Funktionsreferenz vieler Funktionen, die im Buch verwendet wurden. Am Ende – im Anhang C – wird die beiliegende Buch-CD, die ein umfangreiches Bonus-Material bietet, beschrieben.

 << zurück
  
  Zum Rheinwerk-Shop
Neuauflage: Linux-UNIX-Programmierung
Neuauflage:
Linux-UNIX-
Programmierung

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-
 Programmierung


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info





Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern