[TUHS] Revisiting 6th Edition: rxv64

Dan Cross crossd at gmail.com
Tue May 2 22:19:58 AEST 2023


On Mon, May 1, 2023 at 10:34 PM Larry McVoy <lm at mcvoy.com> wrote:
> I have to say I'm impressed.  This is way beyond what I could do at my
> age.  I think it is awesome that younger people are picking up what
> Unix meant and redoing it.

Thank you, Larry! I must say, though, that without starting from the
framework of xv6, and of course 6th Edition itself, it would have been
much harder to get this going.

Indeed, this exercise gave me a much greater appreciation for the
towering work done in early Unix: I had the luxury of working with an
emulator that I could restart with abandon, and I could also attach a
debugger to it, trivially inspect machine state (including registers
and physical memory) from the monitor, etc. Moreover, I had a very
comfortable development environment, a very mature compiler, and I
could run e.g. unit tests directly in the kernel. All of this makes
development of kernel-level code dramatically easier.

I have a hard time imagining just how much more difficult it would be
to do this kind of thing on bare hardware, let alone something like a
PDP-11 with a teletype for a terminal.

Truly, we stand on the shoulders of giants.

        - Dan C.

> On Mon, May 01, 2023 at 09:55:26PM -0400, Clem Cole wrote:
> > Very cool
> >
> > On Mon, May 1, 2023 at 9:49 PM Dan Cross <crossd at gmail.com> wrote:
> >
> > > I've mentioned tangentially this a few times, but over the weekend I
> > > finally got around to dusting off the code and getting it running:
> > > https://github.com/dancrossnyc/rxv64.git
> > >
> > > rxv64 is a rewrite of MIT's xv6, which in turn, reimagines 6th Edition
> > > as a purely pedagogical system, implemented in ISO C for 32-bit SMP
> > > x86 machines.
> > >
> > > Building on xv6, rxv64 is implemented in Rust and targets 64-bit
> > > x86_64. It works well enough to boot up, run a shell, and run
> > > commands, but it doesn't really have much of a userland at present.
> > >
> > > I started this as a pedagogical tool, being something that one could
> > > point working engineers at as an example of a "real" operating system
> > > implemented on real hardware in Rust. The code could surely be made
> > > safer and more comprehensible, but cycles are short at present, and
> > > it's better to just get it out there.
> > >
> > > Have fun.
> > >
> > >         - Dan C.
> > >
> > --
> > Sent from a handheld expect more typos than usual
>
> --
> ---
> Larry McVoy           Retired to fishing          http://www.mcvoy.com/lm/boat


More information about the TUHS mailing list