|
class | Spinlock |
| Mit Hilfe eines Spinlocks kann man Codeabschnitte serialisieren die echt nebenläufig auf mehreren CPUs laufen. Mehr ...
|
|
|
static void | CPU::enable_int () |
| Erlauben von (Hardware-)InterruptsLässt die Unterbrechungsbehandlung zu, indem die Assembleranweisung sti ausgeführt wird.
|
|
static bool | CPU::disable_int () |
| Interrupts werden ignoriert/verbotenVerhindert eine Reaktion auf Unterbrechungen, indem die Assembleranweisung cli ausgeführt wird. Der Rückgabewert gibt an ob Unterbrechungen schon gesperrt waren. Mehr ...
|
|
Im Synchronisationsmodul sind die Funktionalitäten implementiert, die benötigt werden um mehrere Prozessoren und Aktivitäten miteinander in Einklang zu bringen. Dies bezieht sich insbesondere darauf, wenn mehrere Teilnehmer auf eine Ressource zugreifen wollen. Dabei können die Teilnehmer auf der gleichen CPU oder unterschiedlichen Prozessoren laufen.
◆ disable_int()
static bool CPU::disable_int |
( |
| ) |
|
|
inlinestatic |
Interrupts werden ignoriert/verbotenVerhindert eine Reaktion auf Unterbrechungen, indem die Assembleranweisung cli ausgeführt wird. Der Rückgabewert gibt an ob Unterbrechungen schon gesperrt waren.
- Rückgabe
- true wenn die Unterbrechungen zum Zeitpunkt des aufrufs frei waren, false wenn sie schon gesperrt waren.