Skip to content

mochiOS

新しい、セキュアでクラッシュしにくいオペレーティングシステム。

Webサイトコントリビュートリポジトリ

mochiOSについて

mochiOSは、Rustを中心に開発されているx86-64向けオペレーティングシステムです。

メモリ安全性、明確な権限管理、障害からの回復性を重視しながら、既存OSの延長ではない、新しいデスクトップOSの構築を進めています。

mochiOSでは、カーネル、システムサービス、ドライバー、ユーザーランド、アプリケーションを明確に分離します。それぞれのコンポーネントが必要な権限だけを持つことで、問題がOS全体へ波及しにくい構造を目指しています。

現在も活発に開発中であり、仕様や実装は変更される可能性があります。

設計思想

すべては状態である

ページフォルト、システムコール、プロセス、サービス、そしてクラッシュも、mochiOSでは観測可能な状態として扱います。

障害を単に停止として処理するのではなく、発生箇所を切り分け、影響範囲を限定し、可能な限り回復へつなげることを目標としています。

安全性を構造で実現する

安全性を個々のプログラムの正しさだけに依存させません。

Capabilityによる権限管理、プロセス間の分離、Rustによるメモリ安全性を組み合わせ、コンポーネントが侵害された場合でも影響を限定できる設計を進めています。

開発者が理解できるOS

内部構造を隠しすぎず、OSを構成する各レイヤーの責務を明確にします。

コードを読めること、動作を追跡できること、変更の影響を説明できることを重視しています。

主な技術

  • Language: Rust
  • Architecture: x86-64
  • Kernel: mnu
  • Security: Capability-based
  • Filesystem: ext2(PlugKitによりいくらでも変えられます)
  • License: Apache License 2.0(例外あり)

リポジトリ

OS

  • mochiOS mochiOS全体の統合、ビルド、システムイメージの生成を管理します。

  • mnu mochiOSのカーネルです。

  • services システムサービスを管理します。

ユーザーランド

  • syscalls ユーザーランドの実行環境とシステムコールインターフェースです。

  • libc mochiOS向けのC標準ライブラリです。

  • msh mochiOS向けに開発されている標準シェルです。

ハードウェアと資産

  • drivers PlugKitに対応するドライバーを管理します。

  • fonts mochiOSで使用するフォントを管理します。

すべてのリポジトリはリポジトリ一覧から確認できます。

PlugKit

PlugKitは、mochiOSのユーザーランドで動作するドライバーを作成できるフレームワークです。

一般的なモノリシックカーネルでは、多くのデバイスドライバーがカーネル空間で動作します。 そのため、ドライバーのバグや不正なメモリアクセスが、カーネル全体のクラッシュや権限侵害につながる可能性があります。

mochiOSでは、可能な限りドライバーを独立したユーザーランドプロセスとして実行します。

PlugKitドライバーは、通常のプロセスと同様に隔離されます。

ドライバーには、対象デバイスを操作するために必要なCapabilityだけが付与されます。関係のない物理メモリ、I/Oポート、割り込み、デバイスへ自由にアクセスすることはできません。

コントリビュート

mochiOSは、経験や所属を問わず、あらゆる貢献を歓迎しています。

コードの実装だけでなく、次のような貢献もプロジェクトの一部です。

  • バグの報告
  • 機能や設計に関する提案
  • ドキュメントの改善
  • コードレビュー
  • テスト
  • 対応ハードウェアの検証
  • UIやデザインに関する提案

変更を送信する場合は、対象リポジトリをフォークし、変更内容を確認したうえでPull Requestを作成してください。

AIを使用したコードも受け付けていますが、送信者自身が内容をレビューし、そのコードに責任を持てることを条件とします。

詳しくはコントリビューションガイドを参照してください。

貢献はいくらでも、どんなものでも歓迎します!

ライセンス

mochiOSの主要なコンポーネントは基本的にApache License 2.0のもとで公開されています。

各リポジトリに含まれるライセンスファイルがある場合、そちらを優先してください。


あなたのOSはまさにあなたのものです。あなたは完全なコントロール権を持ち、可能性は無限大です。

— osdev.orgから翻訳して引用

Pinned Loading

  1. mochiOS mochiOS Public

    A hybrid kernel that simply refuses to die. While other OSs are busy collecting Blue Screens, mochiOS is busy actually running your code

    Shell 51 1

  2. komec komec Public

    Programming language for mochiOS

    Rust 2 1

  3. mnu mnu Public

    mochiOS kernel

    Rust 1

Repositories

Showing 10 of 23 repositories

Top languages

Loading…

Most used topics

Loading…