www.wikidata.de-de.nina.az
Dieser Artikel oder Abschnitt bedarf einer grundsatzlichen Uberarbeitung Die Inhalte der Systemprogrammierung fehlen vollstandig Naheres auf der Diskussionsseite Bitte hilf mit ihn zu verbessern und entferne anschliessend diese Markierung Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Als Systemprogrammierung bezeichnet man das Erstellen von Softwarekomponenten die Teil des Betriebssystems sind oder die eng mit dem Betriebssystem bzw mit der darunter liegenden Hardware kommunizieren mussen Der Personenkreis der Systemsoftware entwickelt wird als Systemprogrammierer bezeichnet Aufgabenfelder BearbeitenSystemnahe Software dient als Abstraktionsschicht zwischen einer Applikation und dem Betriebssystem Diese Schicht erleichtert den Zugriff auf die sehr einfach gehaltenen Betriebssystemfunktionen Aus Performance und Sicherheitsgrunden ist der Zugriff auf das Betriebssystem auf das Notwendige beschrankt Der Programmierer muss sich selbst um Synchronisation z B mittels Semaphore oder Shared Memory und Interprozesskommunikation kummern Die Programmierung auf Betriebssystemebene ist dadurch umstandlich und fehleranfallig Im Gegensatz dazu bevorzugen Applikationsentwickler Schnittstellen die schnell fehlertolerant und leicht zu verwenden sind Bei Applikationsprogrammierern steht die Funktionalitat im Vordergrund wahrend ein Systemprogrammierer Aspekte wie Effizienz und Robustheit besonders berucksichtigen muss Alle Hochsprachen kapseln die Funktionen der Systemprogrammierung was eine effektive Anwendungsprogrammierung mit hohem Abstraktionsgrad ermoglicht jedoch im Bereich der systemnahen Programmierung nicht zielfuhrend ist Ein weiteres Beispiel fur systemnahe Anwendungen sind Datenbankmanagementsysteme Datenbanken benotigen einen sehr schnellen Zugriff auf Hardwareressourcen Der Umweg uber die Entwicklungs APIs ist dabei nicht nur ein zusatzlicher Kostenfaktor Solche APIs sind fur die Bedurfnisse bestimmter Applikationen auch ungeeignet Implementierungen von Datenbanken bevorzugen daher selbst direkt mit dem System zu kommunizieren Systemprogrammierung wird haufig in Sprachen wie C C oder Assembler durchgefuhrt Hochsprachen wie Pascal fuhren haufig zu grossen und wenig effizienten Programmen die fur die systemnahe Programmierung ungeeignet sind Ausnahmen bilden hier einige eingebettete Systeme die direkt in Java programmiert werden konnen C ist zwar selbst auch eine Hochsprache bietet aber die Moglichkeit Assembler Befehle uber Inline Assembler direkt ins Hochsprachenprogramm einzubinden und z B Variablen direkt mit ihren symbolischen Namen abzufragen die sonst umstandlich uber den Stapelspeicher ubergeben werden mussten Systemprogrammierer BearbeitenSystemprogrammierer sind Programmierer die Systemsoftware entwickeln und warten Dies geschieht zumeist im kommerziellen Rahmen Im Informatikstudium werden an vielen Universitaten die Inhalte der Systemprogrammierung gelehrt Dies umfasst die Grundkenntnisse der maschinennahen Programmierung und des Aufbaus und der Funktionsweise von Betriebssystemen Je nach Typ des Unternehmens haben Systemprogrammierer unterschiedliche Aufgaben Setzt das Unternehmen gekaufte Software z B von einem Softwarehersteller ein hat der Systemprogrammierer die Aufgabe die gekaufte Software so zu erweitern zu verandern bzw zu konfigurieren Customizing dass die Funktion der Software im Unternehmen eingesetzt werden kann Ist das Unternehmen ein Softwarehersteller der Systemprogramme verkauft oder ein Hardwarehersteller der seine Gerate mit spezieller Systemsoftware ausliefert hat der Systemprogrammierer die Aufgabe die Systemprogramme zu entwickeln Im Gegensatz zum Anwendungsprogrammierer muss ein Systemprogrammierer fundierte Kenntnisse uber die internen Ablaufe innerhalb des Systems haben Hierzu gehoren unter anderem die Themen Prozessverwaltung und synchronisierung Speicherverwaltung Semaphore Dateisysteme Eingabe und Ausgabekanale Rechteverwaltung und Netzwerktechnik Da Systemprogramme in vielen Fallen nicht uber eine GUI verfugen muss auf Betriebssicherheit und Fehlertoleranz besonders geachtet werden Literatur BearbeitenE Ehses L Kohler P Riemer H Stenzel F Victor Systemprogrammierung in UNIX Linux Springer Verlag 2012 ISBN 978 3 8348 8277 6 Helmut Weber Praktische Systemprogrammierung Grundlagen und Realisierung unter UNIX und verwandten Systemen Springer Verlag 2013 ISBN 978 3 663 05800 7 Abgerufen von https de wikipedia org w index php title Systemprogrammierung amp oldid 229543124