This is super interesting -- for folks who are worked on or with this, what makes Xv6 well-suited for teaching OS concepts? What aspects of the OS are less robust / filled out than a standard Linux or BSD distro? I'm curious about the pedagogical considerations behind this OS.
Great excuse to rewrite user-space utilities - <a href="https://github.com/mit-pdos/xv6-riscv/tree/riscv/user" rel="nofollow">https://github.com/mit-pdos/xv6-riscv/tree/riscv/user</a>
If you're interested, I wrote a blog post a few years ago about how to implement a syscall (getcwd) on Xv6: <a href="https://vgel.me/posts/pwd_command_xv6/" rel="nofollow">https://vgel.me/posts/pwd_command_xv6/</a>
My OS class that I'm currently taking sues Xv6 as a base for learning about OS implementation. The documentation is great and it clocks in under 10K lines if I'm remembering correctly. I'm really enjoyed working with it in class so far.