1. A C program starts when the kernel calls a special startup routine which sets up arguments and calls the main function.
2. A process can terminate normally by returning from main, calling exit or _exit, or abnormally by signals or calling abort. exit performs cleanup while _exit returns immediately.
3. The kernel supports processes through a process table, region table, and per-process data structures. A process contains text, data, stack segments and open file descriptors.