[LINUX] (Anfänger) Was sind Kerne und Threads?

Ursprung

Ich verwende Jobs, Aufgaben, Kerne, Threads usw., aber ich verstehe die Beziehung zwischen ihnen nicht wirklich.

Egal wie sehr ich kein Spezialist für Computer bin, ich habe zusammengefasst, was als Informatiker passiert ist.

Fazit

Im Detail

Prozesse und Threads

Dies ist am einfachsten zu verstehen. Ein oder mehrere Threads werden in einem Prozess erstellt.

Der Prozess ist das übergeordnete Element und der Thread ist das untergeordnete Element.

Jobs und Aufgaben

Wie es verwendet wird, hängt von der Umgebung ab und es scheint, dass es oft ** mehrdeutig ** ist. War gut. Ich habe es richtig benutzt, aber es war kein Fehler.

Wenn es sich vorerst um ein Linux-System handelt,

Es scheint.

Prozessor, Kern und CPU

Die Zusammensetzung, die ** CPU (= Prozessor) ** enthält ** Teile (Kern) **, die tatsächlich die Verarbeitung durchführen.

In der Realität wird der Kern als CPU erkannt und Prozesse und Threads werden zugewiesen.

[Frage] Ist die CPU mit 6 Kernen und 12 Threads 2 Threads pro Kern?

Um ehrlich zu sein, habe ich diesen Bereich nicht gut verstanden, also habe ich ihn nachgeschlagen. Die Antwort ist nein.

Da der Kern nur ein Ort zum Verarbeiten von Prozessen und Threads ist **, ist der dem Kern zugewiesene Thread eine Story, nachdem der Prozess oder Thread erstellt wurde.

Zunächst scheint es also richtig zu sein, dass die Obergrenze für Threads, die parallel ausgeführt werden können, 12 beträgt und 6 Kerne vorhanden sind, um sie zuzuweisen.

Mit anderen Worten. Wenn das Thread-Limit 12 ist, ist das Prozesslimit zwangsläufig 12.

Wenn Sie beispielsweise alle 12 Threads in 3 Prozessen verwenden, können Sie sich eine Zuweisungsmethode wie diese vorstellen.

Vorgangsname Anzahl der Threads Beispiel 1 Anzahl der Threads Beispiel 2
A 4 6
B 4 4
C 4 2

Reference

  1. [Abbildung] Unterschiede / Beziehungen zwischen CPU-Kernen, Threads und Prozessen, gleichzeitiges Multithreading und Kontextwechsel
  2. Prozesse, Threads, Fasern, Aufgaben, Jobs, Unterschiede organisieren
  3. Unterschiede zwischen Prozessen und Threads - und Aufgaben und Jobs -

Recommended Posts

(Anfänger) Was sind Kerne und Threads?
[Python] Was sind @classmethod und Dekorateure?
Was sind Go Mod, Go Get und Go Mod Anbieter?
Was sind Linux POSIX Option und GNU Option?
Trainingsdaten und Testdaten (Was sind X_train und y_train?) ①
Trainingsdaten und Testdaten (Was sind X_train und y_train?) ②
[Mathematik] Visualisieren wir, was Eigenwerte und Eigenvektoren sind
Was vergleichst du mit Python und ==?
Was sind Python Taples und * Args?
Was sind Umgebungsvariablen? (Linux)
[Python] Python und Sicherheit - is Was ist Python?
Was sind die Verzeichnisse wie Linux, / etc und / var / log?