私はプロセスのスケジューリングを勉強していたときに、この質問が私の頭に浮かんだ。OSはどのようにコンパイルされたバイナリファイルを実行しますか?
OSはバイナリファイルとコンパイル済みファイルの実行をどのように実行し、制御しますか?おそらく、OSがバイナリの一部をあるメモリ位置にコピーし、そこにジャンプし、そのブロックを実行した後に戻り、次のブロックを実行すると思った。しかし、それはそれを制御することはできません(例えば、プログラムはどこでもジャンプすることができ、戻ってくることはありません)。
JVMの場合、VMは各命令を解釈しているのが理にかなっています。しかしバイナリファイルの場合、命令は実際のCPU実行可能命令なので、OSはVMのように動作するとは思わない。
CPUがCPU命令をどのように実行するのか知っていますか? – sll
はい、私は昨年、Verilogを使用して大学でもう少し複雑なRISCデザインをやって、超シンプルなCPU(1つの汎用レジストリ、命令とPCを格納するためのレジストリと5つの命令)を設計しました。 – Gediminas