On 03/01/2013 08:37 AM, Tim Ford wrote:
The OCaml-on-Xen OpenMirage (http://openmirage.org/) project is very
interesting to me. The idea is that your OCaml application is
compiled directly into a bootable Xen microkernel image. Rather than
running inside an OS, your OCaml links to a "libOS", a library that
provides all the OS services in terms of Xen hypercalls.
What are your thoughts regarding whether the same could be
accomplished with Rust? You'd have to reimplement the Rust runtime
and many OS services, though perhaps the work done for OpenMirage
could be of some help there.
It seems like Rust would be a great language for this.
I am interested in this. What they are doing does sound a lot like Rust
and I would like us to get to the point where we can write kernel code
in Rust. As Graydon mentioned though, our runtime code isn't structured
to allow this yet, but we are inching closer. We probably shouldn't try
to do it until after the scheduler rewrite because `core` depends on a
bunch of runtime code that doesn't have a future and isn't worth porting
to kernelspace. Afterword though, I expect the relationship between
`core` and the scheduler to be [reversed], so that all the runtime
machinery will be optional. At that point it should take just a very
small platform abstraction layer to implement `core`, and we can think
about the multithreading separately.
[reversed]: https://github.com/mozilla/rust/issues/5157
I talked briefly with Anil (from openmirage) about this subject last
year, but it would be nice to touch base again sometime. I've copied him
on this thread.
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev