I have been having this doubt for months, though i didn't take serious efforts in getting it clear. I found that people in this forum can easily through light on it.
See i know that Microcontrollers and microprocessors execute machine instructions, since it is difficult to write with machine instructions, assembly and all those high level languages have been developed. So, for using several different modules and protocols etc we need to write codes and compile it to get the machine instructions. In case of reusing codes some library files can be included and can be compiled to get the machine instructions as a whole (it includes the codes for library).
But when we develop some applications in windows or linux we use some API (Like black box) and compile our application to get the executable file (does not have the instructions for the API functions). So how our application gets linked to the OS functions which are already existing in the system.
I guess you have understood my question. I need to know the big picture of OS from the bottom (machine instructions)
Thanks in advance