私はCPUを研究していますが、メモリからプログラムを読み取り、その命令を実行する方法を知っています。また、OSはプログラムをプロセス内で分離し、各プログラムを非常に高速に切り替えて、同時に実行していると考えますが、実際には各プログラムはCPUで単独で実行されることも理解しています。しかし、OSがCPUで実行される大量のコードである場合、どのようにプロセスを管理できますか?
私は考えてきましたが、考えられる唯一の説明は、OSが外部メモリからRAMにプログラムをロードすると、元のプログラム命令の途中に独自の命令を追加するため、プログラムが実行され、プログラムがOSを呼び出して、いくつかのことを実行できます。OSがプログラムに追加する命令があり、CPUがOSコードにいつか戻ることができると信じています。また、OSがプログラムを読み込むと、禁止されている命令(メモリ内の禁止されたアドレスにジャンプする)があるかどうかをチェックし、それを排除すると信じています。
私はきちんと考えていますか?私はCSの学生ではありませんが、実際には数学の学生です。可能であれば、OSがCPUで実行される大量のコードであり、同時に実行できない場合、OSがプロセスを管理する方法を説明する人を見つけられなかったため、これに関する良い本が欲しいでしょう。プログラムの時間。これらの本は、OSが物事を管理できることだけを伝えていますが、今ではその方法を伝えています。