>Nothing runs directly on the processor ?
>
>Sorry, but, ALL machine code "runs on the processor(s)". The OS performs the loading and satisfies "operating system calls" for I/O etc.; but at some point, all "native compiled" programs get a slice of the processor(s).
[snip]
>I thing the concept of the OS being a "shell" is being taken far to literally; at some point the OS hands off control where the "machine code" in the program is executing directly on the processor. It's only when the program ends, there's a system interrupt, or the program specifically asks the OS the perform a "protected/privilaged" service that the OS regains control and starts it's own "execution".
>
>You can debate degrees here (of "time-slicing"); ie. self-loading programs that work directly with the BIOS, single or multi-tasking operating systems, standard or virtual memory ... but ALL "machine code" executes "directly" on the processor.
>
>We may be making great strides in the art (?), but there are certain basic concepts that have not changed.
I think I've made my point, judging by the number of quotation marks (marx? Marx quotations :) ?) you had to use. The point is, the limits between the categories like "runs through a mediator code" and "runs directly on processor", "is interpreted", "is compiled" etc have become blurry with the passing of time. The whole story sort of begins with the Pascal/Delphi guys bragging with their "native code compiler", which then doesn't have the data engine, and when you add one it isn't this fast anymore; with Clipper which produced an .exe with runtime embedded in it, with FoxPlus which didn't have a compiler and thus wasn't so popular with weekend coders who were so afraid someone may steal their code, with VB which was having a "native mode compiler" at some point, and just had some spurious vbrunxxx.dll which was, for some reason, not called a runtime... etc etc.
This sort of religious dispute on the native vs interpreted is sort of moot nowadays, unless you do assembly code with no dlls. For most of the coding we do, there are more important features to the tools we use, than just the interpreted/native tag.