Betriebssystemkerne/Kleinkernsysteme
L4
Links
- L4HQ
- Portal der L4-Community
- L4 TU Dresden
- L4KA (Uni Karlsruhe)
- eigene Kerne mit verschiedenen Schnittstellen, neuere Entwicklung
(performanter vgl L4KA Vison)
Es gibt mehrere Implementierungen:
- L4/x86
- Original Implementierung von Liedke, teilweise hoch optimiert in Assember-Code (aber nicht Echtzeitfähig nach Usenix2001-Paper)
- Fiasco (TU Dresden)
- Neuimplementierung in C++ (Fiasco wegen Lizenzproblemen mit dem in C-implementieren ursprünglichen L4)
Fiasco-Requirements/Spezifikation
- Hazelnut
- (fast ganz C++-Implementierung, GPL)
- L4 Alpha
- auf Alpha-Prozessor
- CodeZero
- C-Implementation für Hypervisors
weitere siehe Uni Dresden
Sekundärliteratur:
Kurzbeschreibung der Unterschiede der APIs und der Kerne
Witz
- Designkriterium Minimalität unter Beachtung der Sicherheit: Ein Mechanismus gehört nur dann in den Microkern, wenn man den Mechanismus aus Sicherheitsgründen unmöglich ausserhalb des Kerns implementieren kann.
- Preemptiver Echtzeitkern, der harte Echtzeitanforderungen erfüllen kann.
- Die Kern-Objekte werden nicht-Blockierend koordiniert. Damit wird "priority-Inheritance" garantiert, was sicher stellt, daß niemals lauffähige hochpriore Prozesse auf weniger wichtige warten müssen.
- Kleiner als Mach, nur vernachlässigbare Leistungseinbußen durch die Adreßraum-Sicherheitsmechanismen, wesentlich weniger als bei Mach.
- Verschiedene Kommunikationsmechanismen
- 10 systemcalls, 20 KB Code
- Nur einen Microkern kann man verifizieren. Dieses wird in dem VFiasco-Projekt gemacht. (Erster Versuch an sich)
L4.Verified ist das Ergebnis
Abstraktionen
Es gibt nur ganz wenige:
- Adressräume (sind die Basis des Schutzes)
-
map, grant, demap
- Threads (Abstraktion der Programmausführung)
- IPC (Zwischen den Adressräumen muß sicher kommuniziert werden)
- Unique Identifiers (UID) (kontextfreie Adressierung bei IPC)
weitere Begriffe:
- Task
- Menge aller Threads, die auf einem Adressraum arbeiten.
Eine Task wird mit einem Thread geschaffen.
- Clan
- Mit dem Clan-Begriff und dem BegriffChief eines Clans kann man Sicherheitsmechanismen
Debugger sowie auch remote ORBs bauen.
Bemerkungen:
aktueller Status
Fiasko.OC:
Aufbauendes
- Single Server Linux
-
L4 wird als weitere Architektur eingeführt
- DROPS
- L4-HURD
- offensichtlich gab es doch einige Probleme, Projekt gestopped 2005
- SawMill-Projekt
- Perseus-OS (Uni Saarbrücken)
- Sicherheit für digitale Signaturen
- Nizza-Sicherheitsarchitektur
- Auch für übliche Anwendungen
Praktische Bemerkungen
Projekte
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber