The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Dan Cross <crossd@gmail.com>
To: Larry McVoy <lm@mcvoy.com>
Cc: TUHS <tuhs@tuhs.org>
Subject: [TUHS] Re: Revisiting 6th Edition: rxv64
Date: Tue, 2 May 2023 08:19:58 -0400	[thread overview]
Message-ID: <CAEoi9W5Jahr4JVUdvM428RGM7+rZ22itK+NZssiz+7TncAcmeg@mail.gmail.com> (raw)
In-Reply-To: <20230502023451.GK29744@mcvoy.com>

On Mon, May 1, 2023 at 10:34 PM Larry McVoy <lm@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@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

      parent reply	other threads:[~2023-05-02 12:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-02  1:48 [TUHS] " Dan Cross
2023-05-02  1:55 ` [TUHS] " Clem Cole
2023-05-02  2:34   ` Larry McVoy
2023-05-02  3:05     ` Jason Bowen
2023-05-02 12:19     ` Dan Cross [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAEoi9W5Jahr4JVUdvM428RGM7+rZ22itK+NZssiz+7TncAcmeg@mail.gmail.com \
    --to=crossd@gmail.com \
    --cc=lm@mcvoy.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).