Wie kommunizieren die CPU und das Betriebssystem im RAM?
Ich beschreibe hier eine sehr vereinfachte Von Neumann Architektur. Das ganze ist in der Realität deutlich komplexer und per se gibt es auch Rechner (oder Teile eines Rechners) die anders funktionieren, aber das lasse ich mal jetzt alles unter den Tisch fallen.
Das Betriebssystem ist ein Programm.
Bis auf das BIOS liegt so gut wie jedes Programm im RAM. Also auch das Betriebssystem.
Wenn der Rechner hochstartet, wird ein Zeiger in der CPU initialisiert, der auf einen bestimmten Punkt im RAM zeigt. An diesem Punkt findet der Rechner die erste Instruktion die er nach der Initialisierung ausführen soll. Das ist der Startcode des Betriebssystems.
Eine moderne CPU hat natürlich mehrere dieser "Zeiger" die parallel abgearbeitet werden. Und tatsächlich werden da Instuktionen teilweise nach stochastischen Verfahren ausgeführt bevor der gesamte Programmcode aus dem RAM gelesen wurden um Performancegewinne zu erzielen.
Aber ich will mich ja hier auf ein sehr vereinfachtes Modell beschränken.
Also per se liest die CPU die Befehle aus dem RAM und führt sie aus. Diese Befehle können dann Register in der CPU kippen oder auch aus dem RAM lesen oder schreiben. Einer dieser Zeiger ist der Programmzeiger, der Standardmäßig von einer Instruktion auf die nächste springt, aber durch eine Instruktion auch auf eine ganz anere Stelle im RAM gelenkt werden kann.
Damit nicht jedes Mal ein Zugriff auf das RAM erfolgen muss, der im Vergleich zu einem CPU internen Zugriff viel langsamer ist, werden in modernen Prozessoren Teile des RAMs am Stück eingelesen und in der CPU "gecached". Das sind sehr oft häufig genutzte Betriebssystemroutinen, die dann komplett in der CPU laufen.
Es gibt auch bestimmte reservierte Adressen in denen sich Routinen befinden die dann auf die Perepherie zugreifen (z.B USB Ports, Grafik- oder Netzwerkkarte). Natürlich erfolgt der Zugriff auf die Perephiere aus CPU Sicht auch durch nichts anderes, als dass gewisse Register beschrieben oder ausgelesen werden.
Einige davon sind auch die Laufwerke (SSD, Festplatte), auf denen andere Teile des Betriebssystems oder auch eigene Programme liegen. Die werden dann von dem Betriebssystem ins RAM geladen und können dort auch ausgeführt werden, wenn einer der Programmzeiger auf die entsprechnde erste Instruktion des Programms verbogen wird.
Grob gesagt passiert die ganze Zeit in einem Rechner nicht viel mehr, dass irgendwelche Instruktionen aus dem RAM gelesen werdne, die dafür sorgen dass irgendwo Bits gekippt werden. Zum Teil im RAM, zum Teil an anderen Stellen.
Bei modernen CPUs sind da eine ganze Menge Sicherheitsvorkehrungen getroffen die dafür sorgen dass nicht alle überall lesen und schreiben dürfen. Das wurde in einer anderen Antwort beschrieben.