Kernel vs Operating System
Operating system is the system software that manages the computer. Its tasks include managing the computer resources and accommodating their communication needs. The Kernel is the main part of an operating system that mostly caries out direct communication with the hardware resources. Without the kernel, an operating system cannot operate. But because the kernel of an operating system is buried with many other components, most users are unaware of the existence of a kernel.
What is Operating System?
An Operating system is software that manages a computer. It is a collection of data and programs that manages the systems (hardware) resources. Furthermore, it accommodates the execution of application software (such as word processors etc.) by acting as an interface layer between the hardware and the applications (for functions such as input/output and memory related operations). It is the main system software running on a computer. Because users are unable to run any other system or application software without a properly running operating system, an operating system can be considered the most important system software for a computer.
Operating systems are present in all types of machines (not just computers) that have processors such as mobile phones, console based gaming systems, super computers and servers. Most popular operating systems are Microsoft Windows, Mac OS X, UNIX, Linux and BSD. Microsoft operating systems are mostly used within commercial enterprises, while UNIX based operating systems are more popular with the academic professionals, because they are free and open source (unlike Windows, which is very costly).
What is Kernel?
Kernel is the main part of a computer Operating system. It is the actual bridge between the hardware and the application software. The kernel is usually responsible for the management of system resources including the hardware and software communication. It provides a very low level abstraction layer between processors and input/output devices. Inter-process communication and system calls are the main mechanisms in which these low level facilities are offered to other applications (by the kernel). Kernels are divided in to different types based on the design/implementation and how each operating system task is performed. All the system code is executed in the same address space (for performance improvement reasons) by the monolithic kernels. But, most services are run in the user space by the microkernels (maintainability and modularity can be increased with this approach). There are many other approaches between these two extremes.
What is the difference between Kernel and Operating System?
Kernel is the core (or the lowest level) of the operating system. All other parts that make up the operating system (graphical user interface, file management, shell, etc.) rely on the kernel. Kernel is responsible for the communication with the hardware, and it is actually the part of the operating system that talks directly with the hardware. Numerous callable routines that can be used for accessing files, displaying graphics, getting keyboard/mouse inputs are provided by the kernel to be used by other software.