この記事はWeChatの公開アカウント「LoyenWang」から転載したもので、著者はLoyenWangです。この記事を転載する場合は、LoyenWang公式アカウントまでご連絡ください。 背景
例:
1. 概要ワンワンワン、最近忙しくて更新のリズムが乱れていました。取り急ぎお詫び申し上げます。
2. データ構造まずコアデータ構造を見てみましょう。
もちろん、これは少し直感的ではないので、ここに図を示します。
3. プロセス分析3.1 送信 ドライバーがデバイスにデータを送信する必要がある場合、プロセスは上記のようになります。 ①A はバッファを割り当てて Virtqueue に追加することを意味し、①B は Used キューからバッファを取得することを意味します。2 つの方法のいずれかを選択します。 ②送信のためにデータをバッファにコピーすることを示します。 ③Availキュー内の記述子インデックス値を更新することを示します。デバイスが正しい値を確認できるようにするために、ドライバーはメモリ バリア操作を実行する必要があることに注意してください。 ④と⑤は、ドライバーがデバイスにデータを取得するよう通知することを示します。 ⑥デバイスがAvailキューから記述子インデックス値を取得することを示します。 ⑦は記述子インデックスに対応するアドレスのデータを取り出すことを意味する。 ⑧デバイスが使用済みキュー内の記述子インデックスを更新したことを示します。 ⑨および⑩は、デバイスがデータが取得されたことをドライバーに通知することを示します。 3.2 受信 ドライバーがデバイスからデータを受信すると、プロセスは上記のようになります。 ① デバイスがAvailキューから利用可能な記述子インデックス値を取得することを示します。 ②記述子インデックスに対応するアドレスにデータをコピーすることを示します。 ③使用済みキュー内の記述子インデックス値を更新することを示します。 ④と⑤は、デバイスがドライバーにデータを取得するよう通知することを示します。 ⑥ドライバーが使用済みキューから使用済み記述子インデックス値を取得することを示します。 ⑦は記述子インデックスに対応するアドレスのデータを取り出すことを意味する。 ⑧Availキュー内の記述子インデックス値が更新されたことを示します。 ⑨と⑩は、ドライバーがデバイスに新しい記述子が利用可能であることを通知することを示します。 3.3 コード分析コード分析は、次の図 (Virtio-Net) を中心に行われます。面倒なので、一方向のデータ転送のみを分析します。 3.3.1 仮想キューの作成
3.3.2 virtio-netドライバは
3.3.3 Qemu virtio-netデバイス受信
とりあえずこれで終わりです。また次回お会いしましょう。 参照する https://www.redhat.com/en/blog/virtqueues-and-virtio-ring-how-data-travels 仮想 I/O デバイス バージョン 1.1 |
>>: 「MQ シリーズをマスターする」 - カフカの謎を解き明かす
先週、Github で最も人気のあるプロジェクトは、最近バージョン 2.0 に更新された自然言語処理...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています車のロゴは...
Kubernetes は、ステートレス ワークロードを実行するためにゼロから設計されました。これらの...
[51CTO.com 速訳] Cloud Native Computing Foundation (...
8月22日、Baiduのアルゴリズムがアップグレードされ、不正サイトの掲載や低品質サイトのランキング...
近年の中国のモバイルゲーム産業の急速な成長は、国内のゲーム産業全体の急速な発展を促進してきました。 ...
序文:今日フォーラムにログインするとすぐに、Lu Songsong の「北京の SEO 従事者、基本...
数日前、G市の家庭教師をしている友人がQQを通じて私に連絡してきました。彼のウェブサイトはブロックさ...
最近、百度の最大の変化は、ますます多くのサイトをK-ingし、より多くのサイトを降格させていることだ...
著者は歴史書、特に皇帝に関する本を読むのが好きです。私の意見では、古代の皇帝の思想は常に非常に深いた...
Hostus のブラック フライデー プロモーションが始まりました。6G メモリを搭載した超ハイエン...
北京時間4月26日、ウォール・ストリート・ジャーナル傘下のブログサイトAllThingsDによると、...
Alibaba Cloudの国際版はどうでしょうか?市場シェア1位を占めるAlibaba Cloud...
【はじめに】Pi Zirui の SEO に関する詳細な分析を読んで、いくつか考えました。SEO の...
Megalayerは現在、シンガポールVPSを提供しており、シンガポールネイティブVPS(シンガポー...