this post was submitted on 31 May 2025
193 points (94.5% liked)

Explain Like I'm Five

16797 readers
126 users here now

Simplifying Complexity, One Answer at a Time!

Rules

  1. Be respectful and inclusive.
  2. No harassment, hate speech, or trolling.
  3. Engage in constructive discussions.
  4. Share relevant content.
  5. Follow guidelines and moderators' instructions.
  6. Use appropriate language and tone.
  7. Report violations.
  8. Foster a continuous learning environment.

founded 2 years ago
MODERATORS
 

I'm old. I don't understand it.

you are viewing a single comment's thread
view the rest of the comments
[–] Gronk@aussie.zone 6 points 2 days ago

Programming is a balance of compromises, one has to define a balance between optimisation, maintainability, legibility, security and much more.

The kernel handles a bunch of different 'low level' things that are quite complicated (Allocating memory to programs, scheduling what programs the CPU needs to run, creating security layers for users, handling temperature and performance throttling, peripherals etc)

Due to its pivotal role in an operating system, the kernel developers walk a very thin line of compromises to ensure that it can be maintained and still remain performant.

They do all of this while ensuring that any updates to the Kernel do not break older systems when they update (fingers crossed) or they do not break programs specific to the user (Userspace programs)