For starters, the Linux Kernel is an operating system kernel for Unix-like operating systems and is considered the most prominent examples of free open source software. It is released under the GNU General Public License version 2 and is developed by contributors all over the world.
So what does the Linux Kernel do?
A kernel is the lowest level of easily replaceable software that interfaces with the hardware in your computer. The Linux kernel is responsible for interfacing all of your applications that are running in “user mode” all the way down to the physical hardware. It allows processes also known as servers to get information from each other using inter-process communication (IPC).
There are different types of kernels but they usually fall into one of three types: monolithic, microkernel and hybrid. The Linux is a monolithic kernel.
As with any type of kernel, there are pros and cons with each. Here are the pros and cons for the monolithic kernels.
PROS:
-More direct access to hardware for programs
-Easier for processes to communicate between eachother
-If your device is supported, it should work with no additional installations
-Processes react faster because there isn’t a queue for processor time
CONS:
-Large install footprint
-Large memory footprint
-Less secure because everything runs in supervisor mode