Settings

Theme

A first dip into OS kernel development with xv6 and the 6.1810 labs

jannestimm.com

53 points by jannesan 2 years ago · 5 comments

Reader

anta40 2 years ago

xv is, without no doubt, my favourite educational OS. It provides both kernel space and userspace. You can find many people extending various aspects of it (memory management, file system, etc) on Github.

I still tinker with the x86 version (which isn't maintained anymore): https://github.com/mit-pdos/xv6-public. Doesn't need much effort to build it on macOS.

The codebase is pretty compact that it can be understood in a few days, and also rebuilding it is very quick. Can't say the same thing about Linux, but hey as real world OS, guess some complexities are simply unavoidable.

neverartful 2 years ago

Thanks for sharing. I may try to follow in your footsteps on this. After completing all of the lab assignments what do you feel would be the next logical step if you wanted to follow a path all the way to Linux or FreeBSD? Straight to them or with another educational OS?

  • jannesanOP 2 years ago

    I still haven’t settled on what to do next, but for sure I will continue with educational material for now as I don’t have concrete goals to contribute to “real world” projects (yet). I also like having some structured path layed out for me, it makes it easier work on it every other day and not get stuck wondering what best to do next.

    As for more serious projects I am interested in and could be a potential follow up to contribute to a bigger kernel, there are SerenityOS and RedoxOS.

chrsw 2 years ago

How did you find working on this outside of a class context? What did you do when you got stuck or had questions?

  • jannesanOP 2 years ago

    I found the instructions for the labs clear and at the right level of detail for me that I did not have questions about what was required for the solution. They have a hints section that really get you started enough in my opinion, sometimes I looked at those a bit too early in retrospect. Then for understanding the part of the codebase that the lab was extending the book was sufficient as extra material for me. There are even lectures online for the 2019 version, but the theoretical side was something I had at least familiarity with before, so I did not watch those.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection