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
780
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
870
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
930
デバッガと和解せよ
nullpo_head
8
4.4k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
95
SystemdのWSLディストロを作る
nullpo_head
0
250
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
630
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
170
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
400
Other Decks in Technology
See All in Technology
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
340
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
3
2k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
5
1.3k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
4
920
新規事業における「一部だけどコア」な AI精度改善の優先順位づけ
zerebom
0
440
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
1
260
「AIでできますか?」から「Agentを作ってみました」へ ~「理論上わかる」と「やってみる」の隔たりを埋める方法
applism118
14
9.1k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
140
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
110
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
2
290
SREの仕事を自動化する際にやっておきたい5つのポイント
jacopen
6
1.2k
GCASアップデート(202510-202601)
techniczna
0
220
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Marketing to machines
jonoalderson
1
4.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
92
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
54
From π to Pie charts
rasagy
0
120
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
150
WCS-LA-2024
lcolladotor
0
430
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
190
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How to Ace a Technical Interview
jacobian
281
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
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