Im Falle eines Uniprozessors deaktivieren wir Interrupts vor dem Ausführen einer Lock-Operation (Lock acquire, Lock release), um den Kontext zu verhin- dern und nach der Operation wieder zu aktivieren.Verstehen von Problemen mit atomaren Lock-Operationen bei Multiprozessoren
Aber im Fall von Multi-Prozessor-CPU reicht es nicht aus, nur Interrupts zu deaktivieren, um die Lock-Operationen atomar zu machen.
Ich lese von einer Quelle, die, "Es passiert, da jeder Prozessor einen Cache hat, und sie können in den gleichen Speicher schreiben, auch wenn die Interrupts deaktiviert sind."
Q1. Warum ist das bei atomaren Sperren überhaupt wichtig?
Q2. Welche anderen Probleme ergeben sich bei der Implementierung von Sperrvorgängen in einer Umgebung mit mehreren Prozessoren, bei denen nur die Interrupts deaktiviert werden?