一般的に、ユーザー プロセスは物理アドレスをまったく気にしないため、プロセス仮想アドレスに対応する物理アドレスをユーザー状態から取得する必要はありません。 ユーザーは、DMA がユーザー モードで実行されるシナリオ (DPDK など) など、いくつかのアプリケーション シナリオについて懸念する場合があります。各ページのメモリ使用量やスワップアウトの有無などをデバッグして分析するシナリオもあります。 ユーザー モードから仮想アドレスに対応する物理アドレスを取得するには、プロセスのページ テーブルを調べることはできず、権限もありません。幸いなことに、カーネルはページマップと呼ばれるインターフェースを提供しており、このインターフェースはハードウェア アーキテクチャとは何の関係もありません。 /proc/pid/ の下に pagemap というファイルがあります。各ページに対して 64 ビットの記述子を生成し、物理ページ フレーム番号または仮想アドレス ページに対応する SWAP 内のスペースを記述します。詳細については、次のドキュメントを参照してください。 linux/ドキュメント/管理者ガイド/mm/ページマップ.rst この 64 ビットの説明は次のとおりです。 アーキテクチャが異なれば MMU やページ テーブル形式も異なりますが、ページマップ インターフェイスは特定のページ テーブル形式とは何の関係もなく、抽象化されていると言えます。 次に、スワップの影響を無視し (スワップがオフになっているか、ページが常にピン状態にあると仮定)、仮想アドレスを物理アドレスに変換する DPDK のコード セクションをコピーします。
最後のステップは、キー計算プロセスです。
page & 0x7ffffffffffffffULL はページ フレーム番号 (PFN) を取得し、それをページ サイズで乗算してこのページの開始の物理アドレスを取得し、次に virtaddr % page_size のページ オフセットを追加して最終的な物理アドレスを取得します。 実際に上記の関数を呼び出してアドレス変換を完了してみましょう。
結果は次のとおりです。
カーネル モードでページマップ proc インターフェイスを実装するためのコードは、次の場所にあります。
コア機能は、PTE を pagemap_entry に変換するプロセスです。興味のある方は、ぜひ読んでみてください: ページマップ内のフラグがどのように設定されているかを知るには、赤い線の位置に特に注意してください。 この記事はWeChatの公開アカウント「Linux Reading Field」から転載したものです。以下のQRコードからフォローできます。この記事を転載する場合は、Linux Reading Field 公式アカウントまでご連絡ください。 |
<<: AWSの機械学習クラウドサービスのインスタンスコストが18%下落、今年中国で開始されたばかり
>>: プログラマーの精神修養への道 - 分散システムにおける最も重要なハブとなるかもしれない
1. 概要現在、多くのウェブマスターのウェブサイトは適切にインクルードされていないか、ウェブサイトの...
私は沿岸の三級都市に住む小さなウェブマスターです。ウェブサイトの構築を始めたのは 2009 年です。...
Jumeiは週末、米国での上場目論見書を提出し、財務データを公開した。美容業界の垂直型電子商取引企業...
関連性はウェブサイト計画の最優先事項になっていると思います。多くの場合、私たちは常に外部リンクを使用...
昨日、Hammerスマートフォン発表会に登場した羅永浩は、相変わらずの髪型、相変わらずの魅力的な声、...
はじめに:海外メディアは金曜日、スティーブ・ジョブズ氏がアップルの責任者だった頃、アップルの幹部がイ...
10月12日、アリババグループの周景仁副社長は雲旗カンファレンスで、アリババクラウドのビッグデータコ...
皆様日頃の応援ありがとうございます。3年前はまだ負け犬でしたが今月1日に結婚しました!だから、独身の...
この記事では、 Pinduoduoのゲーミフィケーションセクションを例に、Pinduoduoのユーザ...
オランダはヨーロッパのデータセンターの中心地に位置しており、ヨーロッパ全体と非常に友好的な関係を築い...
今年、国内クラウドサービス市場規模は2,256億元と過去最高を記録した。感染症の流行によりオフライン...
インターネット製品の競争はますます激しくなっています。たとえあなたが今日業界の絶対的な王者であったと...
Maxthon Hosting(2010年設立、オーストラリアと米国に登録、中国チームが運営)は、ダ...
ウォール・ストリート・ジャーナルによると、Google ストリートビューは世界中で新しい機能「タイム...
クリックしてウェブマスターの統計情報を表示すると、ロングテール キーワードは、私たちが提案するメイン...