The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Revisiting 6th Edition: rxv64
@ 2023-05-02  1:48 Dan Cross
  2023-05-02  1:55 ` [TUHS] " Clem Cole
  0 siblings, 1 reply; 5+ messages in thread
From: Dan Cross @ 2023-05-02  1:48 UTC (permalink / raw)
  To: TUHS

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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [TUHS] Re: Revisiting 6th Edition: rxv64
  2023-05-02  1:48 [TUHS] Revisiting 6th Edition: rxv64 Dan Cross
@ 2023-05-02  1:55 ` Clem Cole
  2023-05-02  2:34   ` Larry McVoy
  0 siblings, 1 reply; 5+ messages in thread
From: Clem Cole @ 2023-05-02  1:55 UTC (permalink / raw)
  To: Dan Cross; +Cc: TUHS

[-- Attachment #1: Type: text/plain, Size: 1042 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 1622 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [TUHS] Re: Revisiting 6th Edition: rxv64
  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
  0 siblings, 2 replies; 5+ messages in thread
From: Larry McVoy @ 2023-05-02  2:34 UTC (permalink / raw)
  To: Clem Cole; +Cc: TUHS

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.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [TUHS] Re: Revisiting 6th Edition: rxv64
  2023-05-02  2:34   ` Larry McVoy
@ 2023-05-02  3:05     ` Jason Bowen
  2023-05-02 12:19     ` Dan Cross
  1 sibling, 0 replies; 5+ messages in thread
From: Jason Bowen @ 2023-05-02  3:05 UTC (permalink / raw)
  To: tuhs, Larry McVoy, Clem Cole; +Cc: TUHS

Love the comment above main()

> /// Starting an operating system is inherently unsafe.

https://github.com/dancrossnyc/rxv64/blob/c19418398de24e55f9cc818bda21ce2d0e402cf3/kernel/src/main.rs#L83

-- 
jbowen

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [TUHS] Re: Revisiting 6th Edition: rxv64
  2023-05-02  2:34   ` Larry McVoy
  2023-05-02  3:05     ` Jason Bowen
@ 2023-05-02 12:19     ` Dan Cross
  1 sibling, 0 replies; 5+ messages in thread
From: Dan Cross @ 2023-05-02 12:19 UTC (permalink / raw)
  To: Larry McVoy; +Cc: TUHS

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-05-02 12:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-02  1:48 [TUHS] Revisiting 6th Edition: rxv64 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 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).