<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Systemprogrammierung</id>
	<title>Systemprogrammierung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Systemprogrammierung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Systemprogrammierung&amp;action=history"/>
	<updated>2026-05-19T01:28:16Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Systemprogrammierung&amp;diff=344053&amp;oldid=prev</id>
		<title>imported&gt;Smartcom5: /* Siehe auch */ Artikel &#039;Programmierung&#039; hinzu. ;-</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Systemprogrammierung&amp;diff=344053&amp;oldid=prev"/>
		<updated>2025-05-05T11:25:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Siehe auch: &lt;/span&gt; Artikel &amp;#039;Programmierung&amp;#039; hinzu. ;-&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Überarbeiten|grund=Die Inhalte der Systemprogrammierung fehlen vollständig. Näheres auf der [[Diskussion:Systemprogrammierung|Diskussionsseite]].}}&lt;br /&gt;
{{Belege fehlen}}&lt;br /&gt;
Als &amp;#039;&amp;#039;&amp;#039;Systemprogrammierung&amp;#039;&amp;#039;&amp;#039; bezeichnet man das Erstellen von [[Softwarekomponente]]n, die Teil des [[Betriebssystem]]s sind oder die eng mit dem Betriebssystem bzw. mit der darunter liegenden [[Hardware]] kommunizieren müssen. Der Personenkreis, der [[Systemsoftware]] entwickelt, wird als &amp;#039;&amp;#039;&amp;#039;Systemprogrammierer&amp;#039;&amp;#039;&amp;#039; bezeichnet.&lt;br /&gt;
&lt;br /&gt;
== Aufgabenfelder ==&lt;br /&gt;
Systemnahe [[Software]] dient als Abstraktionsschicht zwischen einer [[Anwendungsprogramm|Applikation]] und dem [[Betriebssystem]]. Diese Schicht erleichtert den Zugriff auf die sehr einfach gehaltenen Betriebssystemfunktionen. Aus [[Performance (Informatik)|Performance]]- und Sicherheitsgründen ist der Zugriff auf das Betriebssystem auf das Notwendige beschränkt. Der Programmierer muss sich selbst um Synchronisation (z.&amp;amp;nbsp;B. mittels [[Semaphor (Informatik)|Semaphore]] oder [[Shared Memory]]) und [[Interprozesskommunikation]] kümmern. Die Programmierung auf Betriebssystemebene ist dadurch umständlich und fehleranfällig.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz dazu bevorzugen Applikationsentwickler Schnittstellen, die schnell, fehlertolerant und leicht zu verwenden sind. Bei Applikationsprogrammierern steht die Funktionalität im Vordergrund, während ein Systemprogrammierer Aspekte wie Effizienz und Robustheit besonders berücksichtigen muss. Alle Hochsprachen kapseln die Funktionen der Systemprogrammierung, was eine effektive [[Anwendungsprogrammierer|Anwendungsprogrammierung]] mit hohem [[Abstraktion]]sgrad ermöglicht, jedoch im Bereich der systemnahen Programmierung nicht zielführend ist.&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Beispiel für systemnahe Anwendungen sind [[Datenbankmanagementsystem]]e. Datenbanken benötigen einen sehr schnellen Zugriff auf Hardwareressourcen. Der Umweg über die Entwicklungs-[[Application Programming Interface|APIs]] ist dabei nicht nur ein zusätzlicher Kostenfaktor. Solche APIs sind für die Bedürfnisse bestimmter Applikationen auch ungeeignet. Implementierungen von Datenbanken bevorzugen daher, selbst direkt mit dem System zu kommunizieren.&lt;br /&gt;
&lt;br /&gt;
Systemprogrammierung wird häufig in Sprachen wie [[C (Programmiersprache)|C]], [[C++]] oder [[Assemblersprache|Assembler]] durchgeführt. Hochsprachen wie [[Pascal (Programmiersprache)|Pascal]] führen häufig zu großen und wenig effizienten Programmen, die für die systemnahe Programmierung ungeeignet sind. Ausnahmen bilden hier einige [[Eingebettetes System|eingebettete Systeme]], die direkt in [[Java (Programmiersprache)|Java]] programmiert werden können. [[C (Programmiersprache)|C]] ist zwar selbst auch eine Hochsprache, bietet aber die Möglichkeit, Assembler-Befehle über Inline-Assembler direkt ins Hochsprachenprogramm einzubinden und z.&amp;amp;nbsp;B. [[Variable (Programmierung)|Variablen]] direkt mit ihren symbolischen Namen abzufragen, die sonst umständlich über den [[Stapelspeicher]] übergeben werden müssten.&lt;br /&gt;
&lt;br /&gt;
== Systemprogrammierer ==&lt;br /&gt;
Systemprogrammierer sind [[Programmierer]], die [[Systemsoftware]] entwickeln und warten. Dies geschieht zumeist im kommerziellen Rahmen.&lt;br /&gt;
&lt;br /&gt;
Im [[Informatikstudium]] werden an vielen Universitäten die Inhalte der Systemprogrammierung gelehrt. Dies umfasst die Grundkenntnisse der maschinennahen Programmierung und des Aufbaus und der Funktionsweise von Betriebssystemen. Auch in der Ausbildung zum IT-Fachinformatiker und in ausgewählten Berufsfachschulen werden Systemprogrammierer im Rahmen der dualen Ausbildung ausgebildet.&lt;br /&gt;
&lt;br /&gt;
Je nach Typ des Unternehmens haben Systemprogrammierer unterschiedliche Aufgaben:&lt;br /&gt;
* Setzt das Unternehmen gekaufte Software (z.&amp;amp;nbsp;B. von einem [[Softwarehersteller]]) ein, hat der Systemprogrammierer die Aufgabe, die gekaufte Software so zu erweitern, zu verändern bzw. zu konfigurieren (&amp;#039;&amp;#039;[[Customizing]]&amp;#039;&amp;#039;), dass die Funktion der Software im Unternehmen eingesetzt werden kann.&lt;br /&gt;
* Ist das Unternehmen ein Softwarehersteller, der Systemprogramme verkauft, oder ein Hardwarehersteller, der seine Geräte mit spezieller Systemsoftware ausliefert, hat der Systemprogrammierer die Aufgabe, die Systemprogramme zu entwickeln.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zum [[Anwendungsprogrammierer]] muss ein Systemprogrammierer fundierte Kenntnisse über die internen Abläufe innerhalb des Systems haben. Hierzu gehören unter anderem die Themen Prozessverwaltung und -synchronisierung, Speicherverwaltung, [[Semaphor (Informatik)|Semaphore]], Dateisysteme, Eingabe- und Ausgabekanäle, Rechteverwaltung und Netzwerktechnik. Da Systemprogramme in vielen Fällen nicht über eine [[GUI]] verfügen, muss auf Betriebssicherheit und Fehlertoleranz besonders geachtet werden.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Systemprogrammiersprache]]&lt;br /&gt;
* [[Programmierung]]&lt;br /&gt;
* [[Anwendungsprogrammierer]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* [[Andrew S. Tanenbaum]]: &amp;#039;&amp;#039;Moderne Betriebssysteme&amp;#039;&amp;#039;. Pearson Studium, &amp;#039;&amp;#039;3., aktualisierte Auflage&amp;#039;&amp;#039;, ISBN 978-3-8273-7342-7&lt;br /&gt;
&lt;br /&gt;
* E. Ehses, L. Köhler, P. Riemer, H. Stenzel, F Victor: &amp;#039;&amp;#039;Systemprogrammierung in UNIX / Linux.&amp;#039;&amp;#039; Springer Verlag, 2012, ISBN 978-3-8348-8277-6.&lt;br /&gt;
&lt;br /&gt;
* Helmut Weber: &amp;#039;&amp;#039;Praktische Systemprogrammierung: Grundlagen und Realisierung unter UNIX und verwandten Systemen.&amp;#039;&amp;#039; Springer-Verlag, 2013, ISBN 978-3-663-05800-7.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Wiktionary|Systemprogrammierer}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:Betriebssystem]]&lt;br /&gt;
[[Kategorie:Software (Thema)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Smartcom5</name></author>
	</entry>
</feed>