Wie plant der Linux-Scheduler Prozesse auf Mehrkernprozessoren?

Multi-Core-Prozessoren nutzen die Parallelität auf Thread-Ebene. Dies bedeutet, dass mehrere Threads parallel ausgeführt werden. Angenommen, ein Prozess hat nur einen Thread. Bleiben die anderen Kerne während der Ausführung dieses Prozesses im Leerlauf? Im Linux-System betrachtet der Scheduler Prozesse und Threads als eine Aufgabe. Bei der Planung wird nicht zwischen Prozess und Thread unterschieden. Bedeutet dies also, dass unterschiedliche Kerne unterschiedliche Threads unterschiedlicher Prozesse parallel ausführen?

Wenn ein Kontextwechsel stattfindet, geschieht dies nur für einen Kern oder für alle Kerne der CPU?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage