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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Takaya Saeki
July 22, 2023
Technology
0
800
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.2k
コンテナセキュリティのための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
650
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
190
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
430
Other Decks in Technology
See All in Technology
How to install a gem
indirect
0
1.9k
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
440
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2k
MIX AUDIO EN BROADCAST
ralpherick
0
120
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2k
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
120
「AIエージェントで変わる開発プロセス―レビューボトルネックからの脱却」
lycorptech_jp
PRO
0
180
AI時代のIssue駆動開発のススメ
moongift
PRO
0
290
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
140
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
0
160
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
110
FastMCP OAuth Proxy with Cognito
hironobuiga
3
220
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
76
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Mobile First: as difficult as doing things right
swwweet
225
10k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Paper Plane
katiecoart
PRO
0
48k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
Believing is Seeing
oripsolob
1
99
The Mindset for Success: Future Career Progression
greggifford
PRO
0
290
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
500
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