4 ms·
Whoa, looks very cool. So far, my favourite project is xv6, because: - codebase is reasonably compact, can be understood in a few weeks - can be built with st
by anta40 2y ago
Whoa, looks very cool.
So far, my favourite project is xv6, because:
- codebase is reasonably compact, can be understood in a few weeks
- can be built with standard GCC provided by package manager, no need to built a custom GCC from source
- has user space, too
Seems like your project also have those points checked. Bookmarked!
- vinc 2y agoThanks! Compared to xv6, you will find some important pieces missing. For example, there's no multiprocessor support and no scheduler, only one process can run at any time. I should also note that user space programs can do memory allocation via syscall, but I currently have an issue with the kernel memory that I probably need to remap higher in memory. So, most commands inside the OS are still executed from kernel space, although they use syscalls and everything as if they were user space programs. I'm having a lot of fun creating device files inspired by Plan9 to communicate with the kernel. There's a lot of work yet to arrive at something that feels truly complete as an educational OS, but I'm hoping to get there eventually. I really like this project because I'm learning along the way all the time! Your first point is one of my main goals: I want the whole OS, including user space programs, to fit inside one brain. I'm always trying to find ways to keep complexity low without compromising too much on performance.