Computer systems consist of hardware and software. System software manages hardware components and includes device drivers, operating systems, servers, and utilities. Programming software provides tools to assist programmers. Application software aids tasks through business, design, databases, and other programs. There are low-level languages close to machine code like machine language and assembly language and high-level languages like C that are closer to English. Creating and running a C program involves writing code, compiling it, linking, loading, and executing the program.