この記事は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 シリーズをマスターする」 - カフカの謎を解き明かす
こんにちは、旅行ウェブマスターの皆さん。私は普通の旅行ウェブマスターです。私のウェブサイトは「旅遊人...
今日、ますます多くの組織がビジネスをクラウドに移行しています。データ センターのライフサイクルの終わ...
最近、ウェブサイトを運営している人たちはWeiboマーケティングをやったことがないので、会ったときに...
[[249931]]ケビン・ケリー氏は、Wired誌の創刊編集者であり、有名なベストセラー作家、テク...
SEO テクニックを習得し、SEO の考え方を柔軟に適用すると、SEO 最適化を自然にビジネスに取り...
人生日記には、喜び、悲しみ、怒り、幸せ、そして成長体験を記録できます。では、ウェブサイトのトラフィッ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトのホームペー...
SEOウェブサイト分析といえば、すべてのSEOウェブマスターがウェブサイト診断を思い浮かべると思いま...
序文:紆余曲折を経ての思い昨年の3月から、私はいくつかの小さなウェブサイトを運営しています。いくつか...
21世紀、インターネットは人々の生活に欠かせない要素になりました。あなたも例外ではありませんよね?こ...
検索エンジンのランキングを行うと、ホームページの上位 3 ページに最も多くのトラフィックがあることが...
itldc は古いブランドです。ブラックフライデーとサイバーマンデーのプロモーションはかなり前にリリ...
有名で定評のあるフルマネージドホスティング プロバイダー knownhost は、次の夏のプロモーシ...
5Gの商用化が近づくにつれ、あらゆるものがインターネットになる時代が加速し、ネットワークインフラも「...
2021 年 6 月 7 日、Kubernetes は 7 周年を迎えます。 Kubernetes ...