Projectの範囲

A9N Projectは,A9N Microkernelをコアとして,起動,Kernel Call Interface,User-level Runtime,User-space OS,Buildと実行環境までを扱います.Kernelだけでなく,Kernel上でSystemを構成するために必要な共通Softwareを同じProjectの範囲に含めます.

各Componentは独立したRepositoryとして開発し,公開するInterfaceを通して接続します.この分離により,Kernel,Runtime,OSを個別に変更しながら,標準構成では一貫したSystemとして検証できます.

Component間の関係

標準構成では,次の順序でSourceから実行可能なSystemを構成します.個別のRepositoryと担当範囲はProjectsにまとめています.

Build

SPENCERが各Componentを取得,Buildし,起動可能なDisk Imageを生成します.

Boot

A9NLoader-rsがA9N Microkernelと最初のUser-level Programを読み込み,Boot情報を渡します.

Kernel

A9N MicrokernelがCapability,Address Space,極めて高速なIPC,Notification,Interruptなどの基本Mechanismを提供します.

User level

a9n_typesとa9n_abiがKernel Interfaceを定義し,NunがInitのRuntimeを提供します.Nanami OSなどのUser-level Systemはその上に構築されます.

Projectsを見る

A9N Microkernelの位置付け

A9N MicrokernelはA9N Projectの中心であり,その他のComponentが依存する実行と保護の基盤です.通常のUser-level SoftwareはCapability CallとYIELDを通してKernelを利用します.極めて高速なIPCを含む共通MechanismをKernelが提供し,System固有のPolicyはUser levelに置きます.

公開実装はx86_64を対象に開発されています.Kernel Call,Object,Boot Protocolなどの詳細はDocumentsからA9N Manualを参照できます.

Documentsを見る

Lead Developer/Creator/Founder

Rekka "horizon" IGUMI

A9N Project創設者,開発者

MicrokernelとHypervisorを中心に,Low-Level ProgrammingからSoftware Architectureまでを扱うSoftware Developerです.2022年からA9N Projectを開始し,2023年度未踏ジュニアプログラム・2024年度未踏IT人材発掘・育成事業の支援を受けたうえでA9N MicrokernelとそのEcosystemの開発を行っています.