You’ll often hear about the “Linux kernel”, and if you search it on Google you get:
“The Linux kernel is a Unix-like computer operating system kernel. The Linux kernel is a widely used operating system kernel world-wide; the Linux operating system is based on it and deployed on both traditional computer systems, usually in the form of Linux distributions, and on embedded devices such as routers.”
Like most Linux things, this is a very cryptic statement. But today we’re going to go about explaining what the Linux kernel is in terms that people can understand.
That clears up everything, right? Well if you’re like me, not quite. You could read about all the squares in the picture above and probably figure some stuff out. But we can simplify this a lot more.
Perfect– this is just five words and three different colors. You can see that the kernel is a barrier between applications, CPU, memory, and devices. Applications are what people use all the time, with everything from video games to the Internet.
An application needs to access specific parts of the computer to be able to run properly (video cards, memory, etc), so we need something to handle this. This is where the kernel comes in. With the kernel, applications have a way to access the hardware portions of the computer. Without the kernel, the hardware doesn’t know how to interact with anything else.
So if we simplify everything, the Linux kernel can be described as a overarching program that takes the hardware of a computer and allows applications to use that hardware.
That’s the Linux kernel, then we have Linux distributions. Each distribution uses (largely) the same Linux kernel, but they’re all a little bit different. Some distributions are for more specific uses, like booting Linux on the ZYBO, and others are more of a personal style.