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
710
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
Tweet
Share
More Decks by Takaya Saeki
See All by Takaya Saeki
コンテナセキュリティのためのLandlock入門
nullpo_head
4
560
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
710
デバッガと和解せよ
nullpo_head
8
4.2k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
71
SystemdのWSLディストロを作る
nullpo_head
0
150
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
1
490
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
110
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
270
カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか -
nullpo_head
1
770
Other Decks in Technology
See All in Technology
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
220
How Community Opened Global Doors
hiroramos4
PRO
1
110
Model Mondays S2E02: Model Context Protocol
nitya
0
220
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
100
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
220
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
3
260
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.1k
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
170
MySQL5.6から8.4へ 戦いの記録
kyoshidaxx
1
180
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
500
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.7k
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
120
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
It's Worth the Effort
3n
185
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Facilitating Awesome Meetings
lara
54
6.4k
Typedesign – Prime Four
hannesfritz
42
2.7k
4 Signs Your Business is Dying
shpigford
184
22k
What's in a price? How to price your products and services
michaelherold
246
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
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