Why CachyOS Kernel?

 This was a question that was asked in the comment of this video HERE


I thought that was a fantastic question.


Let's break down the main concept of what a Kernel Does.

1: Process Management -  The Kernel is a critical component to making your Operating system work. Be it windows, MacOS, Debian, Arch, or Fedora. A Kernel communicates directly with the hardware on your device. The Kernel communicates with the CPU and delegates what information that needs to be processed and in what order and for how long. Think of the kernel as kinda the mind to the brain. You see your Google Pixel Watch sitting on your desk. Your mind says I want to grab that and this is how I will grab it. Your brain then tells each muscle that the mind instructs it to move to accomplish the task. I get it that's a very layman's example, but if it works then it works. We don't need to overstress fine points that mean nothing in the simple explanations.

2: Memory Management - Just like with the communication with the CPU the Kernel will keep tabs on the information stored in RAM (Random Access Memory). This can be physical ram such as the dimms in your computer, or vRAM such as a paging file. The Kernel will delegate to each program what it's allowed to use.

3: System Calls - If a program needs access to a certain file, directory, network access, etc. It will do a system call asking the Kernel for permission to use those resources. The Kernel will then delegate from there where/when each action should take place, if the application is authorized for those resources, and how things like CPU, GPU, RAM, etc will handle them.

4: Device Drivers - In Linux the Kernel stores the device drivers for every compatible device. Things like your USB ports, keyboard, mouse, screens, audio interfaces, and the list goes on. All rely on drivers that communicate with the hardware to be able to utilize them for their intended use case. I say in Linux, but this same things takes place in MacOS and WIndows as well. This means applications don't need to know the specifics of each piece of hardware; they just send a request to the Kernel, and the Kernel handles the rest.

Okay now that we have the slightly understood, let's now take a look at why I chose to do CahyOS over the "vanilla" Kernel used in Arch.

Arch does have some slight modifications done to it's Kernel but these are minimal tweaks that you might see done with Debian and Fedora. As a couple of examples they may do some slight hardware specific tweaks to allow better compatibility with hardware, or modifications to the iniramfs to make boot times snappier. They also offer things like the Zen, and Hardened Kernel builds for better general desktop performance and responsiveness or security focused Kernel builds respectively. 

These Kernel builds are the best for general use case across a wide variety of computing devices and store all the data for each option. They may include schedulers like with the Zen Kernel.  There is absolutely nothing wrong with using these, but from a creative perspective I kinda want toddlers first Kernel Gentoo Styled experience.

Don't have an aneurysm Gentoo users. I know it's not exactly the same as having a Gentoo custom built Kernel.

This is a topic that could be put into a 45 minute minimum video, but I don't want to do that it's boring and people wont watch it. We focus on the new user crowd here.  So let's see why I would go through the trouble of installing a CachyOS or similar Kernel.

With CachyOS Kernel they make a few notable modifications.

1: Light Weight - Take a moment to consider my Gentoo comment. CachyOS Kernel runs on two options. x86-64-V3 and x86_64-V4 CPU architectures. So that is the Intel 4th Gen that was released in 2013 and the Ryzen (Epyc) CPUs. So anything before that it wont run on. This is why something like PikaOS won't work on older hardware. The Kernel is just not designed with the instruction sets. What this means is that it trims the fat. It focuses on only having what is needed to communicate with modern CPU's. 

The next big factor is schedulers. If you remember, we talked about Process Management. Within the Kernel it handles what the CPU is tasked with, when it processes it, and for how long it should work on the process. It's like a manager standing over you telling you how to work. You would be able to get the tasks done, but it won't necessarily be the most efficient for every task to have your manager telling you how and when to do what task. With a scheduler it's like an experienced team working on a specific task. A scheduler prioritizes specific tasks with the exact needs to fit the specific use case. Say you are playing a game. You need to render a scene. The scheduler will see the signatures of that code and say hey CPU. This fits our highest priority list. Ignore everything else until this task is complete. Obviously this is a very watered down example, but it explains the point. 

There are multiple schedulers out there. One's for office workloads, specific server workloads, gaming, media encoding, graphics rendering in programs like Krita, and much more. The options aren't endless, but they do provide in many cases a significant advantage to the user when applied correctly.

CachyOS Kernel does focus on compiling and rendering making gameplay smooth, rendering in things like blender and Davinci Resolve fast, and helps with the system feeling more responsive. That's why I chose it along with the concept that I wanted to customize my system for this challenge. There is one slight issue that you could need to be concerned with. You want to keep your Kernel up to date. This is one of those things that can cause issues if you aren't on top of it and result in a system that isn't stable. Make sure that you are using the stable branch of your chosen Kernel. CachyOS Kernel is a bit more bleeding edge. That comes with the drawback that if you delete a stable Kernel and play with an in-dev Kernel. You could find yourself reloading your system or at the very least using chroot to try and fix things.

That's my take. Remember these posts have the ability to be responded to. Never hesitate to pop down below

and share your thoughts.

Comments

  1. Thank you for this question. It was a gret chance for me to do a bit more research and to dive into this question a bit more.

    ReplyDelete

Post a Comment

Popular posts from this blog

90 Days Arch Linux Week 1

90 Days In Arch Week 1 Let's talk about kernels