An operating system (OS) is a basic software whose role is to be an abstract layer between software requisitions for resources and the hardware available. The basic components of an operational system can be listed as:
Although some may say it is not part of the OS, it's the starting point where the hardware after doing booting routines transfers the control to a small procedure that will bring up the entire system
Can be graphical or text-based, is the central point of communication between the user and the OS
The core of the OS that manages all the resources of the hardware according to the requisitions. Kernels can be either a micro kernel or a monolithic kernel. Both types include the following functionality:
- Process management (scheduling, multitasking, pseudo-parallelism, and so on)
- Memory (and virtual memory) management
- Inter-process communications (IPC)
- Interrupt management
Monolithic kernels include these additional features:
- File system and disk access organization
- Device management (with the aid of device drivers, plug-and-play routines, dynamic modules, and so on)
These features are not included directly in a micro-kernel, but are instead implemented in tasks. One example of a fairly widely used micro-kernel is QNX. As well, many hypervisors are micro kernel designs. A major argument for micro-kernels is that their small size makes them easier to analyze and more secure.Tanenbaum
Most well known operating systems are monolithic. In fact, the majority of commercial and Open source OS's are monolithic. Generally they allow faster hardware response.
Book : Operating System Concepts by Abraham Silberschatz
See also: bootloader gui microkernel kernel hypervisor.