MCPcopy Index your code
hub / github.com/asterinas/vostd

github.com/asterinas/vostd @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
8,968 symbols 28,685 edges 1,228 files 2,733 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://github.com/asterinas/vostd/raw/main/docs/src/images/logo_en.svg" alt="asterinas-logo" width="620">


安全で高速、汎用的なOSカーネル。Rustで書かれ、Linuxと互換性があります


<a href="https://github.com/asterinas/asterinas/actions/workflows/test_x86.yml"><img src="https://github.com/asterinas/asterinas/actions/workflows/test_x86.yml/badge.svg?event=push" alt="Test x86-64" style="max-width: 100%;"></a>
<a href="https://github.com/asterinas/asterinas/actions/workflows/test_riscv.yml"><img src="https://github.com/asterinas/asterinas/actions/workflows/test_riscv.yml/badge.svg?event=push" alt="Test riscv64" style="max-width: 100%;"></a>
<a href="https://github.com/asterinas/asterinas/actions/workflows/test_loongarch.yml"><img src="https://github.com/asterinas/asterinas/actions/workflows/test_loongarch.yml/badge.svg?event=push" alt="Test loongarch64" style="max-width: 100%;"></a>
<a href="https://github.com/asterinas/asterinas/actions/workflows/test_x86_tdx.yml"><img src="https://github.com/asterinas/asterinas/actions/workflows/test_x86_tdx.yml/badge.svg" alt="Test Intel TDX" style="max-width: 100%;"></a>
<a href="https://asterinas.github.io/benchmark/x86-64/"><img src="https://github.com/asterinas/asterinas/actions/workflows/benchmark_x86.yml/badge.svg" alt="Benchmark x86-64" style="max-width: 100%;"></a>

English | 中文版 | 日本語

Asterinasの紹介

Asterinasは、安全で高速、汎用的なOSカーネルです。 Linux互換のABIを提供し、Linuxの代替としてシームレスに動作します。 また、メモリの安全性と開発者の利便性を向上させます。

  • Asterinasは、Rustを唯一のプログラミング言語として使用し、 unsafe Rust の使用を明確に定義された最小限の信頼できるコンピューティングベース(TCB)に制限することで、 メモリの安全性を最優先します。 この革新的なアプローチは、フレームカーネルアーキテクチャとして知られ、 Asterinasをより安全で信頼性の高いカーネルオプションとして確立します。

  • Asterinasは、開発者の利便性においてもLinuxを上回ります。 カーネル開発者は、より生産性の高いRustプログラミング言語を利用し、 専用のツールキットであるOSDKを活用してワークフローを簡素化し、 MPLの柔軟性を活かして、カーネルモジュールをオープンソースとして公開するか、 プロプライエタリとして保持するかを選択できます。

本番レベルのOSカーネルを目指す道のりは困難ですが、私たちはこの目標に向けて着実に前進しています。
2024年を通じて、年末レポートに詳述されているように、Asterinasの成熟度を大幅に向上させました。
そして2025年には、Asterinasをx86-64仮想マシン環境で本番運用可能なレベルに引き上げ、実際のユーザーを獲得することを主な目標としています。

クイックスタート

Dockerがインストールされたx86-64 Linuxマシンを用意してください。 以下の3つの簡単なステップに従って、Asterinasを起動します。

  1. 最新のソースコードをダウンロードします。
git clone https://github.com/asterinas/asterinas
  1. 開発環境としてDockerコンテナを実行します。
docker run -it --privileged --network=host --device=/dev/kvm -v $(pwd)/asterinas:/root/asterinas asterinas/asterinas:0.16.0-20250802
  1. コンテナ内でプロジェクトフォルダに移動し、Asterinasをビルドして実行します。
make build
make run

すべてが順調に進めば、Asterinasは仮想マシン内で実行されます。

ドキュメント

プロジェクトの詳細については、The Asterinas Bookをご覧ください。

ライセンス

Asterinasのソースコードとドキュメントは主に Mozilla Public License (MPL), Version 2.0を使用しています。 一部のコンポーネントは、より寛容なライセンスの下で提供されています。 詳細はこちらをご覧ください。 MPLを選択した理由については、こちらをご覧ください。

Extension points exported contracts — how you extend this code

Pollable (Interface)
The `Pollable` trait allows for waiting for events and performing event-based operations. Implementors are required to [24 …
kernel/src/process/signal/poll.rs
DmaBuf (Interface)
A DMA-capable buffer. Any type implements this trait should also implements `HasDaddr` trait, and provides the exact le [7 …
kernel/comps/virtio/src/dma_buf.rs
SetInclude (Interface)
A trait operator to check if a set A includes a set B, i.e., A is a superset of B. [4 implementers]
kernel/libs/typeflags-util/src/set.rs
BundleFile (Interface)
A trait for files in a bundle. The file in a bundle should have its modified time and be validatable. [3 implementers]
osdk/src/bundle/file.rs
UserContextApiInternal (Interface)
Specific architectures need to implement this trait. This should only used in [`UserMode`] Only visible in `ostd`. [3 …
ostd/src/user.rs
AlignExt (Interface)
An extension trait for Rust integer types, including `u8`, `u16`, `u32`, `u64`, and `usize`, to provide methods to make
ostd/libs/align_ext/src/lib.rs
Clock (Interface)
A trait that can abstract clocks which have the ability to read time, and has a fixed resolution. [9 implementers]
kernel/src/time/core/mod.rs
Edit (Interface)
An edit of `Edit ` is an incremental change to a state of `S`. [7 implementers]
kernel/comps/mlsdisk/src/layers/2-edit/edits.rs

Core symbols most depended-on inside this repo

unwrap
called by 2401
kernel/src/process/process_vm/mod.rs
contains
called by 285
kernel/src/process/signal/sig_mask.rs
map
called by 284
ostd/src/arch/x86/iommu/dma_remapping/context_table.rs
clone
called by 282
kernel/src/fs/file_table.rs
lock
called by 271
kernel/src/fs/exfat/fs.rs
clone
called by 234
kernel/src/fs/utils/flock.rs
lock
called by 199
kernel/comps/mlsdisk/src/os/mod.rs
load
called by 153
kernel/src/fs/exfat/bitmap.rs

Shape

Method 5,427
Function 1,880
Class 1,238
Enum 268
Interface 155

Languages

Rust97%
C3%
C++1%

Modules by API surface

kernel/src/fs/ext2/inode.rs105 symbols
kernel/src/fs/ramfs/fs.rs88 symbols
kernel/src/fs/overlayfs/fs.rs82 symbols
kernel/src/fs/utils/inode.rs79 symbols
kernel/src/fs/exfat/inode.rs78 symbols
kernel/comps/mlsdisk/src/layers/3-log/tx_log.rs73 symbols
kernel/comps/mlsdisk/src/layers/1-crypto/crypto_log.rs66 symbols
kernel/src/fs/utils/systree_inode.rs60 symbols
kernel/comps/mlsdisk/src/layers/2-edit/journal.rs59 symbols
kernel/comps/mlsdisk/src/layers/4-lsm/tx_lsm_tree.rs58 symbols
kernel/src/vm/vmar/mod.rs57 symbols
kernel/src/process/process/mod.rs55 symbols

For agents

$ claude mcp add vostd \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact