System-Tick-Timer-Interrupt in SMP

601
Nik Novák

Ist der System-Tick-Timer-Interrupt im SMP-System zwischen CPUs / Kernen synchronisiert? Wenn nicht, wie wird es gelöst? *

Entschuldigung für mein Englisch.

BEARBEITEN: Mit System Tick Timer Interrupt ist der Interrupt vom System Timer gemeint, der vom Betriebssystem verwendet wird. Keine CPU-Frequenztaktquelle.

* Ich interessiere mich für eine typische Lösung dieses / ähnlichen Problems.

0
Kein Problem mit der Sprache, aber welches Problem muss Ihrer Meinung nach gelöst werden? Und von was für einem Multi-CPU-System sprechen Sie? Run CMD vor 8 Jahren 0
Meinen Sie die Kernuhr des Systems (dh die Bustaktuhr) oder sprechen Sie von der "monotonen" Zeit des Systems (dh Ticks seit der Epoche)? Wie auch immer, ja, Daten und Uhren werden zwischen den Kernen synchronisiert. Wie hängt es von der Architektur und vielen anderen Dingen ab. Was haben Sie gerade versucht, herauszufinden? txtechhelp vor 8 Jahren 0
Vielen Dank für Ihre Zeit. Erforderliche Informationen wurden hinzugefügt. Nik Novák vor 8 Jahren 0
Es ist mir immer noch nicht klar, wo Sie dort ein Problem finden. Auf Multicore-Rechnern läuft immer noch nur ein Betriebssystem, und bei Bedarf wird ein zentrales Ressourcenmodell verwaltet. In diesem System befindet sich normalerweise nur eine Uhr. Run CMD vor 8 Jahren 0
Es geht um den Tick-Interrupt des Systems. Es besteht die Frage, ob der Draht von einem externen Zeitgeber, den wir zum Beispiel als Systemzeitgeber auswählen, auf allen Kernen / CPUs gleichzeitig signalisiert wird und jeder Kern / CPU eine Systemzeitgeberroutine ausführt oder dass es einen Zeitgeber pro Kern oder nur einen Kern gibt Führen Sie diese Routine aus. Nik Novák vor 8 Jahren 0

1 Antwort auf die Frage

0
z0rberg's

In der heutigen Zeit gibt es ticklose Kernel, die keine statischen Tickraten haben. Sie berechnen die Zeit, bis sie haben wieder zu unterbrechen und programmieren Sie den APIC (die Interrupts regelt) entsprechend.

Windows 10 verwendet einen tickless-Kernel, und die Option ist auch für Linux verfügbar. Ein tickloser Kernel erhöht den Durchsatz des Systems (aufgrund von weniger Unterbrechungen, weniger Kontextwechseln usw.) auf Kosten längerer Antwortzeiten.

In einer ticklosen Umgebung kümmert sich jeder Kernel (also Kern) selbst darum. Synchronisierung zwischen Kernen ist keine Notwendigkeit für eine stabile Umgebung und die Antwort auf Ihre Frage lautet einfach:

Das hängt von der Implementierung ab.