|
class | Spinlock |
| Mit Hilfe eines Spinlocks kann man Codeabschnitte serialisieren, die echt nebenläufig auf mehreren CPUs laufen. 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/verboten.
Verhindert 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.
◆ enable_int()
static void CPU::enable_int |
( |
| ) |
|
|
inlinestatic |
Erlauben von (Hardware-)Interrupts.
Lässt die Unterbrechungsbehandlung zu, indem die Assembleranweisung sti ausgeführt wird.