Why executables aren't written in a way that the OS understand instead of machine code?

Viewed 15

We know that computer programs are either AOT compiled, JIT compiled or interpreted

And we also know that AOT compiled programs usually get compiled from its high level source code into machine code

Now the question is, if machine code is so hard to understand and write, why the idea of compilers wasn't to translate programs into a simpler language understood by the operating system instead of translating directly into machine code

And if such operating-system-dependent language existed, the OS should read the executables written in it and translate them into the corresponding machine code understood by the CPU

In other words, wouldn't the process of compiling into machine code have been easier if OSs had some kind of JIT compiler (VM?) that translated a specific kind of bytecode (which should exist) into machine code?

Are there any disadvantages of all this?

0 Answers
Related