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


  1. 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. ↩︎

  • Thwompthwomp@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    11 hours ago

    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

    • Oinks@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      7 hours ago

      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.

      This was indeed a very interesting talk. Not sure if the accusatory tone (Edit: Of the speaker!) was warranted but I’m not really the target audience so who am I to judge.

      One aspect that he only mentioned in passing is that hardware manufacturers seem to be very happy to entertain Linux’s (and Windows’) assumptions about memory, just like they seem to be very happy to entertain assumptions about execution order. Nobody wants to make hardware that requires a weird bespoke operating system because of its bespoke microarchitecture (except perhaps for Apple, though I’m not confident they’re really innovating in this regard). Maybe I lack perspective but I don’t really see a nice way out of this either, since nobody wants to buy hardware that requires weird bespoke operating systems either (except once again Apple). And I don’t see how an operating system could be widely supported across many different SoC designs without accumulating a similar complexity to modern Linux.

      We should definitely be feeling mildly uncomfortable about this entire thing though.

      • Thwompthwomp@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        7 hours ago

        Looks like I’ve replied to you a few times, and sorry for the accusatory tone! Didn’t mean it! You did get me worried since I’m going to be used “bare metal” in my embedded class later this semester, and felt like I had gone insane not being able to find it anywhere. I was mostly just trying to convince myself this morning I wasn’t insane. I had thought it was the standard terminology. I do also need to caveat this that I am not familiar with whatever law OOP was referencing. I’m assuming it was one of the either baked-in surveillance or age verification things. Yeah, I’m with you and don’t really see a way out, unless we just step way back in time when we had less standardization and do bespoke everything. Cheers, and sorry for the tone!

        • Oinks@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          6 hours ago

          Oh no I wasn’t talking about your tone at all, sorry about my poor phrasing there. I meant the tone of Timothy Roscoe which rubbed me the wrong way.

          I might be a bit overly sensitive since it reminded me of how science cranks like to talk about their “discoveries” - You know, how people like Avi Loeb or Eric Weinstein will go on Joe Rogan and complain how nobody in academia is taking them seriously. Obviously that’s not at all what Roscoe is doing (and not just because he’s right) but it sounded a tiny bit like that to my ears, at least before the Q&A section (which I hadn’t watched before writing my comment).

          I was mostly just trying to convince myself this morning I wasn’t insane. I had thought it was the standard terminology.

          No you are actually correct, “bare metal” does in fact mean “without an OS”. It just got co-opted to mean… other things additionally, and in the case of servers specifically the new usage ended up crowding out the original one. Hence the original misunderstanding.