当我学习进程调度时,这个问题浮现在我的脑海中。
操作系统如何执行和控制二进制和编译文件的执行?我认为,操作系统可能会将二进制文件的一部分复制到某个内存位置,跳转到那里,在执行完该块后返回并执行下一个块。但是,它无法对其进行任何控制(例如,程序可以跳转到任何地方并且不返回)。
在JVM的情况下,这很有道理,VM正在解释每个指令。但对于二进制文件情况,指令是真正的CPU可执行指令,因此我认为操作系统不像VM。
操作系统如何执行和控制二进制和编译文件的执行?我认为,操作系统可能会将二进制文件的一部分复制到某个内存位置,跳转到那里,在执行完该块后返回并执行下一个块。但是,它无法对其进行任何控制(例如,程序可以跳转到任何地方并且不返回)。
在JVM的情况下,这很有道理,VM正在解释每个指令。但对于二进制文件情况,指令是真正的CPU可执行指令,因此我认为操作系统不像VM。