Programmierung von Mehrkernsystemen (PC)?

2 Antworten

Ich würde sagen, lies dich mal in Wikipedia ein.

Es gibt schon lange Betriebssysteme die mehrere CPUs verwalten können. Ob jetzt mehrere Kerne in einem Package oder mehrere Sockel auf Boards.

An sich läuft es üblicherweise so, dass das Betriebssystem Threads verwaltet und diese dann auf die Kerne verteilt. Du kannst in einem Programm dann solche Threads nutzen um deinen Code vom Betriebssystem auf mehrere Kerne verteilen zu lassen. Wichtig ist, dass die sich nicht in die Quere kommen, z.B. von einem Thread aus ein Wert modifiziert wird den ein anderer gerade braucht.

So breit wie die Frage gestellt ist bringt dir tiefere Information dazu aber jetzt auch nichts, du solltest dich halt erst mal selber damit beschäftigen, bevor du dir von anderen erklären lässt was du nicht verstehst.


Und seit wann gibt es Betriebssysteme, die mit mehr Kernen umgehen können?

Vor mehreren Kernen gab es schon seit den 1960ern Mehrprozessorensysteme und rein technisch ist der Unterschied marginal.

-----

Ein Programm muß Nebenläufigkeit unterstützen, indem es multiple Prozesse/Threads nutzt. Den Rest macht der Scheduler des OS. (Das ist bewußt vereinfacht).

Wobei sich die Scheduler natürlich auch fortentwickelt haben.