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
仮想化って何だろう
Search
Shin-ya Koga
September 26, 2024
Technology
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
仮想化って何だろう
2024/09/26 に開催された「クラメソさっぽろIT勉強会 (仮) #5:フリーテーマLT」の LT で使ったスライド。
Shin-ya Koga
September 26, 2024
More Decks by Shin-ya Koga
See All by Shin-ya Koga
カーネルランド Rust 勉強会 #4: Zephyr で Rust を使う前に
shkoga
0
8
カーネルランド Rust 勉強会 #3: 並行処理における安全性
shkoga
1
56
カーネルランド Rust 勉強会 #2; Rust の unsafe
shkoga
0
66
Firecracker のソースを読んでみた
shkoga
1
220
2025-02-18.slide_revised
shkoga
0
130
2024-09-27 リファクタリング勉強会
shkoga
0
120
Other Decks in Technology
See All in Technology
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
190
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
160
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
280
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
300
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
270
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
820
【試作】IoT x AIエージェント
happysamurai294
0
120
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
はじめてのDatabricks:技術者向けワークショップ / beginner-workshop
databricksjapan
PRO
0
150
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
150
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
220
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
800
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
800
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
4 Signs Your Business is Dying
shpigford
187
23k
KATA
mclloyd
PRO
35
15k
Utilizing Notion as your number one productivity tool
mfonobong
4
570
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
First, design no harm
axbom
PRO
2
1.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
190
GraphQLとの向き合い方2022年版
quramy
50
15k
How GitHub (no longer) Works
holman
316
150k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Making Projects Easy
brettharned
120
6.7k
Transcript
仮想化って何だろう 古賀信哉 株式会社アットマークテクノ
自己紹介 現在の会社(2021/04~) 株式会社アットマークテクノ 「めんどくさいところ」担当 プライベートの活動 GitHub : https://github.com/Shin-yaKoga SlideShare :
https://www.slideshare.net/ShinyaKoga X : @shkoga ET ロボコン北海道地区大会実行委員 最近: IoT デバイス監視・運用サービス(Armadillo Twin) 引っ越し先検討中
今日の話の流れ QEMU で自分のボードのエミュレータを 作ろう! 身の回りにある仮想化の種類とはたらき 歴史についても、少しだけ QEMU の I/O エミュレーションの仕組み
ほんのちょっと
身の回りの仮想化と役割 身の回りにあるもの 仮想マシン (Type-2, Type-1:ハイパーバイザ) コンテナ 仮想記憶,仮想ファイルシステム(OS の機能) 役割 ないものをあるように見せる
分離による保護(始まりはメインフレーム) 汎化による I/F 共通化とプラグイン機構
僕(弊社)の利用例 Type-2 仮想マシン : ATDE 自社 Linux 用のクロス開発環境 コンテナ 自社
Linux のアプリケーション実行環境 自社 Linux 用の仮想セルフビルド with CI/CD 意識せずに利用 仮想記憶,ハイパーバイザ クラウド基盤(IoT サービス用)
僕(弊社)の利用例 Type-2 仮想マシン : ATDE 自社 Linux 用のクロス開発環境 コンテナ 自社
Linux のアプリケーション実行環境 自社 Linux 用の仮想セルフビルド with CI/CD 意識せずに利用 仮想記憶,ハイパーバイザ クラウド基盤(IoT サービス用)
ユーザーランドでの仮想化 システムディレクトリの切り替え Type-2 仮想マシン(ハードウェアの仮想化) 「ユーザーランド」?
ユーザーランドでの仮想化 (1/2) システムディレクトリの切り替え 例1: chroot, Python の venv アプリケーションの依存ライブラリの場所を仮想化 例2:
コンテナ chroot + 名前空間の分離 + ネットワーク仮想化 アプリケーションだけ運ぶより互換性が高い 色々入れても壊れない(組み込みソフトウェア開発) 複数のバージョンを同時に使える
ユーザーランドでの仮想化 (2/2) Type-2 仮想マシン(ハードウェアの仮想化) 例: VMware Workstation, Paralles, QEMU, VirtualBox
(1998~2007年) 仮想ハードウェア層(ソフトウェア実装)を はさむことで、より強力な分離 コンテナや仮想環境よりも高いセキュリティ 可搬性も、より高い(サイズは大きい)
カーネルより低レイヤでの仮想化 ユーザーモードと特権モードの切り替え とは違うやり方 システムコール vs ハイパーコール 少ない数(1/10) 低オーバーヘッド、ハードウェア支援 ハードウェアアクセス(小さい単位)で分離 より高いセキュリティ
カーネルより低レイヤでの仮想化 歴史 IBM のメインフレームが起源と言える TSS の実現の仕方(ハイパーバイザの祖先) いま PC での再発明 Type-2
仮想マシン(1998~2007年) Type-1 仮想マシン(2001年~) (VMware ESX) クラウド基盤 Hyper-V (2008年6月)-> Azure(2008年10月)
カーネルより低レイヤでの仮想化 歴史 IBM のメインフレームが起源と言える TSS の実現の仕方(ハイパーバイザの祖先) いま PC での再発明 Type-2
仮想マシン(1998~2007年) Type-1 仮想マシン(2001年~) (VMware ESX) クラウド基盤 Hyper-V (2008年6月)-> Azure(2008年10月)
QEMU の I/O エミュレーション どういう仕組み? 仮想 CPU I/O 用仮想アドレス範囲とコールバック関数 I2C
コントローラを実装してみた! Zephyr OS のアプリケーションで I2C アクセス 現在、CAN コントローラの実装中。
おまけ ロボット動作のシミュレーション ET ロボコンのシミュレータ部門(Unity) WebGL 版はブラウザで動くよ!