Ich lerne CPU's und weiß, wie es ein Programm aus dem Speicher liest und seine Anweisungen ausführt. Ich verstehe auch, dass ein Betriebssystem Programme in Prozessen trennt und sie dann so schnell abwechselt, dass Sie glauben, dass sie gleichzeitig ausgeführt werden, aber tatsächlich läuft jedes Programm alleine in der CPU. Aber wenn das Betriebssystem auch eine Menge Code in der CPU ausführt, wie kann es dann die Prozesse verwalten?
Ich habe nachgedacht und die einzige Erklärung, die ich denken könnte, ist: Wenn das Betriebssystem ein Programm aus dem externen Speicher in den Arbeitsspeicher lädt, fügt es seine eigenen Anweisungen in die Mitte der ursprünglichen Programmanweisungen ein, damit das Programm ausgeführt wird, das Programm kann das Betriebssystem aufrufen und einige Dinge tun. Ich glaube, es gibt eine Anweisung, die das Betriebssystem zum Programm hinzufügt, damit die CPU einige Zeit zum Betriebssystemcode zurückkehren kann. Außerdem glaube ich, dass das Betriebssystem beim Laden eines Programms prüft, ob es einige vorab gesendete Anweisungen gibt (die zu verbotenen Adressen im Speicher springen würden) und diese dann beseitigt.
Denke ich ernst? Ich bin kein CS-Student, sondern ein Mathematik-Student. Wenn möglich, würde ich mir ein gutes Buch darüber wünschen, da ich niemanden gefunden habe, der erklärt, wie das Betriebssystem einen Prozess verwalten kann, wenn das Betriebssystem auch eine Menge Code in der CPU enthält und nicht gleichzeitig ausgeführt werden kann Uhrzeit des Programms. Die Bücher sagen nur, dass das Betriebssystem Dinge verwalten kann, aber jetzt wie.