89 points | by lioeters 13 hours ago ago
7 comments
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!
This repo seems to handle VM exits and memory initialization : https://github.com/soulxu/kvmsample/blob/master/main.c
I'd say it's a good place to start !
How do you define an OS? You can write an EFI "OS" that prints "Hello, world" in approximately 5 lines.
It's a bit more than that.
> We'll implement basic context switching, paging, user mode, a command-line shell, a disk device driver, and file read/write operations in C.
see https://1000os.seiya.me/en/
Also discussed at:
https://news.ycombinator.com/item?id=45070019
See also https://ionescu007.github.io/SimpleVisor/ in around 500 lines of C.
That's not risc-v, though.
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!
This repo seems to handle VM exits and memory initialization : https://github.com/soulxu/kvmsample/blob/master/main.c
I'd say it's a good place to start !
How do you define an OS? You can write an EFI "OS" that prints "Hello, world" in approximately 5 lines.
It's a bit more than that.
> We'll implement basic context switching, paging, user mode, a command-line shell, a disk device driver, and file read/write operations in C.
see https://1000os.seiya.me/en/
Also discussed at:
https://news.ycombinator.com/item?id=45070019
See also https://ionescu007.github.io/SimpleVisor/ in around 500 lines of C.
That's not risc-v, though.