mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-08 21:06:48 +00:00
Add the Roadmap page
This commit is contained in:
parent
33c0c4199b
commit
ff705e11b0
@ -6,7 +6,7 @@ src = "src"
|
||||
title = "The Asterinas Book"
|
||||
|
||||
[build]
|
||||
# create-missing = true
|
||||
create-missing = false
|
||||
|
||||
[output.html]
|
||||
default-theme = "navy"
|
||||
|
@ -10,11 +10,11 @@
|
||||
* [Framekernel OS Architecture](kernel/the-approach/framekernel.md)
|
||||
* [Component-Level Access Control](kernel/the-approach/components.md)
|
||||
* [Type-Level Capabilities](kernel/the-approach/capabilities.md)
|
||||
* [Development Status and Roadmap](kernel/status-and-roadmap.md)
|
||||
* [Linux Compatibility](kernel/linux/README.md)
|
||||
* [File Systems](kernel/linux/file-systems.md)
|
||||
* [Networking](kernel/linux/network.md)
|
||||
* [Boot Protocols](kernel/linux/boot.md)
|
||||
* [Roadmap](kernel/roadmap.md)
|
||||
|
||||
# Asterinas Framework
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
Asterinas is a _safe_, _fast_, and _general-purpose_ OS kernel that provides _Linux-compatible_ ABI. It can serve as a seamless replacement for Linux while enhancing _memory safety_ and _developer friendliness_.
|
||||
|
||||
* Asterinas prioritizes memory safety by employing Rust as its sole programming language and limiting the use of _unsafe Rust_ to a clearly defined and minimal Trusted Computing Base (TCB). This innovative framework, known as [the framekernel architecture](), establishes Asterinas as a more secure and dependable kernel option.
|
||||
* Asterinas prioritizes memory safety by employing Rust as its sole programming language and limiting the use of _unsafe Rust_ to a clearly defined and minimal Trusted Computing Base (TCB). This innovative approach, known as [the framekernel architecture](), establishes Asterinas as a more secure and dependable kernel option.
|
||||
|
||||
* Asterinas surpasses Linux in terms of developer friendliness. It empowers kernel developers to (1) utilize the more productive Rust programming language, (2) leverage a purpose-built toolkit called [OSDK]() to streamline their workflows, and (3) choose between releasing their kernel modules as open source or keeping them proprietary, thanks to the flexibility offered by [MPL]().
|
||||
|
||||
@ -12,7 +12,7 @@ While the journey towards a production-grade OS kernel can be challenging, we ar
|
||||
|
||||
## Getting Started
|
||||
|
||||
Get yourself an x86-64 machine with Docker installed. Follow the three simple steps below to get Asterinas up and running.
|
||||
Get yourself an x86-64 Linux machine with Docker installed. Follow the three simple steps below to get Asterinas up and running.
|
||||
|
||||
1. Download the latest source code.
|
||||
|
||||
|
@ -1 +1,18 @@
|
||||
# Roadmap
|
||||
|
||||
Asterinas is a general-purpose OS kernel designed to support multiple CPU architectures and a variety of use cases. Currently, it only supports x86-64 VMs. Our roadmap includes the following plans:
|
||||
|
||||
* By 2024, we aim to achieve production-ready status for VM environments on x86-64.
|
||||
* In 2025 and beyond, we will expand our support for CPU architectures and hardware devices.
|
||||
|
||||
## Target Early Use Cases
|
||||
|
||||
One of the biggest challenges for a new OS kernel is driver support. Linux has been widely accepted due to its wide range of hardware support. As a newcomer, Asterinas faces the challenge of implementing drivers for all devices on a target platform, which would take a significant amount of time.
|
||||
|
||||
To address this obstacle, we have decided to enter the cloud market first. In an IaaS cloud, workloads of different tenants are run in VMs or [VM-style bare-metal servers](https://dl.acm.org/doi/10.1145/3373376.3378507) for maximum isolation and elasticity. The main device driver requirement for the VM environment is virtio, which is already supported by Asterinas. Therefore, using Asterinas as the guest OS of a VM or the host OS of a VM-style bare-metal server in production looks feasible in the near future.
|
||||
|
||||
Asterinas provides high assurance of memory safety thanks to [the framekernel architecture](). Thus, in the cloud setting, Asterinas is attractive for usage scenarios where Linux ABI is necessary but Linux itself is considered insecure due to its large Trusted Computing Base (TCB) and memory unsafety. Specifically, we are focusing on two use cases:
|
||||
|
||||
1. VM-based TEEs: All major CPU architectures have introduced VM-based Trusted Execution Environment (TEE) technology, such as ARM CCA, AMD SEV, and Intel TDX. Applications running inside TEEs often handle private or sensitive data. By running on a lightweight and memory-safe OS kernel like Asterinas, they can greatly enhance security and privacy.
|
||||
|
||||
2. Secure containers: In the cloud-native era, applications are commonly deployed in containers. The popular container runtimes like runc and Docker rely on the OS-level isolation enforced by Linux. However, [Linux containers are prone to privilege escalation bugs](https://dl.acm.org/doi/10.1145/3274694.3274720). With its safety and security prioritized architecture, Asterinas can offer more reliable OS-level isolation, making it ideal for secure containers.
|
||||
|
@ -1 +0,0 @@
|
||||
# Development Status and Roadmap
|
Loading…
x
Reference in New Issue
Block a user