Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
Search
n4mlz
March 08, 2026
Programming
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
March 08, 2026
More Decks by n4mlz
See All by n4mlz
自作OSでLinuxコンテナを動かす
n4mlz
2
4k
NUMA環境とコンテナランタイム ― youki における Linux Memory Policy 実装
n4mlz
1
1.7k
UNTIL. LT #0x07 n4mlz
n4mlz
0
1.7k
Other Decks in Programming
See All in Programming
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2k
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
wkhtmltopdfの次どうするか問題2026
willnet
2
1.2k
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
1.9k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
150
Are APIs Still Relevant in the AI Era?
soyuka
0
240
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
270
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
490
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
140
Java 27新機能 / Java 27 new features
kishida
2
150
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
320
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
450
Code Reviewing Like a Champion
maltzj
528
40k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
Optimizing for Happiness
mojombo
378
71k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Transcript
Cyrius ―Linux 非依存にコンテナをネイティブ実行する専用 OS ― 学習駆動コース 坂井ゼミ 14Ss 川崎晃太朗 SecHack365
2025年度成果発表会 2026/02/28
2 見どころ これだけ見ていってください はじめに ⚫ Linux コンテナをネイティブ実行できる OS を実装しました ⚫
Docker から pull してきたイメージがそのまま実行可能 ⚫ コンテナの実行機構に関して Linux よりシンプルな設計を実現 ⚫ コンテナセキュリティにおける Attack surface の最小化を図った
3 自己紹介 ⚫ 名前: 川崎晃太朗 ⚫ 学習駆動コース 坂井ゼミ ⚫ 筑波大学
情報科学類 3年 ⚫ 興味: コンテナ、クラウドネイティブ技術、自作OS、 自作コンパイラ、Web開発、インフラ、AI/ML ⚫ 好き: 車輪の再発明 はじめに
4 私はコンテナが大好きであるという話 ⚫ 過去にコンテナランタイムを 4 回自作した (言語: C, C, Go,
Rust) ⚫ コンテナランタイム関連の OSS にも貢献 ⚫ デプロイは全部コンテナでやる ⚫ 私の個人開発リポジトリにはだいたい Dockerfile や compose.yml がある 導入
5 しかし、Linux カーネルはコンテナ第一の設計ではない! ⚫ Linux: コンテナが存在しなかった時代からあり、コンテナは後付けの機構 ⚫ 小さい機能の寄せ集めで作られていて、カーネルはその機能群を提供してい るだけ ⚫
歴史的経緯によりコンテナの分離機構は煩雑であり、たびたびそのモデルの 妥当性が疑われている ⚫ 例: cgroup v1 (現在は v2 が主流になった) 導入
6 しかし、Linux カーネルはコンテナ第一の設計ではない! ⚫ Linux は元々コンテナが存在しなかった時代からあり、コンテナは後付けの機構 ⚫ 小さい機能の寄せ集めで作られていて、カーネルはその機能群を提供しているだけ ⚫ そのため歴史的経緯によりコンテナの分離機構は煩雑であり、たびたびそのモデルの
妥当性が疑われている ⚫ 例: cgroup v1 (現在は v2 が主流になった) 導入 別に Linux カーネルが悪いわけではない。 コンテナという概念が存在しなかったカーネルに、その分離機能 をそれぞれ独立に積み重ねていった結果である
7 ⚫ Linux は元々コンテナが存在しなかった時代からあり、コンテナは後付けの機構 ⚫ 小さい機能の寄せ集めで作られていて、カーネルはその機能群を提供しているだけ ⚫ そのため歴史的経緯によりコンテナの分離機構は煩雑であり、たびたびそのモデルの 妥当性が疑われている ⚫
例: cgroup v1 (現在は v2 が主流になった) しかし、Linux カーネルはコンテナ第一の設計ではない! 導入 別に Linux カーネルが悪いわけではない。 コンテナという概念が存在しなかったカーネルに、その分離機能 をそれぞれ独立に積み重ねていった結果である けしからん じゃないか!! 好奇心アヒル Linux に (私は) 納得いかない。けしからん! これからはコンテナの時代なので、コンテナを第一に考えた OS を誕生させましょう!!
8 成果物「 Cyrius」 ⚫ コンテナランタイムに極度に特化した OS であり、 それ以外の機能を有さない ⚫ 既存のコンテナの標準仕様への互換を持つ
⚫ コンテナに期待されるセキュリティと同等の 隔離性・互換性を、Linux と全く異なる セキュリティモデルで実現する 成果物
9 まずはデモ 1. Busybox のコンテナが動作する様子 成果物
10 まずはデモ 1. Busybox のコンテナが動作する様子 2. ブログをホストする Web サーバーのコンテナが動作する様子 成果物
11 まずはデモ 1. Busybox のコンテナが動作する様子 成果物
12 まずはデモ 1. Busybox のコンテナが動作する様子 2. ブログをホストする Web サーバーのコンテナが動作する様子 成果物
13 まずはデモ 1. Busybox のコンテナが動作する様子 2. ブログをホストする Web サーバーのコンテナが動作する様子 成果物
14 コンテナが実行される仕組み 既存のコンテナ OCI Bundle OCI Bundle: 「こういうコンテナを作ってね」というお願い書 コンテナイメージから作られる コンテナランタイムはこれを見てコンテナを立てる
15 コンテナが実行される仕組み 既存のコンテナ OCI Bundle
16 コンテナが実行される仕組み 既存のコンテナ OCI Bundle コンテナ
17 コンテナが実行される仕組み 既存のコンテナ OCI Bundle コンテナ カーネルから提供される「様々な用途に応用できるための最低限の 小さい操作」を組み合わせてコンテナを作る ここの仕組みがむちゃくちゃ複雑
18 もう一度: ⚫ OCI Bundle…「こういうコンテナを立ててね」というお願い書 ⚫ ところで: OCI Bundle のお願いでは、前述した
Linux の機能を使ってコンテナを作成する ことを必ずしも求めない 既存のコンテナ OCI Bundle 展開するファイルシステム、 分離する名前空間、実行するユーザー、 ケーパビリティ、環境変数などの定義
19 もう一度: ⚫ ところで2: Linux コンテナ (プロセス) は OS の機能を利用するために
syscall を発行する が、この syscall の互換性さえ満たせばこのプロセスは下が Linux なのか互換性を持った別 の何かなのかは気にしない 既存のコンテナ コンテナ (プロセス) syscall による やり取り Linuxカーネル
20 もう一度: ⚫ ところで2: Linux コンテナ (プロセス) は OS の機能を利用するために
syscall を発行する が、この syscall の互換性さえ満たせばこのプロセスは下が Linux なのか互換性を持った別 の何かなのかは気にしない 既存のコンテナ コンテナ (プロセス) syscall による やり取り Linuxカーネル…?
21 → OCI Bundle を直接解釈してコンテナを建てる専用 OS が考えられそう? 既存のコンテナ Cyrius の誕生
22 Cyrius の特異性 ⚫ Cyrius は "Type1 Container Runtime" である
(新概念) Cyrius の思想 ハイパーバイザー コンテナランタイム ユーザーランド (Type2) Type2 Hypervisor 例: QEMU, VirtualBox Type2 Container Runtime 例: runc (Docker), youki カーネル空間 (Type1) Type1 Hypervisor 例: VMware ESXi
23 Cyrius の特異性 ⚫ Cyrius は "Type1 Container Runtime" である
(新概念) Cyrius の思想 ハイパーバイザー コンテナランタイム ユーザーランド (Type2) Type2 Hypervisor 例: QEMU, VirtualBox Type2 Container Runtime 例: runc (Docker), youki カーネル空間 (Type1) Type1 Hypervisor 例: VMware ESXi Type1 Container Runtime Cyrius
24 Cyrius の特異性 ⚫ Cyrius は "Type1 Container Runtime" である
(新概念) Cyrius の思想 ハイパーバイザー コンテナランタイム ユーザーランド (Type2) Type2 Hypervisor 例: QEMU, VirtualBox Type2 Container Runtime 例: runc (Docker), youki カーネル空間 (Type1) Type1 Hypervisor 例: VMware ESXi Type1 Container Runtime Cyrius Type1 Container Runtime という概念は 世界初 (おそらく)
25 「コンテナ専用OS」を支えるカーネルの新しい設計思想 カーネルをいかにコンテナに最適化できるか? 1. 「コンテナはネストしない」という強い仮定を置き、ホストとコンテナの2つの世界に分離 されるモデルで表現する 2. ホストプロセスとコンテナプロセスの明確な区別と2つの syscall テーブル
3. コンテナのカーネルオブジェクト化、カーネルによるリソースとライフサイクル管理 4. VFS の完全な分離、コンテナ用ファイルシステムはホストと完全に並列なインスタンス 5. 等々… 詳細: https://github.com/n4mlz/Cyrius Cyrius の思想
26 比較: Linux vs Cyrius ⚫ コンテナを実現するコンポーネントの依存関係 Cyrius の作る新しいコンテナの世界 Cyrius
27 比較: Linux vs Cyrius ⚫ コンテナを実現するコンポーネントの依存関係 Cyrius の作る新しいコンテナの世界 Cyrius
コンテナ専用のカーネルなので、 コンテナに特化した機構を持つ
28 比較: Linux vs Cyrius ⚫ コンテナが実行されるまでの手続き Cyrius の作る新しいコンテナの世界 Cyrius
https://github.com/youki-dev/youki
29 比較: Linux vs Cyrius ⚫ コンテナが実行されるまでの手続き Cyrius の作る新しいコンテナの世界 Cyrius
コンテナ専用のカーネルなので、 コンテナを作成するまでに必要な syscall 呼び出しは1度だけ https://github.com/youki-dev/youki
30 Linux バイナリ互換だけでなく、「Linux コンテナ互換」 ⚫ これは自作 OS のテーマとして面白い ⚫ 自作
OS で動かしたいアプリケーションを Linux 上でコンテナとしてビルドして、自作 OS に持って行ってしまえば良い ⚫ →あとは Linux として実行される ⚫ →自作 OS 用にコンパイルしたり、依存関係を頑張って揃えたりする必要がない ⚫ コンテナレベルの互換を作ったおかげで、自作 OS の上で既存のエコシステムを活用でき る・タダ乗りできる Cyrius の自作 OS としての面白さ
31 世間からの反響 ⚫ 自作 OS ×コンテナというワードが刺さったのか、Twitter で大反響 ⚫ Twitter に定期的に進捗を載せているが、そのたびに300~400いいねついている
⚫ この Cyrius での試みは、実は世間からの注目度が高いのではないか Cyrius がもたらす変革 GitHub: 100スター超え達成 Twitter: 3300いいね、フォロワー300人増
32 応用可能性: ここから見える未来 ⚫ Docker や Kubernetes とのインテグレーション ⚫ Cyrius
は標準仕様に準拠しているので、頑張れば既存のランタイムと連携ができる ⚫ containerd-shim というのを作れば実際に Docker のバックエンドとして呼び出せるようになる見込み ⚫ Cyrius で構成された Kubernetes クラスター ⚫ 自作OSで自作クラウド基盤なんてまだ誰もやったことないはず ⚫ Cyrius だから目指せること! ⚫ 自分自身では Cyrius はかなり面白い技術だと思っているので、いつかこれをテーマに どこかで登壇発表したい Cyrius がもたらす変革
33 まとめ ⚫ Linux コンテナをネイティブ実行できる OS を実装した ⚫ コンテナの実行においては Linux
よりシンプルな設計を達成した ⚫ コンテナセキュリティにおける Attack surface の最小化を図った ⚫ 互換性にまだ難があるので、今後実装を拡充したい おわりに ご清聴ありがとうございました! スターお待ちしてます Cyrius