SlideShare ist ein Scribd-Unternehmen logo
1 von 66
カーネル空間で
すべてのプロセスを動かすには
-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

Weitere ähnliche Inhalte

Was ist angesagt?

DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
Windowsコンテナ入門
Windowsコンテナ入門Windowsコンテナ入門
Windowsコンテナ入門Kyohei Mizumoto
 
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Hiraku Toyooka
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術Etsuji Nakai
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミングPreferred Networks
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをi_yudai
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~JustSystems Corporation
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ信之 岩永
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤTakashi Hoshino
 
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)Takanori Sejima
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術Kiyokuni Kawachiya
 
Json型の使い方
Json型の使い方Json型の使い方
Json型の使い方tsudaa
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)Takeshi HASEGAWA
 
Page reclaim
Page reclaimPage reclaim
Page reclaimsiburu
 

Was ist angesagt? (20)

DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Windowsコンテナ入門
Windowsコンテナ入門Windowsコンテナ入門
Windowsコンテナ入門
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミング
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
 
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
Json型の使い方
Json型の使い方Json型の使い方
Json型の使い方
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
 
Page reclaim
Page reclaimPage reclaim
Page reclaim
 

Ähnlich wie カーネル空間ですべてのプロセスを動かすには -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 4Emma 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で行こう悟 宮崎
 
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点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 architectureraw-hide
 
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallTakuya ASADA
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようTakashi Makino
 

Ähnlich wie カーネル空間ですべてのプロセスを動かすには -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でらくらく開発・運用を体感しよう
 

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

Hinweis der Redaktion

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