Submit Search
Upload
Arch rinko
•
Download as PPTX, PDF
•
0 likes
•
12 views
masatora atarashi
Follow
2020 Archの輪講資料 プロセッサを支える技術
Read less
Read more
Technology
Report
Share
Report
Share
1 of 24
Download now
Recommended
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
物理マシンをケチる技術
物理マシンをケチる技術
Satoshi KOBAYASHI
BHyVeでOSvを起動したい 〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい 〜BIOSがなくてもこの先生きのこるには〜
Takuya ASADA
OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
BHyVeってなんや
BHyVeってなんや
Takuya ASADA
iostatの見方
iostatの見方
Yohei Azekatsu
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Ruo Ando
Bhyve code reading
Bhyve code reading
Takuya ASADA
Recommended
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
物理マシンをケチる技術
物理マシンをケチる技術
Satoshi KOBAYASHI
BHyVeでOSvを起動したい 〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい 〜BIOSがなくてもこの先生きのこるには〜
Takuya ASADA
OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
BHyVeってなんや
BHyVeってなんや
Takuya ASADA
iostatの見方
iostatの見方
Yohei Azekatsu
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Ruo Ando
Bhyve code reading
Bhyve code reading
Takuya ASADA
Bhyve Internals
Bhyve Internals
Takuya ASADA
Csec52 45 Ruo Ando
Csec52 45 Ruo Ando
Ruo Ando
NetBSD on Google Compute Engine
NetBSD on Google Compute Engine
Ryo ONODERA
2009-03-24 第3回セキュアVMシンポジウム
2009-03-24 第3回セキュアVMシンポジウム
Takahiro Shinagawa
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
Shotaro Uchida
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
2008-03-19 第2回セキュアVMシンポジウム
2008-03-19 第2回セキュアVMシンポジウム
Takahiro Shinagawa
Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門
VirtualTech Japan Inc.
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Atsushi Koshiba
Robovie Maker2éêàµê‡ñæèë
Robovie Maker2éêàµê‡ñæèë
guesta33ba0
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
Tsukasa Oi
RTOS入門 割り込み制御
RTOS入門 割り込み制御
miwarin
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
Kuniyasu Suzaki
UNIXアレコレ調べたい3
UNIXアレコレ調べたい3
Hirokazu Yatsunami
Ns2240series users manual_07
Ns2240series users manual_07
squat12
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
株式会社サードウェア
IkaLog20170316pynq_dist
IkaLog20170316pynq_dist
Takeshi HASEGAWA
Play with UEFI
Play with UEFI
Takuya ASADA
SSHDノートPC高速化 / Let's note CF-S9
SSHDノートPC高速化 / Let's note CF-S9
Yukio Saito
テキサスインスツルメンツ Cc2650、cc2650 rcを使ってみた
テキサスインスツルメンツ Cc2650、cc2650 rcを使ってみた
Yoshiaki Ito
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Kuniyasu Suzaki
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Kuniyasu Suzaki
More Related Content
What's hot
Bhyve Internals
Bhyve Internals
Takuya ASADA
Csec52 45 Ruo Ando
Csec52 45 Ruo Ando
Ruo Ando
NetBSD on Google Compute Engine
NetBSD on Google Compute Engine
Ryo ONODERA
2009-03-24 第3回セキュアVMシンポジウム
2009-03-24 第3回セキュアVMシンポジウム
Takahiro Shinagawa
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
Shotaro Uchida
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
2008-03-19 第2回セキュアVMシンポジウム
2008-03-19 第2回セキュアVMシンポジウム
Takahiro Shinagawa
Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門
VirtualTech Japan Inc.
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Atsushi Koshiba
Robovie Maker2éêàµê‡ñæèë
Robovie Maker2éêàµê‡ñæèë
guesta33ba0
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
Tsukasa Oi
RTOS入門 割り込み制御
RTOS入門 割り込み制御
miwarin
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
Kuniyasu Suzaki
UNIXアレコレ調べたい3
UNIXアレコレ調べたい3
Hirokazu Yatsunami
Ns2240series users manual_07
Ns2240series users manual_07
squat12
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
株式会社サードウェア
IkaLog20170316pynq_dist
IkaLog20170316pynq_dist
Takeshi HASEGAWA
Play with UEFI
Play with UEFI
Takuya ASADA
SSHDノートPC高速化 / Let's note CF-S9
SSHDノートPC高速化 / Let's note CF-S9
Yukio Saito
テキサスインスツルメンツ Cc2650、cc2650 rcを使ってみた
テキサスインスツルメンツ Cc2650、cc2650 rcを使ってみた
Yoshiaki Ito
What's hot
(20)
Bhyve Internals
Bhyve Internals
Csec52 45 Ruo Ando
Csec52 45 Ruo Ando
NetBSD on Google Compute Engine
NetBSD on Google Compute Engine
2009-03-24 第3回セキュアVMシンポジウム
2009-03-24 第3回セキュアVMシンポジウム
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
2008-03-19 第2回セキュアVMシンポジウム
2008-03-19 第2回セキュアVMシンポジウム
Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Robovie Maker2éêàµê‡ñæèë
Robovie Maker2éêàµê‡ñæèë
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
システムレジスタの不足と2つのシンプルなアンチフォレンジック攻撃 - AVTokyo 2009
RTOS入門 割り込み制御
RTOS入門 割り込み制御
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
Cloud ComputingにおけるVMのセキュリティ(14/Jan/2010)
UNIXアレコレ調べたい3
UNIXアレコレ調べたい3
Ns2240series users manual_07
Ns2240series users manual_07
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
IkaLog20170316pynq_dist
IkaLog20170316pynq_dist
Play with UEFI
Play with UEFI
SSHDノートPC高速化 / Let's note CF-S9
SSHDノートPC高速化 / Let's note CF-S9
テキサスインスツルメンツ Cc2650、cc2650 rcを使ってみた
テキサスインスツルメンツ Cc2650、cc2650 rcを使ってみた
Similar to Arch rinko
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Kuniyasu Suzaki
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Kuniyasu Suzaki
Cloud VM Security on Cloud Computingi 20090311
Cloud VM Security on Cloud Computingi 20090311
guestec25d2
Virtual Machine Security on Cloud Computing 20090311
Virtual Machine Security on Cloud Computing 20090311
Kuniyasu Suzaki
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
Takahiro Shinagawa
2008-11-18 セキュアVMワークショップ
2008-11-18 セキュアVMワークショップ
Takahiro Shinagawa
Cloud stackユーザ会大阪 運用Tips 20130802
Cloud stackユーザ会大阪 運用Tips 20130802
hirokihojo
私立大学情報教育協会大学 情報セキュリティ研究講習会
私立大学情報教育協会大学 情報セキュリティ研究講習会
Kuniyasu Suzaki
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
junichi anno
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
Kuniyasu Suzaki
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
Kuniyasu Suzaki
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
axsh co., LTD.
VIOPS04: Intel VT ~仮想化を支える基礎技術~
VIOPS04: Intel VT ~仮想化を支える基礎技術~
VIOPS Virtualized Infrastructure Operators group ARCHIVES
SCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだ
wind06106
トラブルから理解するHyper vの基礎
トラブルから理解するHyper vの基礎
Naoki Abe
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
Sunao Tomita
Jcsug21 20140912
Jcsug21 20140912
hirokihojo
20120822_dstn技術交流会_仮想化について
20120822_dstn技術交流会_仮想化について
dstn
Osc2009 Sendai Xen 0124
Osc2009 Sendai Xen 0124
Kazuhisa Hara
Similar to Arch rinko
(20)
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Cloud VM Security on Cloud Computingi 20090311
Cloud VM Security on Cloud Computingi 20090311
Virtual Machine Security on Cloud Computing 20090311
Virtual Machine Security on Cloud Computing 20090311
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
2010-11-02 第1回クラウドコンピューティング基盤シンポジウム(品川)
2008-11-18 セキュアVMワークショップ
2008-11-18 セキュアVMワークショップ
Cloud stackユーザ会大阪 運用Tips 20130802
Cloud stackユーザ会大阪 運用Tips 20130802
私立大学情報教育協会大学 情報セキュリティ研究講習会
私立大学情報教育協会大学 情報セキュリティ研究講習会
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
JITA(日本産業技術振興協会)講演会資料:クラウドコンピューティングにおける仮想マシンのセキュリティ
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
VIOPS04: Intel VT ~仮想化を支える基礎技術~
VIOPS04: Intel VT ~仮想化を支える基礎技術~
SCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだ
トラブルから理解するHyper vの基礎
トラブルから理解するHyper vの基礎
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
Jcsug21 20140912
Jcsug21 20140912
20120822_dstn技術交流会_仮想化について
20120822_dstn技術交流会_仮想化について
Osc2009 Sendai Xen 0124
Osc2009 Sendai Xen 0124
Recently uploaded
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Recently uploaded
(12)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Arch rinko
1.
Arch輪講資料 (仮想化をサポートするハードウェア機構) 2020.12.23 masatora
2.
スライドの内容 仮想化を効率よく行うためのハードウェア機構 - ハードウェア操作命令の検出 - ハードウェア状態の復元・退避 -
メモリの仮想化 - I/Oの仮想化 仮想化技術の応用 - ライブマイグレーション
3.
ハードウェア操作命令の検出
4.
特権違反例外処理 1. ゲストOSがハードウェアにアク セスする命令を実行しようとする 1. ゲストOSはユーザ状態での実行 なので特権違反となり例外が発生 する 1.
VMMの例外処理部に命令実行が 移る
5.
ハードウェア状態の退避・復元
6.
仮想マシン制御情報の管理 1. (VMM)が仮想マシンへの切り替え命令を実 行 2. ハードウェアがVMMの状態を制御情報の 中のVMMエリアに退避?? 3.
(VMM)が仮想マシンの以前の状態を制御情 報の仮想マシンエリアから取り出す 4. (VMM)が実プロセッサのレジスタに(仮想 マシンの以前の状態)を復元する 5. (VMM)が仮想マシンの実行を再開する
7.
メモリの仮想化
8.
メモリの仮想化 1. 仮想化を行う場合のメモリアクセス a. 問題点 b.
解決策 i. シャドウページテーブル ii. 仮想TLB方式 2. 二重のアドレス変換を自動化するハードウェア機構
9.
仮想化を行う場合のメモリアクセス 1. ゲストOSがアプリケーション論理アドレスを仮 想物理アドレスに変換する 1. VMMが仮想物理アドレスを物理アドレスに変換 する 1.
1,2の変換結果(論理アドレスと物理アドレスの ペア)をTLBに書き込む
10.
仮想化を行う場合のメモリアクセスの問題点 x86等のプロセッサは、ハードウェアが自動的にページテーブルを読んで変 換結果をTLBに書き込む「ハードウェアテーブルウォーク機構」を持って いる その場合、ゲストOSのページテーブルが変わるたびに間違ったTLBに書き 換えられてしまう
11.
解決策(1)シャドウページテーブル
12.
解決策(2)仮想TLB方式 1. シャドウページテーブルとTLBを空にして おく 2. アプリケーションがメモリをアクセスする とページフォールト例外が発生する 3.
VMMに制御が移る 4. VMMはゲストOSのページテーブルとVMM のページテーブルを見て論理アドレスを物 理アドレスに変換する 5. VMMはその結果をシャドウページテーブ ルに書き込む
13.
二重のアドレス変換を自動化するハードウェア機構(よくわかってない) 1. アプリケーションプログラムのメモリアド レスがTLBをミスすると、ゲストOSのペー ジテーブルを使って論理アドレスを仮想物 理アドレスに変換する 1. その仮想物理アドレスを、VMMのページ テーブルEPT(?)を使って物理アドレスに変 換する
14.
I/Oの仮想化
15.
I/Oの仮想化方式 1. 正統的なI/O仮想化(プロセッサの仮想化と同様の手法) 1. パススルー方式 1.
準仮想化方式
16.
(1)正統的なI/O仮想化(プロセッサの仮想化と同様の手法) 1. ゲストOSはデバイスドライバを持っている 1. ゲストトOSがI/Oコントローラーを操作する命令を 実行しようとする 1.
ゲストOSはユーザ状態での実行なので特権違反と なり例外が発生する 1. VMMが入出力装置を代行する 1. VMMが入出力装置のエミュレーションを行う
17.
(1)正統的なI/O仮想化の問題点 1. デバイスドライバを騙すほど正確なエミュレータを作るのが難しい 2. VMMにデバイスドライバを揃えるのは大変 3.
ハードウェア操作にVMMが介在するため性能も低い
18.
(2)パススルー方式
19.
(2)パススルー方式の問題点 1. 入出力装置の共用ができない 1. ゲストOSのデバイスドライバにバグがあって間違ったアドレスにDMA すると、他のゲストOSの領域を壊してしまう恐れがある
20.
(2)パススルー方式の問題点の解決策 1. 入出力装置の共用ができない →SR-IOVに準拠するディスクコントローラやLANアダプタを使用する 1. ゲストOSのデバイスドライバにバグがあって間違ったアドレスにDMA すると、他のゲストOSの領域を壊してしまう恐れがある →I/Oハブチップやコントローラチップ内部にアドレス変換機構やIOTLBを もたせる
21.
(3)準仮想化方式 1. ゲストOSを一部書き換える必要がある 1. VMMがI/O専用のゲストOSを作成する 1.
ゲストOSからI/O専用のゲストOSに対 して抽象度の高い命令(ディスクのデー タブロックのR/WやLANのパケットの 送受etc)を送る 1. I/O専用のゲストOSがI/Oコントローラ のレジスタ操作レベルに変換して入出 力装置を操作する
22.
性能
23.
仮想化技術の応用
24.
ライブマイグレーション
Editor's Notes
仮想化を効率よく行うためには、各種のハードウェア機構が必要
仮想化のためには、ゲストOSがハードウェアを操作しようとしていることを検出する必要がある。それを実現するのが特権違反例外処理
VMMはゲストOSが与えられたプロセッサ時間を使い切ったり、入出力などの待ち時間の長い処理を開始したときに別の仮想マシンに切り替えを行う。 VMMは、ユーザ状態で操作できるレジスタ・特権状態で操作できるレジスタの情報をまとめて「仮想マシン制御情報」として管理している。 ()の中があってるか確認する。
仮想化を行う場合、メモリアクセスの際に二重にアドレスを変換する必要がある。
x86のような、ハードウェアが自動的にページテーブルを読んで変換結果をTLBに書き込む「ハードウェアテーブルウォーク機構」を持っているプロセッサの場合、ゲストOSのページテーブルが変わるたびに間違ったTLBに書き換えられてしまう
先のスライドの問題の解決策として、VMMの中で論理アドレスと物理アドレスの正しい対応情報を持つ必要がある。それがシャドウページテーブル。ゲストOSのページテーブルが切り替わるたびにシャドウテーブルを作り直す必要があるため、仮想化の大きなオーバーヘッドになっている。
この方式では、新しいページがアクセスされたタイミングでシャドウページテーブルに登録していけば良いので、一個前のスライドの方法より手間がかなり減少する。
シャドウページテーブルの管理は仮想化の大きなオーバーヘッドになっていた。そこで、仮想化をサポートするプロセッサは二重のアドレス変換のオーバーヘッドを低減する機構を持つようになった。IntelのEPTやAMDのNPTがそう。これらの機構では、ハードウェアが二重のページテーブルウォークを自動的にやってくれる。 正直説明の詳細はよくわからなかったが、25回メモリアクセスが必要になるけどVMMが二重のアドレス変換のために手間を掛ける必要がなくなるため、仮想化のオーバーヘッドが大きく減るそうです。
I/Oの仮想化においては、『いろいろな事情』があってプロセッサの仮想化と同じような方法ではうまくいかないケースがあるらしいため、大別すると3種類の仮想化方式が使われている。
一つ目の方式はプロセッサの仮想化と同様に、デバイスドライバを持つゲストOSのハードウェアアクセスを特権違反例外で検出し、VMMが矛盾のない動作を行う、というもの
二つ目の方式はパススルー方式。ゲストOSのデバイスドライバが直接入出力装置を操作する。第一の方式に比べて、VMMが介在しないのでオーバーヘッドが小さいという特徴がある。
入出力装置がデバイスドライバが指定した仮想物理アドレスを物理アドレスに変換してDMA転送してくれる。 PCIバスのI/Oコントローラの部分で入出力装置の仮想化を行う規格であるSR-IOVに準拠したディスクコントローラやLAVアダプタを使用すれば、パススルー方式でも実入出力装置を共用できるようになる
二つ目の方式は準仮想化方式 データセンター(Amazon EC2とか)で使われているらしい(というかそこでしか使われていない?)
方式ごとの性能を比較すると、パススルー方式と準仮想化方式は仮想化を行わない場合とほとんど遜色ない性能を実現している
今までの部分は、一つのプロセッサを複数の仮想マシンに見せる技術 この技術を応用すると、1台のサーバで動作中のアプリケーションを別のサーバに移動して動作を継続させることができる。 それによって、負荷分散をしたり、アプリケーション全体のアクセスが少ないときには少数のサーバに処理を集中させてコストを節約することもできる。
Download now