Theseus's First Full Year
Although 2021 not the first year of Theseus development, it was the first whole year in which:
- Theseus was fully open-sourced and publically known to the community.
- Theseus received interest from academic and industry collaborators.
- Theseus received funding for open-source development from industry (yay!).
- Our focus shifted from prototyping research concepts to feature completeness, stabilization, and legacy compatibility.
Thanks to all the folks who contributed, advised, and interacted with myself and the rest of the Theseus team this year!
We had an explosion of interest on GitHub:
And official funding from Futurewei to continue Theseus development!
We look forward to another productive year!
Time to get Theseus onto some real devices! hint hint
Recap: major new developments
- Ability to build out-of-tree crates against Theseus using
- A novel extension of cargo to support building against prebuilt dependencies
- Basic WASM execution (using
wasmiinterpreter) with core WASI support
- Coming soon!
- Continuing efforts to support headless, no-graphics operation
- General legacy compatibility improvements, including a fuller libc implementation
- Generic, dynamic, and arbitrary thread-local storage (TLS), plus a Rust-like
- Tons of documentation, plus auto-published source docs and book docs!
- A full redesign of ergonomic and composable traits for device I/O, plus FAT FS support
- Performance and ergonomics improvements to the page and frame allocators
- Deferred interrupt handling tasks for better device driver performance and system interactivity
- and many more!
Thanks to 2021's Contributors!
Beyond our usual contributors, we had several newcomers from both Yale University and the open-source community at large who generously devoted their time to make some excellent improvements to Theseus. Our sincere thanks to:
- Futurewei Technologies, especially Sid Askary and Yong He, for generously offering technical advice and funding for Theseus development.
- @apogeeoak, who improved documentation quality and implemented GitHub workflows to autogenerate docs.
- Vikram Mullick, who began and nearly finished support for running WASM+WASI binaries atop Theseus.
- Jacob Earle, who began support for logging output on ARM microcontrollers and a pseudo-real time scheduling algorithm for Theseus.
- Josh Triplett, who served as a valuable font of advice and sounding board for some of my wild Theseus ideas.
- Philipp Oppermann, whose project Blog OS helped kickstart Theseus development a few years ago.