Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Unikernelと和解せよ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takaya Saeki
July 22, 2023
Technology
840
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
More Decks by Takaya Saeki
See All by Takaya Saeki
動的にallow/denyできる ファイルサンドボックスを作る
nullpo_head
3
1.3k
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
3.6k
コンテナセキュリティのためのLandlock入門
nullpo_head
5
1.4k
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
1.2k
デバッガと和解せよ
nullpo_head
8
4.6k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
120
SystemdのWSLディストロを作る
nullpo_head
0
300
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
710
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
260
Other Decks in Technology
See All in Technology
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
430
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
160
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
130
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.3k
Getting Started with Google Antigravity
glaforge
0
260
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
570
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
300
今さら理解するウェブフォントver.2026
takanorip
3
700
大型犬好きによるPugの紹介
yamanoku
1
150
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
110
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
210
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
730
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.3k
First, design no harm
axbom
PRO
2
1.3k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Speed Design
sergeychernyshev
33
2.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
A Soul's Torment
seathinner
8
3.7k
The Invisible Side of Design
smashingmag
301
52k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
For a Future-Friendly Web
brad_frost
184
10k
From π to Pie charts
rasagy
1
400
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