Suche senden
Hochladen
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
•
Als PPT, PDF herunterladen
•
19 gefällt mir
•
8,997 views
Naoya Kaneko
Folgen
virtio勉強会 #1でしゃべった内容。 未完成版。pdfで上げたのが見えないので上げ直し。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 38
Jetzt herunterladen
Empfohlen
OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
CXL_説明_公開用.pdf
CXL_説明_公開用.pdf
Yasunori Goto
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
Yushiro Furukawa
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
Empfohlen
OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
CXL_説明_公開用.pdf
CXL_説明_公開用.pdf
Yasunori Goto
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
Yushiro Furukawa
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
Yocto bspを作ってみた
Yocto bspを作ってみた
wata2ki
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
Kentaro Ebisawa
OSvの概要と実装
OSvの概要と実装
Takuya ASADA
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
ファイルシステム比較
ファイルシステム比較
NaoyaFukuda
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
xv6のコンテキストスイッチを読む
xv6のコンテキストスイッチを読む
mfumi
Rust で RTOS を考える
Rust で RTOS を考える
ryuz88
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
wata2ki
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
さくらインターネット株式会社
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
VirtualTech Japan Inc.
C91 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C91 Wi-Fi: ららら、(無線的に)素敵なComiket Space
Naoya Kaneko
C90 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C90 Wi-Fi: ららら、(無線的に)素敵なComiket Space
Naoya Kaneko
Weitere ähnliche Inhalte
Was ist angesagt?
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
Etsuji Nakai
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
Yocto bspを作ってみた
Yocto bspを作ってみた
wata2ki
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
Kentaro Ebisawa
OSvの概要と実装
OSvの概要と実装
Takuya ASADA
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
ファイルシステム比較
ファイルシステム比較
NaoyaFukuda
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
xv6のコンテキストスイッチを読む
xv6のコンテキストスイッチを読む
mfumi
Rust で RTOS を考える
Rust で RTOS を考える
ryuz88
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
wata2ki
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
さくらインターネット株式会社
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
VirtualTech Japan Inc.
Was ist angesagt?
(20)
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
Yocto bspを作ってみた
Yocto bspを作ってみた
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
OSvの概要と実装
OSvの概要と実装
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
ファイルシステム比較
ファイルシステム比較
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
xv6のコンテキストスイッチを読む
xv6のコンテキストスイッチを読む
Rust で RTOS を考える
Rust で RTOS を考える
自宅k8s/vSphere入門
自宅k8s/vSphere入門
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
Andere mochten auch
C91 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C91 Wi-Fi: ららら、(無線的に)素敵なComiket Space
Naoya Kaneko
C90 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C90 Wi-Fi: ららら、(無線的に)素敵なComiket Space
Naoya Kaneko
LP49 SystemCall Gateway
LP49 SystemCall Gateway
Naoya Kaneko
続・ららら、(無線的に)素敵なComiket Space
続・ららら、(無線的に)素敵なComiket Space
Naoya Kaneko
Chokaigi 2015: Wi-Fi Survey
Chokaigi 2015: Wi-Fi Survey
Naoya Kaneko
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
Dpdk環境の話
Dpdk環境の話
Masaru Oki
Andere mochten auch
(7)
C91 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C91 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C90 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C90 Wi-Fi: ららら、(無線的に)素敵なComiket Space
LP49 SystemCall Gateway
LP49 SystemCall Gateway
続・ららら、(無線的に)素敵なComiket Space
続・ららら、(無線的に)素敵なComiket Space
Chokaigi 2015: Wi-Fi Survey
Chokaigi 2015: Wi-Fi Survey
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Dpdk環境の話
Dpdk環境の話
Ähnlich wie virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
Takahiro Shinagawa
201711 vxrailチャンピオンクラブ_ワークショップ~入門編~テキスト
201711 vxrailチャンピオンクラブ_ワークショップ~入門編~テキスト
VxRail ChampionClub
仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理
Akari Asai
64bit化してみた話
64bit化してみた話
Yuichi Yoshida
BitVisor Summit 7「8. ベアメタルクラウドにおけるハードウェア保護に関する研究 & Advent Calendar について」
BitVisor Summit 7「8. ベアメタルクラウドにおけるハードウェア保護に関する研究 & Advent Calendar について」
BitVisor
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
えむ ばーど
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
Reconf 201506
Reconf 201506
Takefumi MIYOSHI
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
Motonori Shindo
Trema day 1
Trema day 1
ykuga
仮想記憶の構築法
仮想記憶の構築法
magoroku Yamamoto
仮想化技術の今後の動向
仮想化技術の今後の動向
VirtualTech Japan Inc.
20180629_VxRailCC_サイジング編_EMC田中様
20180629_VxRailCC_サイジング編_EMC田中様
VxRail ChampionClub
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
SAKURA Internet Inc.
4章 Linuxカーネル - 割り込み・例外 4
4章 Linuxカーネル - 割り込み・例外 4
mao999
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
hiyohiyo
Open VZ
Open VZ
Kazuaki Fujikura
Reconf 201901
Reconf 201901
Takefumi MIYOSHI
あるブートローダの話
あるブートローダの話
nullnilaki
Ähnlich wie virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
(20)
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
201711 vxrailチャンピオンクラブ_ワークショップ~入門編~テキスト
201711 vxrailチャンピオンクラブ_ワークショップ~入門編~テキスト
仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理
64bit化してみた話
64bit化してみた話
BitVisor Summit 7「8. ベアメタルクラウドにおけるハードウェア保護に関する研究 & Advent Calendar について」
BitVisor Summit 7「8. ベアメタルクラウドにおけるハードウェア保護に関する研究 & Advent Calendar について」
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
Reconf 201506
Reconf 201506
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
Trema day 1
Trema day 1
仮想記憶の構築法
仮想記憶の構築法
仮想化技術の今後の動向
仮想化技術の今後の動向
20180629_VxRailCC_サイジング編_EMC田中様
20180629_VxRailCC_サイジング編_EMC田中様
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
4章 Linuxカーネル - 割り込み・例外 4
4章 Linuxカーネル - 割り込み・例外 4
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
Open VZ
Open VZ
Reconf 201901
Reconf 201901
あるブートローダの話
あるブートローダの話
Mehr von Naoya Kaneko
Interop Tokyo 2018 Day1 Wi-Fi
Interop Tokyo 2018 Day1 Wi-Fi
Naoya Kaneko
JANOG41 Day3 Wi-Fi
JANOG41 Day3 Wi-Fi
Naoya Kaneko
モバイルするハニーポット無線LANアクセスポイント
モバイルするハニーポット無線LANアクセスポイント
Naoya Kaneko
C92 Day1 Wi-Fi
C92 Day1 Wi-Fi
Naoya Kaneko
JANOG40 Day2 Wi-Fi
JANOG40 Day2 Wi-Fi
Naoya Kaneko
Interop Tokyo 2017 Wi-Fi
Interop Tokyo 2017 Wi-Fi
Naoya Kaneko
NSDI2016 Reading: Wireless Part 1
NSDI2016 Reading: Wireless Part 1
Naoya Kaneko
C89 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C89 Wi-Fi: ららら、(無線的に)素敵なComiket Space
Naoya Kaneko
Reitaisai12 2015 Wi-Fi
Reitaisai12 2015 Wi-Fi
Naoya Kaneko
C87 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C87 Wi-Fi: ららら、(無線的に)素敵なComiket Space
Naoya Kaneko
続々・ららら、(無線的に)素敵なComiket Space C86
続々・ららら、(無線的に)素敵なComiket Space C86
Naoya Kaneko
秋山郷発火村 ネットワーク周りの備忘録・反省
秋山郷発火村 ネットワーク周りの備忘録・反省
Naoya Kaneko
Carmina Burana 全文私訳/注釈(TBD)
Carmina Burana 全文私訳/注釈(TBD)
Naoya Kaneko
Mehr von Naoya Kaneko
(13)
Interop Tokyo 2018 Day1 Wi-Fi
Interop Tokyo 2018 Day1 Wi-Fi
JANOG41 Day3 Wi-Fi
JANOG41 Day3 Wi-Fi
モバイルするハニーポット無線LANアクセスポイント
モバイルするハニーポット無線LANアクセスポイント
C92 Day1 Wi-Fi
C92 Day1 Wi-Fi
JANOG40 Day2 Wi-Fi
JANOG40 Day2 Wi-Fi
Interop Tokyo 2017 Wi-Fi
Interop Tokyo 2017 Wi-Fi
NSDI2016 Reading: Wireless Part 1
NSDI2016 Reading: Wireless Part 1
C89 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C89 Wi-Fi: ららら、(無線的に)素敵なComiket Space
Reitaisai12 2015 Wi-Fi
Reitaisai12 2015 Wi-Fi
C87 Wi-Fi: ららら、(無線的に)素敵なComiket Space
C87 Wi-Fi: ららら、(無線的に)素敵なComiket Space
続々・ららら、(無線的に)素敵なComiket Space C86
続々・ららら、(無線的に)素敵なComiket Space C86
秋山郷発火村 ネットワーク周りの備忘録・反省
秋山郷発火村 ネットワーク周りの備忘録・反省
Carmina Burana 全文私訳/注釈(TBD)
Carmina Burana 全文私訳/注釈(TBD)
Kürzlich hochgeladen
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Kürzlich hochgeladen
(11)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
1.
1 2013/06/09 virtio の基本的なところ (DRAFT) @n_kane
2.
2 参考資料 ✤ というかこのスライドよりむしろ以下の資料を読みましょう ... ✤
Virtio PCI Card Specification ✤ http://github.com/rustyrussell/virtio-spec ✤ とある virtio ドライバの接続部分〜インタフェース〜 by @hasegaw ✤ http://www.slideshare.net/TakeshiHasegawa1/osc2011- tokyofall-virtio
3.
3 ここでするお話について ✤ virtio の基本的なところのお話 ✤
どううごいているか ✤ どうシステムソフトウェアから使えるか ✤ ( つまり )virtio pci card specification のサブセット的な内容 ✤ 主に plan9 の virtio 実装をメインにお話を進めます
4.
4 ここでしないお話について ✤ 仮想化周りの歴史的背景、実現方法、実装、構造 e.t.c. ✤
virtio での通信が VMM 内でどうハンドリングされているか ✤ indirect モード , MSI-X の活用など
5.
5 お題目 ✤ virtio で何ができるの? ✤
virtio デバイスとその見え方 ✤ virtio を使った通信
6.
6 virtio で何ができるの?
7.
7 virtio でホスト・ゲスト間通信! ✤ 何か不思議な力により ✤
ホスト&ゲスト OS 間で共有できるリングバッファができます ✤ しかもメモリ空間が許すかぎり何本でも ✤ ここに適切に情報を詰めてやることで ✤ ゲストからホストへ、あるいはホストからゲストへデータの転送 ができます
8.
8 データの転送ができるなら .... ✤ 準仮想化ドライバ作るときに使えるよね! ✤
たとえば ✤ コントロール用 , TX 用 , RX 用のリングバッファがあれば ✤ NIC っぽい動作をさせられるのでは! ( ホスト側ががんばれば )
9.
9 “virtio デバイス”というもの
10.
10 virtio device ✤ virtio
デバイス ✤ なんらかのまとまった機能を持った仮想的な対象物 = デバイス ✤ たとえば NIC, ブロックデバイス , ファイルシステム e.t.c ✤ いくつかのリングバッファを用いて操作してやることで一定の役 割を果たしてくれる人のこと
11.
11 virtio device as
a PCI device ✤ virtio デバイスはゲストから、 PCI デバイスとして認識されます ✤ ベンダ ID : 0x1AF4 ✤ プロダクト ID : 0x1000 - 0x1040 ✤ これだとどの virtio デバイスだか区別がつかない .... ✤ Subsystem Device ID でデバイスのタイプを判断
12.
12 http://marsee101.blog19.fc2.com/blog-entry-84.html より拝借 0x1000 〜
0x1040 0x1AF4 IDID TYPETYPE 1 NIC 2 BLOCK 3 CONSOLE 5 MEMORY BALLOON 9 9P Subsytem Device ID の例
13.
13 認識できたら初期化 ... の前に ✤
PCI I/O Space に何が入っているかを抑えておきましょう デバイス ( ホスト ) からゲストに 対して提示される利用可能な機能 (feature) 一覧 ( 各ビット ) ゲストが利用する機能 (feature) を 書き込みデバイス ( ホスト ) に伝え るフィールド Virtio Header
14.
14 認識できたら初期化 ... の前に ✤
PCI I/O Space に何が入っているかを抑えておきましょう Qselect に示される番号のリングバ ッファのアドレス ÷ 4096 (guest physical) 操作中のリングバッファの番号 Qselect に示される番号のリング バッファ長 ( デスクリプタの数 ) Virtio Header
15.
15 認識できたら初期化 ... の前に ✤
PCI I/O Space に何が入っているかを抑えておきましょう デバイスの初期化状態や利用状況 についてゲストが告知するために 利用 割り込み状態の通知 リングバッファを操作した際に ゲストがその番号を書き込む Virtio Header
16.
16 virtio デバイスの初期化 (
共通 ) 1 各 OS ごとの PCI デバイス認識フェー ズ 2 ベースアドレスレジスタから map( 左 の構造がみえるようになる ) 3 Status の ACKNOWLEDGE(0x1) ビッ トを立ててデバイスを発見できたこと 、 virtio デバイスだと分かっているこ とを通知 Virtio Header 16
17.
17 virtio デバイスの初期化 (
共通 ) 4 Status の DRIVER(0x2) ビットを立てて 、ゲストがこのデバイスをサポート == ドライバを実装していることを通知 5 デバイス固有の初期化 6 リングバッファの用意 ( 後述 ) 7 Devfeat の内、利用する物を Drvfeat に 書き込み ( 後述 ) Virtio Header 17
18.
18 virtio デバイスの初期化 (
共通 ) 8 すべて正常に成功したら , Status の DRIVER_OK(0x4) ビットを立てる 8 失敗したら , Status の FAILED(0x80) ビットを立てる 以上で attach の部分は終了! 18
19.
19 リングバッファの構造
20.
20 リングバッファとは ✤ 実態はメモリ上のこんなかんじのデータ
21.
21 リングバッファとは ✤ 実態はメモリ上のこんなかんじのデータ デスクリプタテーブル available リング used
リング
22.
22 デスクリプタ ✤ 一つの転送を扱うエンティティ
23.
23 デスクリプタ ✤ 一つの転送を扱うエンティティ 転送対象のデータのアドレス (guest physical) データ長 このデスクリプタの扱いについての フラグ 後続して転送するデスクリプタの番号
24.
24 デスクリプタ ✤ 一つの転送を扱うエンティティ フラグフラグ ((
値値 )) 意味意味 VRING_DESC_F_NEXT (0x01) next フィールドに示される 後続要素がある ( デスクリプ タチェーンによる転送 ) VRING_DESC_F_WRITE (0x02) このデスクリプタは ( ホスト から見て )Write Only である . ホスト→ゲスト方向の転送 VRING_DESC_F_INDIRECT (0x04) Indirect モードによる転送
25.
25 デスクリプタテーブル ✤ ( そのまま
) デスクリプタの配列 ✤ 長さは Virtio Header の Qsize( 個 ) ✤ 転送の度に動的に alloc するのではなく、このテーブルからフリーな デスクリプタを見つけてきて使うという方式 ✤ 基本的には”インデックス値”でアクセスされる
26.
26 available リング このリング用のフラグ ( 割り込み抑制など※
) デスクリプタテーブル used リング avail リング中の 先頭インデックス値 (availidx) デスクリプタ番号を書き込む リング本体 ここに指定された番号のデスクリ プタが処理されるまでは割り込み 抑制
27.
27 used リング このリング用のフラグ ( 割り込み抑制など※
) デスクリプタテーブル available リング used リング中の 先頭インデックス値 (usedidx) デスクリプタ番号が書き込まれる リング本体 ここに指定された番号のデスクリ プタが処理されるまでは割り込み 抑制
28.
28 available リングと used
リング ✤ 基本的には前述のデスクリプタの番号を入れておく配列 ( 長さ Qsize) ✤ available リング ✤ ゲストがデスクリプタの番号を書き込んでリング上のインデックス値 (availidx) を 進めると、それが ( ホストにより ) 処理される ✤ used リング ✤ ホストにより処理されたデスクリプタの番号が書き込まれ、リング上のインデックス値 (usedidx) が更新される ✤ 正確には”デスクリプタの番号”と”デスクリプタチェーンの長さ”が入る ✤ このオペレーション周りは後述
29.
29 リングバッファの扱い方 - 初期 化
-
30.
30 先ほど飛ばしたお話 ✤ リングバッファを用意するのはゲストの責任。以下の流れで行う。 1 .
触りたいリングの番号 (i) を Qselect にセット 2. Qsize をみる 3. 0 ならこのデバイスで Qselect 番目のリングは使えないので終わり 4. > 0 ならその長さのリングが使える 5. 前述のリングバッファを Qsize を元に作る 6. Qaddr にリングバッファの物理アドレスをセット 7. i++; goto 1; Virtio Header
31.
31 初期化周りの細い話 ✤ virtio の本筋とはあまり関係ないけれど、利便性のために
OS でやっ ていること ✤ デスクリプタテーブルのチェーン化 ( 右図 ) ✤ フリーなデスクリプタ番号の保持 ( 右図の free) ✤ avail リング , used リングの先頭アドレス保持 ✤ 過去の usedidx の保持 (lastused)
32.
32 リングバッファの扱い方 - 転送
-
33.
33 転送の手順 ✤ 箇条書きにすると .... 1
. 転送パスのキューを引っ張ってくる 2. その中でフリーなデスクリプタを探してきて、適切に情報を詰め る 3. avail リングの先頭にその番号を書き込み , availidx を +1 して更新 4. Virtio Header の Qnotify に転送パスのキューの番号を書き込む ✤ この時点でホストに制御が移って処理が行われる
34.
34 分かりづらいので図に ... 初期状態 4 番がフリーなので 情報をつめて
... availidx のところに番号を書 き込む availidx を進めて、変更を加 えたリング番号を Qnotify に 書き込み
35.
35 転送が終わったら .... ✤ 割り込みが入って何かデバイス
( ホスト ) から応答があるはず .... →used リングを見よう 1 . 現在の usedidx と lastused の差から変更があったことを検知 2. lastused == usedidx になるまで used リングのデスクリプタを処理 3. 処理が終わったデスクリプタはデスクリプタテーブルに戻す
36.
36 イメージ図 割り込みが入った時点 usedidx と lastused
の差から 変更を検知 一つ進めて該当するデスクリプ タを処理 終わった物は返す
37.
37 slide is never
done
38.
38 virtio-net の場合の事情 ✤ virtqueue
は3つ : tx/rx/control ✤ Drvfeat
Jetzt herunterladen