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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takaya Saeki
July 22, 2023
Technology
820
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
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
3.4k
コンテナセキュリティのためのLandlock入門
nullpo_head
5
1.2k
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
1.1k
デバッガと和解せよ
nullpo_head
8
4.5k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
110
SystemdのWSLディストロを作る
nullpo_head
0
280
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
690
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
230
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
490
Other Decks in Technology
See All in Technology
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
390
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
5
2.1k
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
120
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
410
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
600
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
910
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
3
400
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
110
そのドキュメント、自動化しませんか?
yuksew
1
390
Type-safe IaC for Dart
coborinai
0
180
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The SEO identity crisis: Don't let AI make you average
varn
0
520
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
840
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
sira's awesome portfolio website redesign presentation
elsirapls
0
300
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Designing for humans not robots
tammielis
254
26k
Navigating Weather and Climate Data
rabernat
0
390
Into the Great Unknown - MozCon
thekraken
41
2.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