* [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).