SlideShare a Scribd company logo
カーネル空間で
すべてのプロセスを動かすには
-TAL, SFI, Wasmとか-
Kernel / VM 探検隊 15回 7/19
Nullpo_head
1
Nullpo_head (Takaya Saeki)
低レイヤ方面
• Noah, VMMによるシステムコー
ル変換を使ってLinuxバイナリを
macOSで動かすやつ
• Xv6を自作OSに移植したやつ
• Xv6をMIPSに移植したやつ
仕事
• Web屋さん
2
最近のトレンド
3
Today’s trend
DPDK SPDK
4
USER SPACE
KERNEL SPACE
App
Context Switch
Overhead!
5
DPDK Solution;
カーネルを
バイパスする
6
USER
SPACE !
!
待てよ・・・
全てカーネル
空間で動かす
方がむしろ速いの
では??
7
USER SPACE
KERNEL SPACE
App
Context Switch
Overhead!
8
USER SPACE
KERNEL SPACE
App
9
USER SPACE
KERNEL SPACE
App
10
単一メモリ空間
USER SPACE
KERNEL SPACE
虚無
終11
App
ただの関数呼び出し
速い!
単一メモリ空間
そもそもなぜ特権レベルによる
分離が必要だったか?
プロセス達やカーネルを隔離するため
• 互いのメモリ空間の読み書きを分離
• 特権命令の拒否
=> Hardware Isolation
12
KERNEL SPACE
✘特権命令の発行
✘メモリ読み放題
13
単一メモリ空間
App
App
KERNEL SPACE
Software App Isolation
Needed!!
✘特権命令の発行
✘メモリ読み放題
14
App
App
単一メモリ空間
本題
プロセスをカーネル空間で動か
すCOOLなプロダクト達のご紹介
15
達成すべきIsolation
1. 特権命令の排除
2. メモリ空間の分離
i.e.割り当てられたメモリ範囲のみでの
1. R/W
2. Execute
これでコンテキストスイッチとサヨナラ!
16
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 17
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation 👈
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 18
1. 高レベル言語によるisolation
19
アイデア
• 「そもそもJavaみたいなメモリ安
全な言語にユーザープログラムを限定す
ればそれで良いっしょ?」
• めっちゃわかりやすい発想。
• JavaOSとか
20
達成すべきIsolation
1. 特権命令の排除
=> CPU命令なんて発行する手段がない
2. メモリ空間の分離
i.e.割り当てられたメモリ範囲のみでの
1. R/W
2. Execute
=> そもそもポインタがない
21
22
高レベル言語によるisolation
• CooL
• 動く
• 惜しい点
• 言語依存性
• 言語ランタイムの安全性
• ロマン
23
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 24
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux 👈
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 25
Kernel Mode Linux
Toshiyuki Maezawa et al. – The University of Tokyo
Maeda Toshiyuki. Kernel mode linux: Toward an operating system
protected by a type theory. In Advances in Computing Science –
ASIAN 2003. Programming Languages and Distributed Computation
Programming Languages and Distributed Computation. Springer
Berlin Heidelberg, 2003.
26
Overview – Kernel Mode Linux
By 前田 俊行先生 (当時 東大旧米澤研)
• 型検査をパスしたプログラムがisolation
を満たす安全性があることを証明できる
「型付きアセンブリ(TAL)」を利用
• カーネルがTALをロード時に型検査、コ
ンパイルしてカーネル空間で動かす
27
達成すべきIsolation – Kernel Mode
Linux
• 特権命令の排除
• TALからその手のInstructionを排除する
• メモリ空間の分離
• 型がついたTALは不正なメモリR/W/Eを行わ
ないことが保証できる
28
システム
1. コンパイラ Popcorn
• Cライク(実際はMLライク)な型安全な言語
• 型付けされたTALx86を吐く
2. TALx86アセンブラ
• アセンブル
3. 型検査器
• 型検査を行い安全性を検証
4. カーネル空間でプロセスを起動
29
パフォーマンス
30
Kernel Mode Linux
• CooL
• 静的型付きアセンブリの利用
• 実際のアセンブリのサブセット
• 惜しい点
• 現状TALx86へコンパイルする言語が
結局のところそもそも型安全言語
• C, C++…
31
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 32
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 33
Singularity, Verve
Microsoft Research
Galen C. Hunt and James R. Larus. Singularity: rethinking the software
stack. SIGOPS Operating Systems Review, 41(2):37–49, 2007.
Jean Yang and Chris Hawblitzel. Safe to the last instruction:
automated verification of a type-safe operating system. In Proc. PLDI,
2010.
34
Singularity Overview
By MSR
• MSの色々野心的な研究用OS
• Software Isolated Process + Microkernel
• ほぼすべての実装がC#製でType safe
• Type safeなMSILアセンブリを実行する
35
Microkernel
+
SIP
• IPCコストが
ネック
=> SIPならOK!
36
Verve
Singularityの進化
• TALアセンブリを実行する!
• BartokコンパイラがMSILではなくTALを
吐くようになった
• BootLoader以外の全コンポーネントが
Boogieによってメモリ安全性が証明済み
• 純粋に強い
37
Singularity, Verve
• CooL
• KMLの特徴に加え、OS自身もMemory Safe
• Software Isolated Process + Microkernel
• C++のようなunsafeな言語も使用
• 惜しい点
• やっぱりTALx86へコンパイルする言語が
そもそも型安全である必要がある
38
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 39
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 40
Software-based Fault Isolation (SFI)
参考:http://www.cse.psu.edu/~gxt29/papers/sfi-final.pdf
41
Software-based Fault
Isolation
• 信頼できないコードを安全に実
行できるよう改変して実行する
手法
• 対象は安全である必要がない
• 典型的にはBinary Translation
• 用途
• ブラウザプラグイン
• サンドボックス全般
42
達成すべきIsolation - SFI
• 特権命令
• Binary Translation中にディスアセンブルして
発見する
• メモリ空間の分離
• Binary Translationによって、すべてのメモリ
RW命令、すべてのJump系命令をチェック機
構つきの安全なものに書き換える
43
SFIによるメモリ空間の分離 1/3
メモリRWが、与えられたメモリ範囲内か
どうかをチェックするよう書き換え
• Rdl r1, r2, # レジスタ2のアドレスをレ
ジスタ1に読み込み
• => if r2 >= min && r2 < max
Rdl r1, r2
else
error
44
SFIによるメモリ空間の分離 2/3
マスクテク; 全てのアドレスを与えられた
メモリに収まるようマスクしてしまう
• Rdl r1, r2
• => Andli r2, r2, 0x00ffffff
Rdl r1, r2
45
SFIによるメモリ空間の分離 3/3
ディスプレースメントの考慮
• Rdl r1, -8(r2)
• 割り当てられたページの前後にガード
ページも作っておく
46
SFI
• 弱点; オーバーヘッド
• 素朴にやると30%くらい
47
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 48
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 49
Google Native Client
https://static.googleusercontent.com/media/research.goo
gle.com/ja//pubs/archive/34913.pdf
50
NaCl
• 「Web上に置いてあるネイティブELF」を
「ブラウザ上で実行する」ためのGoogle
のやばいサンドボックス機構
• パソコンの大先生に
「怪しいWebサイトで落としたバイナリを
実行していい?」って聞いたら絶対呆れる
• でもNaClなら安全
• SFIのテクニックを使ってELFバイナリの
安全性を確認する
51
NaCl Overview
• だいたいNaCl用ツールチェイン, NaClバイ
ナリチェッカー, ランタイムからなる
• ただのx86 / ARM ELFではなく、いくつか
のConstraintを導入してSFIを強制する
• Binary Translationの代わりに実行時にバイナリ
がConstraintを満たしているかチェックする
• ざっくり、Constraintが満たされているなら、
SFIのランタイムチェックの手法が埋め込まれて
いることを保証できる
52
おさらい:SFIによるメモリ空間の分離
メモリRWが、与えられたメモリ範囲内か
どうかをチェックするよう書き換え
• Rdl r1, r2, # レジスタ2のアドレスをレ
ジスタ1に読み込み
• => if r2 >= min && r2 < max
Rdl r1, r2
else
error
53
NaClの具体的なメモリ空間分離
• NaClは、検証時にバイナリをdisasして、
すべてのメモリアクセス命令をチェック
• X86
• すべてのメモリアクセスにセグメントを強制
• AMD64
• 言語上のアドレス空間を32bit幅に制限
• 全てのアドレス計算を、%e*xで行う
54
NaCl
• CooL
• 安全ではない言語C, C++にも対応
• 形式がネイティブバイナリである
• %e*xをうまく使ってオーバーヘッドを削減
• 惜しい点
• ディスコンになった
55
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 56
Cool Isolation Techniques Overview
1. 高レベル言語ランタイムによるisolation
• Java, Ruby, …
2. 型の力によるisolation
• Kernel Mode Linux
• Singularity, Verve
3. SFIによるisolation
• SFIとは
• NaCl
• Nebulet / Wasmer 57
!!!!!!WASM!!!!!!!!
58
再び: NaCl
• CooL
• 安全ではない言語C, C++にも対応
• 形式がネイティブバイナリである
• %e*xをうまく使ってオーバーヘッドを削減
• 惜しい点
• ディスコンになった
59
Asm.js / WASM
のせい
Wasm
• ブラウザでの高速な実行のために誕生
• 型付きではないが安全なアセンブリ言語
• とはいえ全然アセンブリじゃないが・・・
• メモリ空間が外部から与えられた32bitに限定
• Control Flow Integrity
• サンドボックスで動くバイナリにAOT/JIT
• エコシステムの発展が進行中!
60
Wasmer / Kernel-wasm
• Linuxカーネル空間でwasmを動かす
ランタイム
• コンテキストスイッチなしに実行可能
• “eBPF”をKernel-wasm上で表現する
計画も進行中らしい
61
Nebulet
• (Going to be) A microkernel that
implements a WebAssembly "usermode"
that runs in Ring 0.
• Rust製
• SIP + Microkernel + Rust
• ロマンがやばい
• アツさに比べて割と無名
62
Nebuet / Wasmer Kernel-wasm
• CooL!
• 安全ではない言語C, C++にも対応
• 今はやりのWASM
• これからの最適化が期待
63
これからは
Wasm in Kerel空間が熱い!!
64
まとめ
1. 高レベル言語ランタイムによるisolation
• JavaOS
2. 型の力によるisolation
• Kernel Mode Linux, Singularity, Verve
3. SFIによるisolation
• Nebulet / Wasmer
65
令和時代はユーザー空間を捨てろ!
カーネル空間を
どんどん探検しよう!
66

More Related Content

What's hot

0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと
mao999
 
Marp入門
Marp入門Marp入門
Marp入門
Rui Watanabe
 
コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜
コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜
コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜
Retrieva inc.
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
Rui Watanabe
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
Tomoya Kawanishi
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
Ryosuke Okuta
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
 
ネットワーク超入門
ネットワーク超入門ネットワーク超入門
ネットワーク超入門
xyzplus_net
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
オープンソース SLAM の分類
オープンソース SLAM の分類オープンソース SLAM の分類
オープンソース SLAM の分類
Yoshitaka HARA
 
OpenMPI入門
OpenMPI入門OpenMPI入門
OpenMPI入門
Yusuke Matsushita
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
Preferred Networks
 
Brochure TurtleBot3(A4)
Brochure TurtleBot3(A4)Brochure TurtleBot3(A4)
Brochure TurtleBot3(A4)
ROBOTIS Japan
 
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
Yusuke Wada
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由kikairoya
 

What's hot (20)

0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと
 
Marp入門
Marp入門Marp入門
Marp入門
 
コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜
コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜
コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
ネットワーク超入門
ネットワーク超入門ネットワーク超入門
ネットワーク超入門
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
オープンソース SLAM の分類
オープンソース SLAM の分類オープンソース SLAM の分類
オープンソース SLAM の分類
 
OpenMPI入門
OpenMPI入門OpenMPI入門
OpenMPI入門
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
Brochure TurtleBot3(A4)
Brochure TurtleBot3(A4)Brochure TurtleBot3(A4)
Brochure TurtleBot3(A4)
 
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
 

Similar to カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15

Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイントLinuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
uchan_nos
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
Takuya ASADA
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
 
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -
Go Saito
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセスMakoto Kato
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
Kazuto Kusama
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
maebashi
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
Masahito Zembutsu
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
えむ ばーど
 
Lx zoneで行こう
Lx zoneで行こうLx zoneで行こう
Lx zoneで行こう
悟 宮崎
 
Harmoware-VIS Tutorial
Harmoware-VIS TutorialHarmoware-VIS Tutorial
Harmoware-VIS Tutorial
Nobuo Kawaguchi
 
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Kuniyasu Suzaki
 
Clojureの発表など
Clojureの発表などClojureの発表など
Clojureの発表などKikuta Go
 
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッションNutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Satoshi Shimazaki
 
ソフトウェア工学2023 06 コンテナ仮想化
ソフトウェア工学2023 06 コンテナ仮想化ソフトウェア工学2023 06 コンテナ仮想化
ソフトウェア工学2023 06 コンテナ仮想化
Toru Tamaki
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
Unix architecture
Unix architectureUnix architecture
Unix architecture
raw-hide
 
Java in the World of Container by David Buck
Java in the World of Container by David BuckJava in the World of Container by David Buck
Java in the World of Container by David Buck
オラクルエンジニア通信
 
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
Takashi Makino
 

Similar to カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15 (20)

Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイントLinuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
Lx zoneで行こう
Lx zoneで行こうLx zoneで行こう
Lx zoneで行こう
 
Harmoware-VIS Tutorial
Harmoware-VIS TutorialHarmoware-VIS Tutorial
Harmoware-VIS Tutorial
 
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
 
Clojureの発表など
Clojureの発表などClojureの発表など
Clojureの発表など
 
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッションNutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
Nutanix .NEXT ON TOUR IN TOKYO テクニカルセッション
 
ソフトウェア工学2023 06 コンテナ仮想化
ソフトウェア工学2023 06 コンテナ仮想化ソフトウェア工学2023 06 コンテナ仮想化
ソフトウェア工学2023 06 コンテナ仮想化
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
Unix architecture
Unix architectureUnix architecture
Unix architecture
 
Java in the World of Container by David Buck
Java in the World of Container by David BuckJava in the World of Container by David Buck
Java in the World of Container by David Buck
 
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
 

More from Takaya Saeki

Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Takaya Saeki
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Takaya Saeki
 
Introduction to arm virtualization
Introduction to arm virtualizationIntroduction to arm virtualization
Introduction to arm virtualization
Takaya Saeki
 
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかったKernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Takaya Saeki
 
kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!
Takaya Saeki
 

More from Takaya Saeki (6)

Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
 
Introduction to arm virtualization
Introduction to arm virtualizationIntroduction to arm virtualization
Introduction to arm virtualization
 
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかったKernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
 
kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!
 

カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15

Editor's Notes

  1. なんでもあり
  2. 一旦OSの話から離れてユーザーレベルに上がっていきます
  3. 一旦OSの話から離れてユーザーレベルに上がっていきます
  4. 一旦OSの話から離れてユーザーレベルに上がっていきます