L4 Mikrokernfamilie

L4 ist eine Familie von Mikrokernen der zweiten Generation, allgemein verwendet, um Unix ähnliche Betriebssysteme, sondern auch verwendet in einer Vielfalt anderer Systeme durchzuführen.

L4 war eine Antwort auf die schlechte Leistung der früheren Mikrokernbasis Betriebssysteme. Deutscher Computerwissenschaftler Jochen Liedtke hat gefunden, dass ein System, das vom Anfang für die hohe Leistung, aber nicht den anderen Absichten entworfen ist, einen Mikrokern des praktischen Gebrauches erzeugen konnte. Seine ursprüngliche Durchführung in handcodiertem Intel i386-spezifischer Zusammenbau-Sprachcode hat vom intensiven Interesse an der Computerindustrie Funken gesprüht. Seit seiner Einführung ist L4 für die Hardwarebasisunabhängigkeit und auch in der sich verbessernden Sicherheit, Isolierung und Robustheit entwickelt worden.

Es hat verschiedene Wiederdurchführungen der ursprünglichen binären L4 Kernschnittstelle (ABI) und seiner höheren Niveau-Nachfolger einschließlich L4Ka gegeben:: Pistazie (Uni Karlsruhe), L4/MIPS (UNSW) und Misserfolg (TU Dresden). Deshalb ist der Name L4 verallgemeinert worden, und bezieht sich nicht mehr nur auf die ursprüngliche Durchführung von Liedtke. Es gilt jetzt für die ganze Mikrokernfamilie einschließlich der L4 Kernschnittstelle und seiner verschiedenen Versionen.

L4 wird weit verwendet; öffnen Sie Sich Kernlaboratorien fordert Aufstellung von einer Milliarde L4 Kernen.

Designparadigma

Die allgemeine Idee von einem Mikrokern angebend, setzt Liedtke fest:

In diesem Sinne stellt der L4 Mikrokern nur die vier grundlegenden Mechanismen zur Verfügung: Adressräume, Fäden, Terminplanung und gleichzeitige Zwischenprozess-Kommunikation.

Ein Betriebssystem, das auf einem Mikrokern wie L4 gestützt ist, muss Dienstleistungen als Server im Benutzerraum zur Verfügung stellen, den monolithische Kerne wie Linux oder ältere Generationsmikrokerne innerlich einschließen. Zum Beispiel, um ein sicheres Unix ähnliches System durchzuführen, werden Server das Recht-Management zur Verfügung stellen müssen, das Mach innerhalb des Kerns eingeschlossen hat.

Geschichte

Die Verwirklichung von Nachteilen im Design und der Leistung des Mach-Mikrokerns der ersten Generation hat mehrere Entwickler dazu gebracht, das komplette Mikrokernkonzept Mitte der 1990er Jahre nochmals zu prüfen. Die asynchrone Prozess-Kommunikation "im Kern, der" im Mach verwendetes Konzept puffert, hat sich erwiesen, einer der Hauptgründe für seine schlechte Leistung zu sein. Das hat Entwickler von Mach-basierten Betriebssystemen veranlasst, einige zeitkritische Bestandteile, wie Dateisysteme oder Fahrer zurück innerhalb des Kerns zu bewegen. Während das etwas die Leistungsprobleme verbessert hat, verletzt es einfach das minimality Konzept eines wahren Mikrokerns (und verschwendet ihre Hauptvorteile).

Die ausführliche Analyse des Mach-Engpasses hat angezeigt, dass, unter anderem, sein Arbeitssatz zu groß ist: Der IPC-Code drückt schlechte Raumgegend aus; d. h. es läuft auf zu vieles geheimes Lager Fräulein hinaus, von denen die meisten in dem Kern sind. Diese Analyse hat den Grundsatz verursacht, dass ein effizienter Mikrokern solcher klein genug sein sollte, baut die Mehrheit des gegenüber der Leistung kritischen Codes das geheime Lager (vorzugsweise ein kleiner Bruchteil des gesagten geheimen Lagers) ein.

L3

Jochen Liedtke hat begonnen zu beweisen, dass eine gut bestimmte dünnere IPC Schicht, mit der sorgfältigen Aufmerksamkeit auf die Leistung und maschinenspezifisch (im Vergleich mit der Plattform unabhängig) Design massive wirkliche Leistungsverbesserungen nachgeben konnte. Statt des IPC komplizierten Systems des Machs hat sein L3 Mikrokern einfach die Nachricht ohne irgendwelchen zusätzlich oben passiert. Wie man betrachtete, waren das Definieren und das Einführen der erforderlichen Sicherheitspolicen Aufgaben der Benutzerraumserver. Die Rolle des Kerns war nur, um den notwendigen Mechanismus zur Verfügung zu stellen, den Benutzerniveau-Servern zu ermöglichen, die Policen geltend zu machen. L3 hat sich ein sicheres und robustes Betriebssystem, verwendet viele Jahre lang zum Beispiel durch TÜV SÜD bewährt.

L4

Nach etwas Erfahrung mit L3 ist Liedtke zum Beschluss gekommen, dass mehrere andere Mach-Konzepte auch verlegt wurden. Indem er die Mikrokernkonzepte noch weiter vereinfacht hat, hat er den ersten L4 Kern entwickelt, der in erster Linie mit der hohen Leistung im Sinn entworfen wurde. Um jedes Bit der Leistung auszuwringen, wurde der komplette Kern auf der Zusammenbau-Sprache geschrieben. Seine Arbeit hat eine geringe Revolution in Betriebssystemdesignkreisen verursacht. Bald wurde es von mehreren Universitäten und Forschungsinstituten einschließlich IBM studiert, wo Liedtke angefangen hat, 1996 zu arbeiten. Am Forschungszentrum von Thomas J. Watson von IBM haben Liedtke und seine Kollegen Forschung über L4 fortgesetzt, und Mikrokern hat Systeme im Allgemeinen gestützt.

L4Ka:: Haselnuss

1999 hat Liedtke Systems Architecture Group an der Universität Karlsruhes übernommen, wo er die Forschung in Mikrokernsysteme fortgesetzt hat. Weil ein Beweis des Konzepts, dass ein hoher Leistungsmikrokern auch auf einer höheren Niveau-Sprache, die Gruppe gebaut werden konnte, L4Ka entwickelt hat:: Haselnuss, ein C ++ Version des Kerns, der auf ia32- und Arm-basierten Maschinen gelaufen ist. Die Anstrengung war ein Erfolg — Leistung war noch annehmbar — und mit seiner Ausgabe wurden die reinen Zusammenbau-Sprachversionen der Kerne effektiv unterbrochen.

L4/Fiasco

In der Parallele zur Entwicklung von L4Ka:: Haselnuss 1998 Operating Systems Group hat TUD:OS des TU Dresdens (Dresdener Universität der Technologie) angefangen, ihren eigenen C ++ Durchführung der L4 Kernschnittstelle, genannt L4/Fiasco zu entwickeln. Im Gegensatz zu L4Ka:: Haselnuss, die Parallelität im Kern überhaupt und seinem Nachfolger L4Ka nicht erlaubt:: Pistazie, die Unterbrechungen im Kern nur an spezifischen Vorkaufsrecht-Punkten, L4/Fiasco erlaubt, ist völlig preemptible (mit Ausnahme von äußerst kurzen Atomoperationen), um eine niedrige Unterbrechungslatenz zu erreichen. Das wurde notwendig betrachtet, weil L4/Fiasco als die Basis von FÄLLEN, einem harten fähigen Echtzeitbetriebssystem verwendet wird, das auch am TU Dresden entwickelt ist.

Hardwarebasisunabhängigkeit

L4Ka:: Pistazie

Herauf bis die Ausgabe von L4Ka:: Pistazie und neuere Versionen des Misserfolgs, alle L4 Mikrokerne waren in der Nähe von der zu Grunde liegenden Zentraleinheitsarchitektur von Natur aus gebunden worden. Die folgende große Verschiebung in der L4 Entwicklung war die Entwicklung einer Plattform unabhängige API, die noch die hohen Leistungseigenschaften trotz seines höheren Niveaus der Beweglichkeit behalten hat. Obwohl die zu Grunde liegenden Konzepte des Kerns dasselbe waren, hat die neue API viele radikale Änderungen zu vorherigen L4 Versionen, einschließlich der besseren Unterstützung für Mehrverarbeiter-Systeme, loseren Bande zwischen Fäden und Adressräumen und der Einführung von Benutzerniveau-Faden-Kontrollblöcken (UTCBs) und virtuellen Registern zur Verfügung gestellt. Nach der Ausgabe der neuen L4 API (Version X.2 a.k.a. Version 4) Anfang 2001 hat System Architecture Group an der Universität Karlsruhes einen neuen Kern, L4Ka durchgeführt:: Pistazie, völlig von Kratzer, jetzt damit konzentriert sich auf beide hohe Leistung sowie Beweglichkeit. Es wurde laut der Zwei-Klauseln-BSD-Lizenz veröffentlicht.

Neuere Misserfolg-Versionen

Der L4/Fiasco Mikrokern ist auch im Laufe der Jahre umfassend verbessert worden. Es unterstützt jetzt mehrere Hardware-Plattformen im Intervall von x86 durch AMD64 zu mehreren ARM-Plattformen. Namentlich ist eine Version des Misserfolgs (FiascoUX) im Stande, als eine Benutzerniveau-Anwendung oben auf Linux zu laufen.

L4/Fiasco führt mehrere Erweiterungen auf die L4v2 API durch. Ausnahme IPC ermöglicht dem Kern, Zentraleinheitsausnahmen an Benutzerniveau-Dressierer-Anwendungen zu senden. Mit der Hilfe von ausländischen Fäden ist es möglich, feinkörnige Kontrolle über Systemanrufe durchzuführen. X.2-artige UTCBs sind hinzugefügt worden. Außerdem enthält Misserfolg Mechanismen, um Nachrichtenrechte sowie Kernniveau-Quellenverbrauch zu kontrollieren. Oben auf dem Misserfolg wird eine Sammlung von grundlegenden Benutzerniveau-Dienstleistungen entwickelt (hat L4Env genannt), die unter anderen an die para-virtualise aktuelle Version (2.6.x) von Linux gewöhnt sind (hat L4Linux genannt).

Universität von New South Wales und NICTA

Entwicklung hat auch an der Universität von New South Wales (UNSW) stattgefunden, wo Entwickler L4 auf mehreren 64-Bit-Plattformen durchgeführt haben. Ihre Arbeit ist auf L4/MIPS und L4/Alpha hinausgelaufen, auf die ursprüngliche Version von Liedtke hinauslaufend, die L4/x86 rückwirkend wird nennt. Wie die ursprünglichen Kerne von Liedtke waren die UNSW Kerne (geschrieben in einer Mischung des Zusammenbaues und C) untragbar und jeder, der von Kratzer durchgeführt ist. Mit der Ausgabe des hoch tragbaren L4Ka:: Pistazie, die UNSW Gruppe hat ihre eigenen Kerne zu Gunsten vom Produzieren von hoch abgestimmten Häfen von L4Ka aufgegeben:: Pistazie, einschließlich der schnellsten jemals berichteten Durchführung des Nachrichtenübergangs (36 Zyklen auf der Architektur von Itanium). Die Gruppe hat auch demonstriert, dass Benutzerniveau-Gerät-Fahrer sowie Fahrer im Kern leisten können, und Wombat, eine hoch tragbare Version von Linux auf L4 entwickelt haben, der auf x86, ARM und MIPS Verarbeitern läuft. Auf XScale Verarbeitern demonstriert Wombat Zusammenhang schaltende Kosten, die bis zu 30mal niedriger sind als im Eingeborenen Linux.

Später hat die UNSW Gruppe, an ihrem neuen Haus an NICTA, L4Ka gegabelt:: Pistazie in eine neue L4 Version genannt NICTA:: L4-embedded. Da der Name einbezieht, wurde das auf den Gebrauch in kommerziellen eingebetteten Systemen gerichtet, und folglich haben die Durchführungsumtausche kleine Speicherfußabdrücke bevorzugt und haben zum Ziel gehabt, Kompliziertheit zu reduzieren. Die API wurde modifiziert, um fast alle Systemanrufe kurz genug zu halten, so verlangen sie Vorkaufsrecht-Punkte nicht, um hohe Echtzeitansprechbarkeit zu sichern.

Aktuelle Forschung und Entwicklung

Die NICTA Gruppe konzentriert sich jetzt auf den Gebrauch von L4 als die Basis für

hoch sichere und zuverlässige Systeme. Am Kern dieser Annäherung ist ein

neuer L4 Kern, genannt seL4, hat darauf gezielt, Sicherheitsvoraussetzungen wie diejenigen von Allgemeinen Kriterien zu befriedigen. Die seL4 API wird durch eine rechtskräftige in Haskell geschriebene Spezifizierung vertreten.

seL4 ist ein der dritten Generation Mikrokern, der eine neuartige Annäherung an das Kernquellenmanagement bringt, das Management von Kernmitteln dem Benutzer exportierend

Niveau und unterwirft sie demselben

Fähigkeitsbasierte Zugriffskontrolle als Benutzermittel.

Es ist formell nachgeprüft worden, was bedeutet, dass es einen (maschinenkarierten) mathematischen gibt

Beweis, dass die Durchführung mit dem im Einklang stehend

ist

Spezifizierung. Das stellt eine Garantie zur Verfügung, dass der Kern frei von ist

Durchführungsprogrammfehler wie tote Punkte, livelocks, Pufferüberschwemmungen,

arithmetische Ausnahmen oder Gebrauch von uninitialisierten Variablen. seL4 ist

behauptet, der allererste Mehrzweckbetriebssystem-Kern zu sein

das ist nachgeprüft worden.

Die NICTA Gruppe entwickelt auch Fachwerk, um componentised Systeme oben auf L4 zu bauen.

Osker, ein in Haskell geschriebener OS, hat die L4 Spezifizierung ins Visier genommen; obwohl sich dieses Projekt auf den Gebrauch einer funktionellen Programmiersprache für die OS Entwicklung konzentriert hat, nicht auf der Mikrokernforschung per se.

Codezero, ein GPL L4 Mikrokern, der eingebettete Systeme ins Visier nimmt, ist auch unter der Entwicklung, mit einem Fokus auf der Virtualisierung und Durchführung von heimischen OS Dienstleistungen.

Operating Systems Group TUD:OS des TU Dresdens entwickelt die dritte Generation das mikrokernbasierte Funktionieren

Systeme. Der Bestandteil hat Benutzerniveau-Umgebung L4Re gestützt

und der Mikrokernmisserfolg. OC sowie der NOVA microhypervisor zusammen mit seiner Benutzerniveau-Umgebung sind NUL die Ergebnisse dieser andauernden Forschung.

Misserfolg. OC ist ein dritter Generationsmikrokern, der von seinem Vorgänger L4/Fiasco entwickelt hat. Misserfolg. OC ist Fähigkeit gestützt, Unterstützungen

Mehrkernsysteme und Hardware haben Virtualisierung geholfen. Die völlig neu entworfene Benutzerland-Umgebung, die oben auf dem Misserfolg läuft. OC wird L4 Laufzeitumgebung (L4Re) genannt. Es stellt das Fachwerk zur Verfügung, um Mehrteilsysteme, einschließlich eines Nachrichtenfachwerks des Kunden/Servers, allgemeiner Dienstfunktionalität, einer virtuellen Dateisystem-Infrastruktur und populärer Bibliotheken wie eine C Bibliothek, libstdc ++ und pthreads zu bauen.

Die Plattform bietet auch L4Linux, die Mehrarchitektur virtualized System von Linux an. L4Re und Misserfolg. OC, die auf x86 (IA32 und AMD64), ARM und PowerPC (WiP) geführt sind, und ersetzen das vorherige System mit L4Env und L4/Fiasco.

Die Architektur von NOVA OS Virtualization ist ein Forschungsprojekt damit konzentrieren sich darauf, eine sichere und effiziente Virtualisierungsumgebung zu bauen

mit einer kleinen vertrauten Rechenbasis. NOVA besteht aus einem microhypervisor, einem Benutzerniveau-Monitor der virtuellen Maschine, und eine benachteiligte componentised Mehrserver-Benutzerumgebung, die obendrein läuft, hat NUL genannt. NOVA läuft auf mit Sitz in x86 Mehrkernsystemen.

Kommerzielle Aufstellung

Im November 2005 hat NICTA bekannt gegeben, dass Qualcomm die L4 Version von NICTA auf ihrem Beweglichen Stationsmodem chipsets einsetzte. Das hat zum Gebrauch von L4 in von Ende 2006 verkäuflichen Mobiltelefonhörern geführt. Im August 2006 haben ERTOS Führer und der UNSW Professor Gernot Heiser eine Gesellschaft genannt Offene Kernlaboratorien (OK, Laboratorien) in die Länge gezogen, um kommerzielle L4 Benutzer zu unterstützen und weiter L4 für den kommerziellen Gebrauch in der nahen Kollaboration mit NICTA zu entwickeln. OK, verteilen Laboratorien seine eigene Version von L4, genannt OKL4, der von NICTA hinuntergestiegen wird:: L4-embedded, und wird für x86, ARM und MIPS unterstützt. OKL4 wurde laut einer BSD-Lizenz am Anfang verteilt. Neue Ausgaben verwenden ein Doppelgenehmigen-Schema mit einer Sleepycat-artigen Lizenz der offenen Quelle. OK, verteilen Laboratorien auch einen para-virtualized Linux genannt OK:Linux, einen Nachkommen des Wombats, ebenso paravirtualized Versionen von SymbianOS, Androiden und Windows.

Im April 2008, OK, haben Laboratorien OKL4 2.1 veröffentlicht, der die erste öffentliche Version von L4 mit dem Fähigkeitsbasierten Schutz ist. OKL4 3.0 wurde im Oktober 2008 veröffentlicht.

Weiterführende Literatur

Außenverbindungen


Amai-te-rangi / Ao (Mythologie)
Impressum & Datenschutz