Comment by ethin
I did this (worked on an OS) from 2019-2022 or so, during college. Didn't get to user mode sadly. Did it in Rust because back then Rust was what I was really into. It was really fun! :) OS dev has always been fun/interesting :)
I did this (worked on an OS) from 2019-2022 or so, during college. Didn't get to user mode sadly. Did it in Rust because back then Rust was what I was really into. It was really fun! :) OS dev has always been fun/interesting :)
That’s your call to make but I think it’ll be easier to write tests for the trickier parts and avoid the memory safety issues you flagged as being your biggest annoyance by isolating into unsafe that’s better unit tested (+ maybe cover with Miri to double check the unsafe code is still sound)
I’ll flag one thing which is that the page table stuff mentioned is unlikely something rust can protect you against - if you set up the wrong memory mapping that’s a higher level logic bug that would make rust unsound and result in weird failures. Rust can only protect you within the bounds of the memory model it defines for its abstract machine.
Absolutely, I learned so much from this project! Do you think I should make a new version in Rust?