A computer system consists of hardware and systems software that work together to run application programs.
The source program is a sequence of bits, each with a value of 0 or 1, organized in 8-bit chunks called bytes. Each byte represents some text character in the program with a unique byte-sized integer value in ASCII standard.
Programs are translated into a sequence of low level machine language instructions which are then packaged in a form called executable object program and stored as a binary disk file. The translation from source file to object file is performed by compiler driver.
The programs that perform the four phases of translation (preprocessor, compiler, assembler, and linker) are known collectively as the compilation system.
Input file
Source program --> hello.c [text]
Four Phases of translation
Modified source program --> hello.i [text]
Assembly program --> hello.s [text]
Relocatable object program --> hello.o [binary]
Executable object program --> hello [binary]