We all know that a computer is a machine capable of performing arithmetic and logical operations. The Operating System manages the hardware and software resources of a computer and provide the services for other programs to run. The operating system has to work closely with the system hardware to get the correct response. In a computer system it is the CPU or the processor which does all the arithmetic and logical operations along with managing the data flow. But CPU or processors are devices that understands only binary data, i.e. data comprised of only ones (1) and zeroes (0). Where as the user applications are mostly programs written in high level languages like C, C++. So how does the hardware understand the instruction given by a user application written in high level language. Or who translates the high level language to machine level language. The answer is, Kernel.