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
800
0
Share
Unikernelと和解せよ
kernel/vm探検隊東京第16回の発表です
Takaya Saeki
July 22, 2023
More Decks by Takaya Saeki
See All by Takaya Saeki
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
3.3k
コンテナセキュリティのためのLandlock入門
nullpo_head
4
1k
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
1k
デバッガと和解せよ
nullpo_head
8
4.5k
Talks on Little-Known Random Facts about WSL2
nullpo_head
0
100
SystemdのWSLディストロを作る
nullpo_head
0
260
WebAssemblyのWeb以外のことぜんぶ話す
nullpo_head
2
660
Noah A Robust and Flexible Operating System Compatibility Architecture
nullpo_head
0
200
ARMの仮想化支援機構 arm入門勉強会
nullpo_head
1
440
Other Decks in Technology
See All in Technology
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
8
8.5k
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
2
310
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
190
Databricksで構築するログ検索基盤とアーキテクチャ設計
cscengineer
0
190
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
4
440
ルールルルルル私的函館観光ガイド── 函館の街はイクラでも楽しめる!
nomuson
0
200
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
0
110
聞き手の目線で考えるプロポーザル
takefumiyoshii
0
410
Introduction to Bill One Development Engineer
sansan33
PRO
0
410
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.2k
JOAI2026講評会資料(近藤佐介)
element138
1
120
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
560
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
670
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Building Adaptive Systems
keathley
44
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
[SF Ruby Conf 2025] Rails X
palkan
2
940
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Test your architecture with Archunit
thirion
1
2.2k
Navigating Weather and Climate Data
rabernat
0
160
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