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
780
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
870
デバッガと和解せよ
nullpo_head
8
4.4k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
91
SystemdのWSLディストロを作る
nullpo_head
0
240
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
610
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
150
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
370
Other Decks in Technology
See All in Technology
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
7
2.8k
MAP-7thplaceSolution
yukichi0403
2
250
Product Engineer
resilire
0
130
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
命名から始めるSpec Driven
kuruwic
3
830
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
2
880
MS Ignite 2025で発表されたFoundry IQをRecap
satodayo
3
230
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
2
450
Capture Checking / Separation Checking 入門
tanishiking
0
110
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
16
6k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Code Reviewing Like a Champion
maltzj
527
40k
For a Future-Friendly Web
brad_frost
180
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Done Done
chrislema
186
16k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Faster Mobile Websites
deanohume
310
31k
Fireside Chat
paigeccino
41
3.7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Facilitating Awesome Meetings
lara
57
6.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