(1) At the bottom line: what does it all have to take to in order to make a program executable on a specific operating system? machine code, assembly language?
(2) Does it have to be machine-readable in order to be executed by a CPU of some kind?
(3) What kind of role does operating system play when a program is being executed? Does it have anything to do with helping the system interpret the program code?
(4) And in light of Windows PC, is it necessary for all programs to be .exe in order to be executable? Why Java virtual machine?
(5) How does decompiler work? What's the difference between programs compiled to machine code and assembly language?
Many Thanks!!