[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] Rust unikernels
Hi folks, After a few twitter messages, thereâs now also a thread on the Rust forum about Unikernels (which references this thread). https://internals.rust-lang.org/t/unikernels-in-rust/2494 Just so you know, the Rust team is also interested in making this use-case easier and would welcome input. https://twitter.com/rustlang/status/631150661485359104 https://twitter.com/rustlang/status/631150745048510464 AC > On 24 Jul 2015, at 13:00, Geoffroy Couprie <contact@xxxxxxxxxxxxxxxxxxx> > wrote: > > Hello! > > A chat on Twitter showed some interest in unikernels developed in > Rust, and I was pointed here for further discussion. > > First, I want to acknowledge the amazing work done on MirageOS by > everybody here. I have followed it from afar for some time, and there > has been great progress to make it available and usable. > > Second, I know making a unikernel system means years of work and a > team of developers and testers. I am not planning to attempt it alone. > What I want is to sort out the skills needed, the big pitfalls, the > important milestones, and know about the unknown unknowns. Then push > for that project in the Rust community. > > From the beginning, people experimented with OS development in Rust > (cf https://github.com/ryanra/RustOS > https://github.com/thepowersgang/rust-barebones-kernel or > https://github.com/charliesome/rustboot ). There is also a very active > IRC channel, #rust-osdev on irc.mozilla.org > > From what I understand, the bare minimum to experiment would be an OS > booting and communicating with a network card, scheduling and task > switching, remote debugging, a network stack. Also, tools to help in > building, deploying and testing applications. > The ryanra/RustOS project seems well advanced, but it could use a network > stack. > > A rough plan could be to take that project and: > - strenghten the rtl8139 driver > - write parsers and serializers for ARP, IP, TCP (it looks like > MirageOS does not even need DHCP, since the IP address is passed at > compilation time, is that right?). This is something I am already > pushing for a parser combinators project I launched ( > https://github.com/Geal/nom ) > - building the API above that network stack > - the system can be monotask at first, but preemtive threading should > happen at some point > - a part of Rust standard library is already available, I do not know > how much is needed to support the use case of a HTTP server > - building monitoring tools inside the kernel > - building a testing infrastructure > > These steps look quite naive, but as I said, that's a very rough plan > for something that could take years. As for the skills needed: > - writing drivers and schedulers > - developing network stacks (there are projects like > https://github.com/libpnet/libpnet which could be integrated) > - implementing Rust libstd APIs > - testing and tooling industrialization > > What would you think of this project? What would increase its chances > of success? Which steps will be very difficult? > > It could really benefit from Mirage's experience :) > > Cheers, > > Geoffroy Couprie > > _______________________________________________ > MirageOS-devel mailing list > MirageOS-devel@xxxxxxxxxxxxxxxxxxxx > http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |