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.
→
funera1
August 23, 2023
0
100
Unikernelの話
funera1
August 23, 2023
Tweet
Share
More Decks by funera1
See All by funera1
Mercari Summer Intern 2022
funera1
0
28
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
130
Exploring anti-patterns in Rails
aemeredith
2
250
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
340
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Writing Fast Ruby
sferik
630
62k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
92
AI: The stuff that nobody shows you
jnunemaker
PRO
2
250
BBQ
matthewcrist
89
10k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
Transcript
Unikernelの話
仮想マシンとは 物理コンピュータと同じ機能をソフトウェアで実現したコン ピュータのこと VM コンテナ
VMについて App1 App2 HW Hypervisor Guest OS Bins/Libs Virtual HW
Guest OS Bins/Libs Virtual HW カーネルが分離されていて、セキュリティは高い しかし、大量のリソースを使う
コンテナについて HW OS Bins/Libs App1 Bins/Libs App2 Container Engine Bins/Libs
リソースを少ししか使わず、軽量 しかし、カーネルを共有していて、セキュリティ的には不十分
軽量で高セキュリティな実行環境があればうれしい!
Unikernel Unikernelとは、アプリケーションをライブラリ OS(LibOS)の必要最小限の機能のみとリンクさせ、 単一アドレス空間で、直接ハードウェアやハイパーバイザ上で動作するようにしたマシンイメージのこと Lib OS App App App App
Lib OS App Lib OS App Lib OS App Unikernel OS App App App App App 従来のOS LibOS OSの機能をライブラリ化 したもの
Unikernelの特徴 アプリケーションの必要最小限の kernel機能をリンクするため、 イメージのサイズが小さい。( 10MB程度) 軽量
Unikernelの特徴 単一アドレスで動作することで、従来の OSのようなアドレス空間の移動の際にかかるオーバーヘッドがないた め、高速な実行が可能 ユーザ空間 カーネル空間 コンテキストスイッチ 従来のOS 単一アドレス空間 Unikernel
Unikernelの特徴 セキュリティが高い バイ ナリ バイナ リ App 機能A 機能B 機能C
LibOS App 機能A 機能D 機能E LibOS イメージサイズが小さい (Attack Surfaceが小さい) カーネル分離&カーネルごと に構成要素が異なる
Unikernelは軽量・高速・高セキュリティ!
Unikernelの課題 • Unikernelと従来のOSは異なる構成 • 必要最低限のOS機能とリンクするために、OSレイヤの知識が必要 • 従来のアプリケーションをUnikernelで動かす場合、 基本的にアプリケーションの改変が必要 Unikernelを使うは難しい&コストがかかる
Unikernelの今後 このような課題を受けて、 UnikraftやUnikernel Linux(UKL)のような技術が 開発されている
network stack liblwip.o libtcpip.o libhttp.o filisystems libvfs.o libfat.o libext3.o schedulers
libcoop.o libpreempt.o librt.o … Unikernel liblwip.o libvfs.o libcoop.o Unikraft ②ビルド時に、自動で必要なライブラリを 選択してくれる ①Unikraftがアプリケーションが使いうる機能をライブラリとして提供
UKL Linuxやglibcへパッチを当てることで、Linuxアプリをほとんど改変なしに、Unikernel として構築できる
まとめ • UnikernelはVMとコンテナの良いところを合わせた特徴を持つ • ただ、Unikernelを使うのは難しい&コストがかかる • この課題を軽減するような技術も生まれてきている