I have the following kernels installed:
- linux-zen (Zen)
- linux-rt (RealTime)
- linux-hardened (Security Hardened)
- linux-lts (Long Term Support)
- linux-tr-lts (Realtime LTS)
When I boot up, I try the different kernels from time to time just to see if anything interesting happens. It never does.
My question: How do I actually physically notice the difference between these kernels? If I use RT, does Firefox spawn quicker (in my testing, no, not really)?
What are some use cases when I can really see the difference in these kernels?
Realtime is not about being fast, it’s about time guarantees. It helps with or is required for workloads that require realtime, which I think includes audio production, but might also be helpful for things like controllers etc. where you need to make sure incoming data is processed in a guaranteed time or else fail. Browsing the web isn’t part of these, so an RT kernel will most likely be a hindrance.
Yes, aircraft for example. If the pilot says “gear down”, the gear must go down in short order. You can’t say “well I think I’ll check the airspeed sensor a few times first”.
due to DO-178C requirements, Linux can’t be used there… yet.
That’s pretty cool. Seems like a big undertaking tho
But it’s used in PES (Passenger Entertainment Systems) at least.
Ok this discussion reminds me of a gripe: Is there a Linux distribution or kernel that prioritizes the UI over everything else, including an OOM situation?
I’ve never had (modern) Windows kernel panic on me, or completely slow to the point I can’t get Ctrl+Alt+Del registered.
Let me know if I’m just using Linux stupidly though…
I’ve definitely had Windows hard lock before and stop responding to the keyboard, from Win95 all the way to Win10. I have no experience with Win11 so I can’t speak for that, but all others have situations where it can happen.
In fact, Windows is bad enough that the disk usage being high can cause the system to stop responding until it’s done and drops back down.
You can jam the Windows UI by spawning loads of processes with equivalent or higher priority to
explorer.exe
, which runs the desktop as they’ll compete for CPU time. The same will happen if you do the equivalent under Linux. However if you have one process that does lots of small allocations, under Windows, once the memory and page file are exhausted, eventually an allocation will fail, and if the application’s not set up to handle that, it’ll die and you’ll have free memory again. Doing the same under every desktop Linux distro I’ve tried (which have mostly been Ubuntu-based, so others may handle it better) will just freeze the whole machine. I don’t know the details, but I’d guess it’s that the process gets suspended until its request can be fulfilled, so as long as there’s memory, it gets it eventually, but it never gets told to stop or murdered, so there’s no memory for things like the desktop environment to use.There’s a systemd OOM service that can be setup. I use CachyOS and they have it as a checkbox to turn it on or off.
Going to look into this, thanks!
I thought that’s what Zen was for
I think banking is the old standard example of real time kernel needs. Money goes in, numbers go up, no time to explain the tide.
I don’t know if you’re being serious, but I can confirm from my time at as a developer at a banking software company, we didn’t use a hard RT OS even for like Mosler or Hitachi high speed check sorters. Just fast C++ code. (On Windows XP still, when I left in 2016)
(Work load is basically: batch of checks is loaded into an input hopper, along with check sized pieces of paper which are headers and footers, machine rapidly scans MICR lines and they go flying towards output pockets, and our code has something like 20 ms to receive the MICR data and pass back a sorting decision.)
Check or cheque?
My mind was on Unix systems with real time kernels from a time when Windows were but openings in the wall or roof of buildings or vehicles, fitted with glass in a frame to admit light or air and allow people to see out. And later Linux.