Linux-Kernelprogrammierung. Algorithmen und Strukturen der by Michael Beck

Posted by

By Michael Beck

Eine Awendung -- ob nun für Unix oder ein anderes Betriebssystem -- zu entwickeln, ist schon schwierig genug. Systemnahe Programme sind dann bereits eine Wissenschaft für sich. Aber am Kernel mitzuentwickeln, für Verbesserungen, computer virus solving oder Treiber, ist die Krone der Entwicklung für ein Betriebssystem.

Für Linux, dem freien Betriebssystem von Linus Torvalds, ist dies theoretisch beonders leicht möglich. Die Quellen sind frei verfügbar und auf web pages und in Newsgroups sind genug Informationen verfügbar. Doch für einen kompakten und schnellen Einstieg sind Bücher immer noch angenehmer als das Netz. Ein solches Buch ist Linux Kernelprogrammierung der Autoren Beck, Böhme, Dziadzka, Kunitz, Magnus, Schröter und Verworner. Und da Linux sich seit den Anfängen um einiges weiterentwickelt hat, gibt es dieses Buch inzwischen in der sechsten Auflage.

Nach einer kurzen Einführung in Linux allgemein und in die Übersetzung des Kerns geht es im dritten Kapitel um Datenstrukturen, zentrale Algorithmen und die Implementierung von approach Calls im Kern. Die folgenden Kapitel behandeln die Speicherverwaltung, Interprozesskommunikation, das Linux-Dateisystem, Gerätetreiber, Netzwerk, Module, Debugging und Multiprocessing. Den Abschluss bilden Anhänge mit den method Calls, kernnahen Kommandos, eine Beschreibung des proc-Dateisystems, dem Boot-Prozess sowie nochmals den wichtigsten Kernel Commandos.

Wer näher in die Kernelprogrammierung einsteigen will, tut intestine daran, sich das Buch der sieben Autoren zuzulegen. Es klärt sicherlich nicht alles, gibt aber einen guten Einstieg in dieses spezielle Gebiet der Softwareentwicklung. In Buchform ist es doch angenehmer, als nur on-line nachzuschlagen. --Frank Müller

Show description

Read or Download Linux-Kernelprogrammierung. Algorithmen und Strukturen der Version 2.4 PDF

Best algorithms and data structures books

Vorlesungen über Informatik: Band 1: Grundlagen und funktionales Programmieren

Goos G. , Zimmermann W. Vorlesungen ueber Informatik, Band 1. . Grundlagen un funktionales Programmieren (ISBN 3540244050)(de)(Springer, 2005)

Algorithms and Protocols for Wireless Sensor Networks

A one-stop source for using algorithms and protocols in instant sensor networks From a longtime overseas researcher within the box, this edited quantity presents readers with entire insurance of the elemental algorithms and protocols for instant sensor networks. It identifies the study that should be performed on a couple of degrees to layout and determine the deployment of instant sensor networks, and offers an in-depth research of the advance of the subsequent new release of heterogeneous instant sensor networks.

Algorithmic Foundations of Geographic Information Systems

This instructional survey brings jointly strains of study and improvement whose interplay can provide to have major functional influence at the quarter of spatial info processing within the close to destiny: geographic info structures (GIS) and geometric computation or, extra fairly, geometric algorithms and spatial information buildings.

Practical Industrial Data Networks: Design, Installation and Troubleshooting (IDC Technology (Paperback))

There are lots of facts communications titles overlaying layout, install, and so forth, yet virtually none that in particular specialise in business networks, that are an important a part of the day by day paintings of business regulate structures engineers, and the main target of an more and more huge workforce of community experts.

Extra resources for Linux-Kernelprogrammierung. Algorithmen und Strukturen der Version 2.4

Sample text

Cpu_idle(NULL); Die Funktion init() erledigt die restliche Initialisierung. Unter anderem werden hier von der Funktion do_basic_setup{} sämtliche Treiber für die Hardware initialisiert. static int init() { do_basic_setup(); Jetzt kann versucht werden, eine Verbindung zur Konsole herzustellen und die Dateideskriptoren 0, 1 und 2 zu eröffnen. \n"); (void) dup(0); (void) dup(0); 40 3 Einführung in den Kern Danach wird versucht, ein vom User beim Booten spezifiziertes Programm oder eines der Programme /sbin/init, /etc/init oder /bin/init auszuführen.

Obwohl der LinuxKern inzwischen durchgängig auf Capabilities umgestellt ist, werden diese von den Verwaltungsprogrammen und den üblichen Dateisystemen noch nicht unterstützt. Für die Zukunft zeichnet sich hier aber eine interessante Entwicklung zu sichereren Systemen ab. Files Die dateisystemspezifischen Informationen sind in der Unterstruktur struct fs_struct *fs; abgelegt. Diese enthält unter anderem die Komponenten atomic_t count; int umask; struct dentry * root, * pwd; Ein Prozess kann über den Systemruf umask den Zugriffsmodus von neu zu erzeugenden Dateien beeinflussen.

Void add_wait_queue(wait_queue_head_t *q, wait_queue_t *wait); void remove_wait_queue(wait_queue_head_t *q, wait_queue_t *wait); q enthält jeweils die zu modifizierende Warteschlange und wait den hinzuzufügenden oder zu entfernenden Eintrag. Ein Prozess, der auf ein bestimmtes Ereignis warten will, trägt sich nun in eine solche Warteschlange ein und gibt die Steuerung ab. Zu jedem möglichen Ereignis gibt es eine Warteschlange. Wenn das entsprechende Ereignis eintritt, werden alle Prozesse in dieser Warteschlange wieder aktiviert und können weiterarbeiten.

Download PDF sample

Rated 4.00 of 5 – based on 22 votes