Context: https://www.youtube.com/watch?v=QKzRf8B-oDk
Would it be possible to run mpv and a browser directly on hardware somehow? Perhaps in an environment that doesn’t classify as an operating system according to the definition in those California codes?
I know that an operating system distributes workloads and facilitates communication between various hardware components, but would it be possible to build a Linux kernel that is “only” an interface to the CPU, a GPU, a sound card and a keyboard? One that can take commands to run for instance a browser[1] and mpv? Having the user manually - through commands of physical switches - handle the inter component communication? Or perhaps by being a kernel it already falls under the definition of an OS?
I’m just spitballing here. Barely know what I’m talking about, so please enlighten me! :D
Nowadays, a browser feels like a container that can run most things a physical computer would: stream media, serve as a word processor, play simple games, what have you. ↩︎


That’s a good point about what the OS provides. I come from an embedded context, so often RTOS are not much more than a kernel that’s handling some basic threads and processor access. There was a really interesting talk at USENIX a few years ago (Usenix 21 keynote with Timothy Roscoe, I just looked it up) that was basically saying that a modern OS like linux, isn’t even accessing hardware and is just an OS in a system of OSs on a computer.
So you are not wrong about what you are calling bare metal, but that usage is more popular at the moment, but the older meaning of bare metal actually just means “no OS.” It’s still very common in embedded world. They are the same words, but do have different meanings.
I cannot find it at the moment, but about 10 years ago I had found a guy at Tufts (I think) who was publishing about actual bare metal (no os) single process machines that would run a server with nothing else. It was supposed to be helpful for security reasons. It was definitely whacky. I cannot find it because the server-farm usage of bare metal has taken over :(
[Bare-Metal (redirect on wiki)[ https://en.wikipedia.org/wiki/Bare_metal ]
I do now see that “bare metal server” is not going to be the right search term. Perhaps bare metal computing? I’m not sure. But what I am talking about pre-dates virtualization.
Edit: For servers, it seems the papers are calling it “Bare PC” Example: https://doi.org/10.1109/HPCC.2009.34
Thanks for this!
Oh yeah I’m aware and I wasn’t disputing you, I just wanted to point out that in the context of servers that definition is quite ambiguous. But I did know what you meant.
This was also quite interesting and I’m actually surprised IIS did as well as it did. I’m actually looking for thesis ideas so I’ll add this to my list and potentially see how much things have changed 17 years later.