System programming involves creating system software which provides the platform for running application software. System software includes components like assemblers which take assembly language programs and information for the loader to create executable programs. Compilers take high level programs and convert them to low level programs. Linkers combine modules together into an executable program.