3 ms·
It is an interesting discussion, I'm excited to see a full OS in Rust, something I was unsuccessful in achieving with Java[1]. On the performance question, I h
by ChuckMcM 7y ago
It is an interesting discussion, I'm excited to see a full OS in Rust, something I was unsuccessful in achieving with Java[1].
On the performance question, I have a new 64 bit system coming with 64 threads[2], and I'm really curious to experiment with non-relocating microkernel architectures (architectures where kernel features have a fixed address that doesn't change while running). This is something I dreamed about at Sun using a Dragon (64 thread SPARC machine) and Spring (the research OS) but it was too expensive to allocate one of those machines to our small group for OS research.
[1] Yes, there are OSes written (mostly) in Java, but at Sun we tried a completely Java OS and the safety features of the language prevented it. The 'controlled relaxation' of safety features in Rust here (as opposed to 'jump into native code, all bets are off!') are awesome.
[2] In theory I'm in the queue for the first arrival of an AMD TR-3990 for my sTRX motherboard. We'll see how that holds up. :-)
- OJFord 7y agoHow do you have a 'completely Java OS' (even conceptually) - you need something for a JVM to run on?
- ChuckMcM 7y agoThe working theory was the JVM was just a machine specification, which could, if you wanted, be implemented as an immutable processor (either a chip or a set of chips). So if you can write a multi-user OS that only used the JVM (so it was 'Java all the way down') then you could build a Java chip for embedded systems, use a JVM for running it on a commodity processor, etc. I had a lot of fun building the PiDP11/70 kit last year which is a PDP 11/70 built on top of simh on a Raspberry Pi. You can run BSD 2.1 on it which is decidedly Old School, but it (and RSX-11M+) are classical multi-user OSes. And that system has all the pieces of what we were trying to do with Java which is a virtual machine, compilers that converted code to run on that virtual machine, and an Operating system that can be compiled to run on it.