Inspired by this thread.
I design “embedded controllers.”
These are the small computer systems which are now ubiquitous. Typically, I write my code as “bare metal” - there is no operating system, and I try to even avoid using third-party libraries, so that I am in 100% (or as close as possible) control of the operation of the computer. The goal is NO REBOOTS.
Recently, I have ported one of my bare-metal systems to a Linux platform. This brings a lot of useful improvements, but it also is now just a program running inside a complete operating system, with all the attendant problems. I got a shock the other day when I was trying to reduce the footprint of the disc image, and I made this graphical representation of the files on the disc. The little highlighted area in the center is my software - everything else is part of the OS. Granted, there’s probably 20% useless files that could be deleted, but, still - that’s a lot of crap! And, things that can go wrong, and require a re-boot.