2008-10-05 16 views

Antwort

23

Exokernel ist ein Betriebssystem vom MIT (und eine Klasse von ihm Varianten), die relativ wenig Abstraktion Hardware behandelt. In exokannel, sind die Low-Level-Verantwortlichkeiten der Steuerung von Hardware (insbesondere Speicherzuweisung) oft in den Händen des Entwicklers überlassen. Viele Entwickler würden wahrscheinlich bevorzugen, dass das Betriebssystem mehr Verantwortung für solche Aufgaben auf niedriger Ebene übernimmt, da die meisten Entwickler nur Anwendungen schreiben.

Ein exokensel nur weist den Programmen physikalische Hardwareressourcen zu. Dies ermöglicht es dem Programm, Bibliothek-Betriebssysteme zu verwenden, die miteinander verbunden sind, um einen Teil der Abstraktion bereitzustellen, die der Exokasener nicht bereitstellt. Der Entwickler kann dann zwischen Abstraktionsmodellen wählen oder selbst rollen. In Anbetracht der Anwendung kann dies große Leistungsvorteile haben. Wenn Sie nicht wissen, was Sie tun, können Sie auch Programme schreiben, die bei einem Absturz explodieren.

Die meisten Kerne werden mehr tun, um abstrakte physische Hardware Ressourcen in eine Art theoretisches Modell. Ein Entwickler verbindet sich mit diesem Modell, das die Feinheiten des internen Umgangs mit Hardware behandelt.

Der Begriff nanokernel wird verwendet, um eine spezifische Art von Kernel zu beschreiben. Das Präfix "pico-" oder "nano-", "micro-" bezeichnet normalerweise die "Größe" des Kernels. Größere Kernel sind mehr mit mehr Funktionen gebaut, und handhaben mehr Hardware-Abstraktion. Nanokerne sind relativ kleine Kernel, die bieten Hardware-Abstraktion, aber fehlen Systemdienste. Moderne Mikrokerne haben auch keine Systemdienste, daher sind die Begriffe analog geworden.

Die Namen von Kernel in der Regel aus einer bestimmten Charge von Forschung stammen, die eine neue Art von Kernel ergab, zum Beispiel der Kernel an entwickelt an der Carnegie Mellon „Mach“, die ein modernes eines der ersten Beispiele für war "Mikrokernel".

Nebennote: Der echte Vorteil von exokernel ist die Wahl. Meistens bedeutet viel Abstraktion weniger katastrophale Fehler. In einigen Anwendungen möchten Sie möglicherweise ein anderes Abstraktionsmodell verwenden oder Sie möchten alles selbst behandeln. Wenn wir die Betriebssystemabstraktion für ein bestimmtes Projekt verschrotten wollten, mussten wir das Betriebssystem ausschneiden und eine Hardware an den Job binden. Im Falle von Exokernel ist dies nicht notwendig. Wir können direkt "zum Metall" programmieren, aber auch, wann immer wir wollen, in ein Abstraktionsmodell einbinden. Es ist ein sehr mächtiges Konzept.

Sidenote: Der Umgang mit Speicher auf solch einem niedrigen Niveau ist für die meisten Anwendungsentwickler unnötig. Es gibt normalerweise mehrere Betriebssystemschichten, die auf einem Kernel basieren, und Ihre Anwendung wird auf der höchsten Ebene des Betriebssystems ausgeführt. Wenn Sie in Javascript schreiben, sind Sie noch höher und können mit einem Modell interagieren, das in einer Anwendung implementiert ist, die auf einem Betriebssystem läuft, usw. Die Adressierung von Speicher kann, obwohl sie nicht ignoriert werden sollte, etwas völlig anderes als ein Entwickler bedeuten Wer schreibt auf so hohem Abstraktionsniveau.

Verwandte Themen