Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unikernelと和解せよ
Search
Takaya Saeki
July 22, 2023
Technology
0
770
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
Tweet
Share
More Decks by Takaya Saeki
See All by Takaya Saeki
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
3.1k
コンテナセキュリティのためのLandlock入門
nullpo_head
4
800
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
880
デバッガと和解せよ
nullpo_head
8
4.4k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
92
SystemdのWSLディストロを作る
nullpo_head
0
240
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
610
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
160
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
370
Other Decks in Technology
See All in Technology
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
260
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
580
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
120
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
700
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
100
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
700
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.2k
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
110
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
210
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
320
AI時代におけるアジャイル開発について
polyscape_inc
0
130
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
440
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Scaling GitHub
holman
464
140k
Site-Speed That Sticks
csswizardry
13
990
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Raft: Consensus for Rubyists
vanstee
141
7.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
GitHub's CSS Performance
jonrohan
1032
470k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
710
4 Signs Your Business is Dying
shpigford
186
22k
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