Hi Everybody - Very general question. Coming from an embedded C background, I'm used the entire body of code, including the operating system, compiled and linked into one boot executable and one application executable, with little use of standard C libraries or an operating system, and a compiler is specialized for a specific target microprocessor. Recently I've started PC programming, where the operating system and each application are all compiled separately. In the PC world, are compilers specialized for both a target processor AND an operating system? How does the spawning take place? What is the primary means for applications to communicate with each other and the operating system? Where can I go to learn more? Thanks!