xv6 is a re-implementation of Dennis Ritchie’s and Ken Thompson’s Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented for a modern RISC-V multiprocessor using ANSI C.
Exactly what it says on the tin. It runs on Qemu’s RISC-V target.
Cool, but totally pointless. Not only is UNIX V5 outdated from a modern software/hardware point of view, but now we have the chicken/egg problem that no-one has RISC-V hardware, no-one would want to run UNIX V5 (outside curisity) on it, and no-one is going to write software for a 40 year old OS when Linux and BSD are much better targets.
It’s a great proof of concept, but i see no real value in it other than as a novelty.
> Not only is UNIX V5 outdated from a modern software/hardware point of view
It’s still pretty widely used for teaching about basic OS design principles, exactly because it’s so ‘outdated’ (which means it’s simple and easy to understand by modern standards), and that’s exactly what Xv6 is designed for (it’s existed before this, and runs on modern x86 CPU’s).
> but now we have the chicken/egg problem that no-one has RISC-V hardware, no-one would want to run UNIX V5 (outside curisity) on it
You must have missed the part about it running on QEMU’s RISC-V target. Also, there _is_ RISC-V hardware out there, it’s just not easily available to consumers as a general-purpose computing platform yet.
> and no-one is going to write software for a 40 year old OS when Linux and BSD are much better targets
Again, that’s not the point here, it’s a rewrite of V6 UNIX for teaching purposes.
> It’s a great proof of concept, but i see no real value in it other than as a novelty.
The novelty part I’ll agree about to a certain degree, there’s no reason that Xv6 really needs to run on RISC-V. That said, it could just as easily be used now to teach basic programming concepts for RISC-V, since the code is again rather simple and easy to understand.