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
600
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
Tweet
Share
More Decks by Takaya Saeki
See All by Takaya Saeki
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか
nullpo_head
4
1.5k
デバッガと和解せよ
nullpo_head
8
4k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
53
SystemdのWSLディストロを作る
nullpo_head
0
85
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
1
320
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
54
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
160
カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか -
nullpo_head
1
640
KVM vs HVF (AHF) vs HAXM
nullpo_head
1
180
Other Decks in Technology
See All in Technology
Tricentisにおけるテスト自動化へのAI活用ご紹介/20240910Shunsuke Katakura
shift_evolve
0
180
eBPFのこれまでとこれから
yutarohayakawa
8
2.9k
グイグイ系QAマネージャーの仕事
sadonosake
0
250
App Router を実プロダクトで採用して見えてきた勘所をちょっとだけ紹介
marokanatani
1
920
効果的なオンコール対応と障害対応
ryuichi1208
5
2.8k
DroidKaigi 2024 たすけて!ViewModel
mhidaka
5
650
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2k
ビジネスとエンジニアリングを繋ぐプロダクトを中心とした組織づくりの実践
sansantech
PRO
1
180
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
1.1k
不動産 x AIことはじめ~データの真価を拓くために
estie
0
100
サーバー管理しないサーバーサービスManaged DevOps Pool
kkamegawa
0
120
忙しい人のためのLangGraph概要まとめ
__ymgc__
1
170
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
56k
Making Projects Easy
brettharned
113
5.8k
Building Your Own Lightsaber
phodgson
101
6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Docker and Python
trallard
39
3k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Facilitating Awesome Meetings
lara
49
5.9k
Side Projects
sachag
451
42k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.6k
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