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
690
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
Tweet
Share
More Decks by Takaya Saeki
See All by Takaya Saeki
コンテナセキュリティのためのLandlock入門
nullpo_head
3
510
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
650
デバッガと和解せよ
nullpo_head
8
4.2k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
68
SystemdのWSLディストロを作る
nullpo_head
0
140
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
1
460
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
100
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
250
カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか -
nullpo_head
1
750
Other Decks in Technology
See All in Technology
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
130
Oracle Cloud Infrastructure:2025年4月度サービス・アップデート
oracle4engineer
PRO
0
390
Databricksで完全履修!オールインワンレイクハウスは実在した!
akuwano
0
150
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
810
Azure & DevSecOps
kkamegawa
2
170
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
290
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
110
Part1 GitHubってなんだろう?その2
tomokusaba
1
540
AIとSREで「今」できること
honmarkhunt
3
710
CodeRabbitと過ごした1ヶ月 ─ AIコードレビュー導入で実感したチーム開発の進化
mitohato14
1
240
Aspire をカスタマイズしよう & Aspire 9.2
nenonaninu
0
380
LINE 購物幕後推手
line_developers_tw
PRO
0
400
Featured
See All Featured
KATA
mclloyd
29
14k
Typedesign – Prime Four
hannesfritz
41
2.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Into the Great Unknown - MozCon
thekraken
38
1.7k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
560
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
We Have a Design System, Now What?
morganepeng
52
7.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Facilitating Awesome Meetings
lara
54
6.3k
Why Our Code Smells
bkeepers
PRO
336
57k
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