L4
L4-Nachrichtentypen
(nach Stubcode Performance Papier Uni Karlsruhe)
- Register Messages
- kleine Anzahl von 32 bit-Worten (i86: 3) über Register übergeben. Kosten: 180 CPU-Zyklen
- Memory Messages
- lange Nachrichten (bis 2 MB)werden zwichen Adressräumen kopiert (kern muß z.B. temporäress Mappling organisieren).
- Indirekte Strings
- vermeidet kopieren, bis 31 in einer Memory-Message möglich
Scather/gather-Technik möglich
- Map-Messages
- Speicherabbildung
Ermöglicht UserLevel Pagers und Hauptspeicherveraltung auf dem Microkernel.
Damit können auch Kommunikationsmittel shared memory-Regions gebaut werden.
Design
(L4 Usermanual Uni South Wales S.6)
- L4 IPC ist synchron und ungepuffert - Rendezvous
- Die Synchrone IPC bedarf einer Übereinkunft zwischen Sender und Empfänger
und ist blockierend.
Der Empfänger stellt die notwendigen Puffer.
Die ungepufferte IPC vermeidet das Kopieren der Daten und ist so der Schlüssel zu hoher Leistung.
- Kommunikationsentpunkte
- [ElphinstoneHeiser2013]: Die ThreadIDs als Adressen wurden ab 2003 durch einen port-Artigen IPC-Endpunkt (Kernobjekt) für das Ziel der Nachrichten ersetzt:
Die ThreadIDs bieten keine Abstraktion (Information hiding) an,
- Long messages wurden laut [ElphinstoneHeiser2013] abgeschafft
- Assynchrone Benachrichtungen wurden laut [ElphinstoneHeiser2013] eingeführt
Schnittstellenbeschreibung
Wie bei CORBA können die Stubs und Adapter aus einer IDL-Sprache generiert werden.
siehe DICE - Dresdner Idl CompilEr
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber