We all know that when a C program executes, there are lots of plumbing jobs done by the OS under the hood, before entering main, such as allocating a stack, initiating some resources, loading the binary,etc.
So intuitively I regard these jobs part of the OS. However, the fact is that all these jobs are in an important module called CRT(C runtime library), like glibc in linux, or msvcrt.dll in Windows. I wanna know its whereforce.