Betriebssystemkern
Aus Tuxfutter
Der Betriebssystemkern, auch kurz Systemkern, Kern oder (englisch) Kernel genannt, ist der zentrale Bestandteil eines Betriebssystems. Er stellt die Verbindung zwischen Anwenderprogrammen – im sogenannten Nutzerraum (englisch userspace oder userland) – und der Hardware – im sogenannten Kernraum (englisch Kernelspace) – her, verwaltet die Systemressourcen (wie z.B. den Hauptspeicher, Festplatten, Drucker usw.) und bietet dazu sogenannte Gerätetreiber sowie Dienstprogramme an.
Geladen wird ein Systemkern von einem sogenannten „Urlader“ (englisch „bootloader“). Dies ist bei Linux entweder LILO oder GRUB und bei Windows-NT-Systemen das Programm NTLDR.
Inhaltsverzeichnis |
[Bearbeiten] Aufgaben
Der Systemkern hat die Aufgabe, eine Schnittstelle zwischen der Hardware (sowie dem BIOS) und der (Anwendungs-)Software – auch dem Nutzerraum (englisch userspace) genannt – zu bilden. Als Nutzerraum wird dabei alles bezeichnet, was nicht direkt zum Systemkern gehört. Der Vorteil dieser Trennung, zwischen Hard- und Software ist, dass die Programme nichts über die Hardware wissen müssen, auf welcher diese ausgeführt werden. Würde es diese Trennung nicht geben, müssten alle Programme entweder die BIOS-Funktionen verwenden, oder direkt die Hardware ansprechen, wie das beispielsweise bei früheren DOS-Programmen üblich und nötig war. Zudem wäre ohne eine derartige Trennung auch das quasi gleichzeitige Ausführen von mehr als einem Programm (auch englisch Multitasking genannt) nicht möglich.
[Bearbeiten] Linux
Der Quelltext von Linux ist frei verfügbar, so dass dieser den eigenen Bedürfnissen angepasst werden kann und darf. Er besteht aus rund 1.8 Millionen Zeilen (dazu gehören auch die in der Hauptlinie enthaltenen Treiber), die in C und (zum kleinen Teil) in Assembler geschrieben sind. Fertig in Maschinensprache übersetzt hat der Kern – je nach Version, Konfiguration und Zielplattform – eine Größe zwischen 800 Kilo- und etwa 1,5 Megabyte und pass so im Normalfall noch auf eine einzelne Floppy-Diskette (im 1.44-MB-Format).
Der Name der übersetzten Datei kann frei gewählt werden, in der Regel heisst die Datei aber „vmlinuz“ und ist im Verzeichnis /boot zu finden.
Während des laufenden Betriebes können zusätzliche Module (meist Treiber) hinzu- und wieder entladen werden, sofern sie nicht fest mitübersetzt wurden. Das Laden kann entweder automatisch (wenn eine bestimmte Funktionalität benötigt wird) oder manuell durch den Administrator (root) erfolgen.
[Bearbeiten] Windows
Der Quelltext vom Windows-Systemkern gehört mit zu den bestgehüteten Geheimnissen von Microsoft und ist daher auch nicht frei verfügbar. Der Quelltext wird in Teilen nur ausgewählten Entwicklungsunternehmen, mit entsprechenden Vertragsklauseln, zur Verfügung gestellt. Trotz aller Schutzmaßnahmen ist es jedoch bereits durch eine Panne zu einer Veröffentlichung von Teilen des Quelltextes von Windows 2000 im Internet gekommen. Zwar war der Kode, der ebenfalls wie Linux in der Sprache C geschrieben ist, hoffnungslos veraltet, jedoch offenbarte dieser faszinierende Einblicke in Windows. Findige Programmierer haben in dem Kode auch Fehler gefunden, die teilweise auch Jahre später noch nicht entfernt wurden. Außerdem fiel auf, dass der gesamte Kode sehr ordentlich srukturiert (ordentlicher als z.B. Linux) und außergewöhnlich groß ist.
Allerdings existiert auch das ReactOS-Projekt, bei dem Windows NT unter der GPL nachentwickelt wird.
[Bearbeiten] Weitere Betriebssystemkerne
Weitere bekannte Betriebssystemkerne:
[Bearbeiten] Weblinks
- Betriebssystemkern – Artikel bei der Wikipedia
- Linux (Kernel) – Artikel bei der Wikipedia
- The Linux Kernel Archives (englisch) – offizielle Webseite

