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
0
760
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
Tweet
Share
More Decks by Takaya Saeki
See All by Takaya Saeki
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
3k
コンテナセキュリティのためのLandlock入門
nullpo_head
4
730
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
840
デバッガと和解せよ
nullpo_head
8
4.4k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
84
SystemdのWSLディストロを作る
nullpo_head
0
230
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
590
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
140
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
330
Other Decks in Technology
See All in Technology
Linux カーネルが支えるコンテナの仕組み / LF Japan Community Days 2025 Osaka
tenforward
1
120
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
310
生成AI時代のPythonセキュリティとガバナンス
abenben
0
120
ソースを読むプロセスの例
sat
PRO
15
9.8k
OCIjp_Oracle AI World_Recap
shinpy
1
160
AI時代、“平均値”ではいられない
uhyo
8
2.3k
フレームワークを意識させないワークショップづくり
keigosuda
0
240
Introdução a Service Mesh usando o Istio
aeciopires
1
280
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.3k
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
110
組織改革から開発効率向上まで! - 成功事例から見えたAI活用のポイント - / 20251016 Tetsuharu Kokaki
shift_evolve
PRO
2
230
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Statistics for Hackers
jakevdp
799
220k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Gamification - CAS2011
davidbonilla
81
5.5k
How STYLIGHT went responsive
nonsquared
100
5.8k
Docker and Python
trallard
46
3.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Scaling GitHub
holman
463
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
Product Roadmaps are Hard
iamctodd
PRO
55
11k
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