こんにちは、なんでも屋の夫です。
今回は、Exokernel ベースの KagiroiOS の1月の開発進捗をまとめます。
今月はまともに動くOSへ、土台を固める作業が中心でした。
✅ aarch64(Apple Silicon系)での安定稼働が一段進みました
✅ メモリ回収(reclaim)とページングの仕組みをE2Eで通しました
✅ 互換実行やIPC基盤、開発体験の改善がまとまって前進しました
✅ Web版の体験導線も拡張しつつ、課題も明確になりました

1. 今月のテーマ:フリーズしないOSの土台をつくる
OS開発は機能を増やすほど壊れ方も増えてデバッグがとても大変です。
1月はとりあえず動く状態からフリーズしない状態を目指して、実行の安定化と観測性を重視しました。
✅ aarch64での実行が安定して完走できる状態へ
✅ 待ち、割り込み、入力、描画が噛み合うよう調整
✅ ログやスクリーンショットで実操作テストを実施して確認
2. aarch64安定化と表示・入力の回復
開発機をMacbook Airに回帰したことに伴い、まずはApple Silicon環境で、安定実行できることを目指しました。
- Data Abortの再発を抑え、タイマ周りを安定化
- 待機処理(WaitSet)と入力/描画の詰まりを解消
- 画面キャプチャで表示が継続していることを確認
- virtio入力/ネット/ストレージの同時実行が完走
ひとまず新規機能実装したあとその妥当性を安定しながら確認するための道筋を固めたのが大きな収穫です。
3. メモリとI/Oの基盤強化
この時期は、メモリまわりの土台を一気に強化しました。
- Demand Paging(必要な時にメモリを読み込む)をE2Eで通過
- reclaim(メモリ回収)通知をカーネルからLibOSへ連携
- swap/バックエンドI/Oまで実運用経路で検証
メモリが足りなくなったらどうするか、を実際に動かして確かめられたのは大きいです。
4. IOMMUとRemoteOpsのE2E
安全性と可観測性の両立も前進しました。特にMCP機能を組み込んでQEMU外部からの参照を可能にしました。
- IOMMUのmulti-pool化でDMA分離を強化
- RemoteOps(QEMU外部からの診断・操作)をE2Eで実行
- エラーログやリング破損がないことを確認
Intel VT-d本格対応は今後の課題として残していますが、実機開発に移るときのアーキテクチャでこの辺りはどうするか考えようと思います。
5. 互換実行(ELF・PE)とSpawn経路
LinuxやWindows互換への道もとりあえずわずかに前進です。
- ELF、PEをSpawnRequest経由で実行できる経路を整備
- aarch64でspawnリングの不整合を回復
- ELF hello world、PE hello world の起動確認まで到達
互換でLinuxやWindowsの実行ファイルをとりあえず動かすための最小ラインが見え始めました。
6. Web体験と開発体験の改善
今の開発だと主にQEMUによる実行確認が主体だったので、実際に触ってもらえる導線確保と、日々の開発速度の両方の改善に努めました。
- Web版WASMのmulti-arch対応(aarch64/x86_64)
- Governor制御(cap/gate/doorbell)の可視化と操作
- ビルドキャッシュ、影響判定、並列化によって開発サイクルを加速
上記のうち、aarch64 wasm-web-qemuの実行に関してWebブラウザで可視化に関する問題が発生しており、継続課題です。
7. Proc、IPC、VM運用の底上げ
今週末は運用の土台をさらに太くしました。
- fd、pipe、socket、epollなどの共通IPC基盤を整備
- spawn、exec、cloneの経路をioOS側に統合
- reclaimやdemand-zeroなどVM運用の強化
- NetworkOSにIPv6/DNS AAAA/TLSの最小骨格を追加
これらの基盤が揃ったことで、新たな機能拡張が現実的になりました。
8. まとめと2月に向けて
- aarch64で「止まらないOS」の土台が前進
- メモリ回収・IOMMU・RemoteOpsが実運用レベルに近づいた
- 互換実行とIPC基盤の道筋が見えてきた
- 開発速度が改善
残課題もはっきりしています。WASM対応はとにかく難しいです。
今年中には気軽に触ってもらえる状態にしたいのですが、WASM以外の方法で対応できないかも合わせて考えています。
2月は、実行やデバッグログの取得が安定してきたので、よりまともに使えるOSとしての価値を積み上げていければと思います。
自作ブラウザでWebページを見られるようになると、すごくワクワクしてくるのかな、と勝手に思っています。