Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unikernelと和解せよ
Search
Takaya Saeki
July 22, 2023
Technology
800
0
Share
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
More Decks by Takaya Saeki
See All by Takaya Saeki
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
3.3k
コンテナセキュリティのためのLandlock入門
nullpo_head
4
1k
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
1k
デバッガと和解せよ
nullpo_head
8
4.5k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
100
SystemdのWSLディストロを作る
nullpo_head
0
260
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
660
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
200
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
440
Other Decks in Technology
See All in Technology
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
1
250
え!?初参加で 300冊以上 も頒布!? これは大成功!そのはずなのに わいの財布は 赤字 の件
hellohazime
0
150
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
770
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
240
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
4
1.6k
Databricksで構築するログ検索基盤とアーキテクチャ設計
cscengineer
0
200
猫でもわかるKiro CLI(CDKコーディング編)
kentapapa
1
120
60分で学ぶ最新Webフロントエンド
mizdra
PRO
33
17k
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
4
400
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
160
🀄️ on swiftc
giginet
PRO
0
390
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
120
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
520
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
160
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
210
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
730
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Claude Code のすすめ
schroneko
67
220k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
What's in a price? How to price your products and services
michaelherold
247
13k
Transcript
UNIKERNELと 和解せよ Takaya Saeki (@nullpo_head) Kernel/VM 探検隊 online part 5
@nullpo_head 1 2022/08/27
@nullpo_head 仮想化周りとかOSとかよくやってます 過去の発表とか • KVM vs HVF (AHF) vs HAXM
– vmm食べ比べ – • カーネル空間ですべてのプロセスを動かすには • WebAssemblyのWeb以外のことぜんぶ話す • SystemdのWSLディストロを作る • デバッガと和解せよ
注:この発表は 一発ギャグです 3
Unikernel作るの、 腰 が 重 く な い ? 4
5 Unikernelは少し面倒で気軽に使えない Unikernel への移植が 面倒 APIを 忘れる その他 Unikernelをやるのが面倒な理由(発表者脳内調べ) POSIX互換
だっけ? 独自 ハイパーコル? Linux APIから unikernelのAPIへ 移植したくない
Unikernelを気軽に 使いたい!!!! 6 Key technology • UKL
UKLというのがあるそうです 9
• ざっくり言って普通のLinuxアプリを Linuxカーネルに静的リンクしてくれる Unikernelの研究 • 理論上普通のLinuxアプリがコンパイル するだけでUnikernelに! • https://github.com/unikernelLinux/ukl 10
UKL
UKLとリンクしてRustプログラムを Unikernelにするtargetが あったら面白いのでは? 11
ビルドしたらUnikernelとしてQemuで動いたら嬉しい!! 13 やりたい
• カーネル向けのCFLAGSでビルドするcustom target “x86_64-uknown-linux-ukl” を作成 • Rustでlibcを差し替えるのは難しい?(rustcの forkが必要?)ので、staticlibを作る • Staticlibを呼ぶCのトランポリンを作る
理想的にはカスタムターゲット向けにビルド するだけでunikernelになってほしいが、 難しそうなので `cargo ukl`コマンドとして実現する 14 UKLでRustプログラムをビルドする
ビルドしたらUnikernelとしてQemuで動いたら嬉しい!! ➡ 動いて嬉しい!! 15 作った
デモ 17