Hypervisor in 1k Lines

(1000hv.seiya.me)

123 points | by lioeters a day ago ago

16 comments

  • arghwhat 20 hours ago ago

    This is a cool intro to how virtualization instructions work, but people need to understand that it is not revolutionary simplicity or anything like that. It's just a a cool tech demo lacking all the important bits of a modern hypervisor required to make it practical, like paravirtualized drivers for example.

    Same when someone claims to have written an OS in 1000 lines and all it does is get you to real mode with VGA graphics and an interactive (but useless) prompt.

    (Note that you can benefit from virtualization technology in specialized scenarios outside common hypervisors, but that's not really what's being demoed here.)

    • ge96 18 hours ago ago

      Any thoughts on OsakaOS

      • arghwhat 16 hours ago ago

        That it's fine to do things just to have fun an mess around, but thats all there is to it. It's not even an OS at the current state.

        Other small OS's are actually OS's and can be impressive efforts. Sometimes they bring new concepts or paradigms, but that itself is rarely more than a curiosity without impact. Still fun though, at the very least for the authors.

  • nighthawk454 a day ago ago
  • userbinator a day ago ago

    See also https://ionescu007.github.io/SimpleVisor/ in around 500 lines of C.

    • notorandit a day ago ago

      That's not risc-v, though.

  • chubot a day ago ago

    Hm I would like to see this in C rather than Rust. And I wonder if you can run the 1000 line OS in C along with the 1000 line hypervisor

    It would be nice to see a demo!

  • giveita 20 hours ago ago

    Why does it need qemu? Isn't it a qemu?

    • ahakki 19 hours ago ago

      I guess because it's a risc-v hypervisor and the author expects you to run it on an x86 machine.

      • giveita 12 hours ago ago

        Thanks. Good use of a turtle. (Turtles all the way down)

  • curtisszmania 20 hours ago ago

    [dead]

  • TacticalCoder 21 hours ago ago

    [dead]