Skip to content

Latest commit

 

History

History
35 lines (25 loc) · 2.51 KB

README.md

File metadata and controls

35 lines (25 loc) · 2.51 KB

Starina

Starina (named after stellina), is a general-purpose, microkernel-based, modern operating system designed for developers. It aims to be a production-ready OS, and more importantly, a fun and easy-to-understand OS where you can enjoy the development as if you are writing a Web application.

Note

This branch is for next generation of Starina, which is being written from scratch. The previous prototype version can be found at this commit.

Goals

The ultimate goal of this project is to create a production-ready OS to be a good alternative to real-world OSes. To make this happen, Starina values the following principles:

  • Userspace-first approach: Make OS development approachable and fun for everyone. Prioritize developer experience in the userspace, where the most OS components reside. The microkernel is just a runtime for applications.
  • Simplicity over perfection: Emphasize a straightforward design which covers the most common use cases. Make it work first. Make it better later.
  • Incrementally adoptable: Facilitate easy adoption of Starina by providing a seamless integration with existing systems.

Roadmap for 2025

This year, we focus on cloud computing domain, where Starina will be used as a tiny runtime for Linux containers.

  • Prototyping an microkernel-based OS in Rust: https://starina.dev is served by Starina on Linux/QEMU hypervisor!
  • Redesign the OS based on lessons learned
  • Rewrite from scratch (work in progress)
  • Rust-based almost-zero-cost isolation (Unikernel style)
  • Usermode isolation (traditional microkernel style)
  • TCP/IP server
  • File system server
  • TypeScript API + QuickJS-based isolation (akin to WebAssembly)
  • Shell
  • WSL2-like Linux compatibility layer
  • Streamlined observability and debugging experience

Is it Linux or POSIX compatible?

No. Starina provides completely original APIs and fresh new development experiences. However, to make it easier to adapt to Starina, We plan to implement a WSL2-like seamless Linux environment based on real Linux microVM + lightweight integration layer (akin to LWK in supercomputing).