- ...
stattfinden2.1
- Diese Annahmen gelten in Uniprozessor-Systemen ohne Beachtung von
Interferenz mit Hardwareereignissen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... Kanäle2.2
- Es sind eigentlich 8 DMA Kanäle, aber Kanal 4 wird ähnlich dem Prinzip der
kaskadierten PICs verwendet, um Aktivitäten am Slave-Controller zu
indizieren.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... wurden2.3
- Die Bearbeitung des Ereignisses wird vom Interrupt-Handler, der sog.
Linux-Top-Half, unter Nutzung des Kernstacks des aktiven Prozesses
durchgeführt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...(un)interruptible2.4
- interruptible bedeutet hier blockiert aber durch Signale
unterbrechbar; uninterruptible ist auch ein Blockierungszustand,
aber meist an einer E/A-Operation und deshalb nicht durch Signale
unterbrechbar.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... oft2.5
- Es ist geräte- bzw. gerätetreiberabhängig ob weitere Unterbrechungen während
der Bearbeitung zugelassen werden (SA_INTERRUPT Flag).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... werden2.6
- Unterbrechungen derselben Quelle können aber nicht auftreten, da diese
maskiert ist.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... aufgerufen2.7
- In [BC01] S.127: Notice that the kernel cannot break
the loop [that executes all ISRs] as soon as one ISR has claimed
the interrupt because another device on the same IRQ line might need to be
serviced. (ISR = Interrupt Service Routine)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... können3.1
- Diese allgemeine Annahme kann durch bestimmte Konfigurationen überwunden
werden (Abschnitt 2.1: Colocation).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... activities3.2
- Unter SMP-Fiasco würde es sich möglicherweise anbieten, mehrere Threads
zu verwenden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
Speicherallokationen3.3
- Im Linuxkern baut selbst das einfache kmalloc() auf Slabs der Größen
32, 64, 128 usw. Bytes auf. Dies wurde hier nicht übernommen, um die
Slab-Implementierung in eine eigene Spezial-Bibliothek auslagern zu können.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... Anforderungen3.4
- Eine Anforderung ist natürlich, daß der Manager ein Dataspace-Manager
für Speicher ist, der bei dieser Darstellung ein 1:1 Mapping physischen
Speichers in seinem Adreßraum hält.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... wird3.5
- Es wird hier (selten) das yield Flag gesetzt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
bestätigt3.6
- Bei der Unterstützung von shared interrupts ist das Verhalten etwas
anders. Diese Funktionalität wird aber bisher noch nicht vom DDE unterstützt.
Der Grund dafür ist, daß bisher keine Einigung über eine einheitliche Methode
zum Umgang mit shared interrupts in der L4 Umgebung getroffen wurde.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...A-Port-Adreßraum4.1
- Dieser Mechanismus (IO-Flexpages) ist zwar für alle L4 Versionen
vorgesehen, aber bisher noch nicht implementiert worden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
leicht4.2
- Der Quellcode des Omega0-Servers wurde umstrukturiert. Durch die Auslagerung
der Threadinitialisierung in ein eigenes Modul kann nun entweder die
Eigenimplementierung (Original-Server) oder die Threadbibliothek als
Bestandteil von [Reu01] verwendet werden. Weiterhin wurde die
Spezifikation des Servers dahingehend erweitert, daß der
Schnittstellen-Thread nicht zwingend lthread 0 sein muß. Die Änderungen sind
schon Bestandteil des Originalpakets omega0 und stellen somit keinen
selbständigen Patch dar.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... LMM4.3
- list-based memory manager
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
hinreichend4.4
- Eine Änderung in Hinblick auf Softirqs wäre hier nur nötig, wenn der TCP/IP
Protokollstack in der Emulationsumgebung ablaufen soll, da diese Komponente
die einzige ist, welche ebensolche softirqs direkt nutzt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.