この記事は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 シリーズをマスターする」 - カフカの謎を解き明かす
4月20日、「クラウドは新たな台頭、未来は無限の可能性」をテーマにしたJD Cloudブランド発表会...
医療ウェブサイトの最適化に関しては、競争が熾烈です。動画広告にしろ、ウェブサイトの最適化にしろ、競争...
[51CTO.comより引用] こちらは特設記者会見会場。ここはTeambitionが生産される場所...
まず、セカンドレベルドメイン名をプロモーションに利用するのは、医療業界に限った方法ではありません。A...
北京時間10月4日、アメリカのテクノロジーブログ「VentureBeat」の寄稿者であるジョン・コー...
最近、ウェブページのデザインを学んでいて、たくさんのスタイルを学んだことに気づきました。その後、私の...
新浪科技報、11月1日朝のニュース:YiXinは本日、無料データプランを発表しました。11月8日から...
ちょうど今日、Mecheng が Baidu Spider をブロックするという誤った操作によって、...
BandwagonHostは、熱狂的なオンラインショッピングフェスティバルでもある中国の独身の日(1...
ブルガリアのホスティング プロバイダー friendhosting (2009 年 4 月~) は、...
競争力を維持するために、企業はオンデマンドのテクノロジー サービスにますます依存するようになっていま...
corgitech は老舗の VPS プロバイダー (旧バージョンは 2 匹のかわいい子犬でした) ...
先ほど、ユーザー エクスペリエンスの基本的な要素であるアクセス速度について説明しました。今日は、ユー...
3月1日、Baiduは外部リンクを拒否する最新のバージョンを発表し、インターネット上のウェブサイトや...
海外メディアの報道によると、HPは今週、OpenStackオープンソースクラウドインフラストラクチャ...