Buch, Deutsch, 523 Seiten, PB, Format (B × H): 148 mm x 210 mm, Gewicht: 785 g
Reihe: Technische Informatik
Der Kernel - Elementare Einführung in die parallele Systemprogrammierung
Buch, Deutsch, 523 Seiten, PB, Format (B × H): 148 mm x 210 mm, Gewicht: 785 g
Reihe: Technische Informatik
ISBN: 978-3-8322-7051-3
Verlag: Shaker
Das vorliegende Buch analysiert und visualisiert Schritt für Schritt auf elementarer Ebene die Konzepte und Probleme der Parallelverarbeitung für herkömmliche und echtzeitfähige Multitasking/Multithreading-Systeme, und liefert Lösungen in Form von C-Funktionen, unterstützt von einigen wenigen Assembler-Routinen. Am Ende steht ein kompletter Betriebssystem-Kern mit einer Reihe zugänglicher Funktionen für die angewandte parallele Programmierung zur Verfügung (Task-Kommunikation, Betriebsmittelnutzung, Echtzeitbetrieb etc.) und eine Reihe nichtzugänglicher Funktionen, die den Betriebssystem-Kern realisieren und den sicheren, lebendigen und gerechten Ablauf paralleler Anwender-Programme ermöglichen.
Multitasking ist die Fähigkeit eines Betriebssystems, mehrere Programme (Tasks) quasi parallel auf einem Prozessor ablaufen zu lassen. Für den Betrachter sieht es so aus, als würde jedes Programm ständig laufen. So wird ihm die Illusion der Parallelität vermittelt.
Mit Windows NT/CEIXP..., VxWorks, QnX, Euros, Linux etc. sind eine ganze Reihe verschiedener Multitasking/Multithreading-Betriebssysteme für kommerzielle oder Echtzeit -Anwendungen verfügbar. Sie haben eines gemeinsam: Sie realisieren Parallelität nach den gleichen elementaren Prinzipien und Methoden z.B. zur Synchronisation von Tasks/Threads und deren Kommunikation. Unterstützt wird die Multitasking-Fähigkeit dieser Betriebssysteme von ausgereiften Prozessor Architekturen, wie z.B. den Proteeted Mode-Mechanismen der INTEL-Prozessoren (IA32 Familie). Weil Parallelität sehr schnelle Wechsel von Task zu Task erforderlich macht, übernimmt die dafiir notwendigen Operationen die Hardware und befreit damit den Betriebssystem-Kern von dieser aufwendigen Arbeit.
Zusätzlich schützt die Hardware die Adressräume der Anwender-Tasks und des Betriebssystem Kerns und schließt auf diese Weise gegenseitige Störungen aus. Die Hauptlast für den korrekten Betrieb eines Multitasking/Multithreading-Systems tragen jedoch seine Kern-Funktionen.
Sie sorgen dafür, daß parallele Programme sicher und lebendig ablaufen. So dürfen z.B. Botschaften, die zwischen den Tasks ausgetauscht werden, nicht verloren gehen (Sicherheit). Auch sollten Tasks am Gesamtgeschehen gleichmäßig beteiligt werden (Lebendigkeit). Und keine der Tasks sollte begünstigt oder gar ausgesperrt werden (Gerechtigkeit). Dies gilt in gleicher Weise auch für Parallel-Programme, die über Rechnergrenzen hinweg in sogenannten verteilten Systemen bzw. Multicomputersystemen ablaufen.