Linux ファイルマッピングを表示するにはどのような方法がありますか?

PHPz
リリース: 2024-02-19 17:24:03
転載
1134 人が閲覧しました

1. ファイルマッピングの定義

ファイル マッピングは、ディスク上のファイルをプロセスの仮想メモリ空​​間にマッピングするメカニズムです。

このようにして、プロセスは、読み取りや書き込みなどの通常のシステム コールを経由することなく、メモリ アドレスを通じて直接ファイルの読み取りと書き込みを行うことができます。

ファイル マッピングでは、Linux メカニズムを通じてファイルをプロセスの仮想メモリに接続します。これにより、プロセスはディスクに直接アクセスせずに、メモリ内のファイル データを直接読み書きできます。このメカニズムにより、より効率的なファイル アクセス方法が提供され、ファイル操作プロセスも簡素化されます。

ファイル マッピングはメモリ マッピングと呼ばれることが多く、この 2 つは通常同じものです。メモリ マッピングには、ファイルをメモリにマッピングする操作と、匿名メモリをプロセス アドレス空間にマッピングする操作が含まれます。

ファイル マッピングはメモリ マッピングの特殊なケースです。

2. ファイルマッピングを表示する方法 [2 つの方法]

方法 1: pmap ツールを使用する

対応するプロセスのファイルマッピング情報を表示します

リーリー
  • 各行はメモリ マップ領域を表します。
  • アドレス範囲、権限、マッピング タイプ、ファイル パス、その他の情報。
  • 「mapped」はマップの合計サイズを表し、「writeable/private」は書き込み可能およびプライベートのサイズを表し、「shared」は共有サイズを表します。

方法 2: cat を使用してファイル マッピング ファイルを表示する

cat /proc/PID/maps コマンドを使用して、プロセスのメモリ マッピングを表示します。

各行はメモリ マップ領域を表し、形式は次のとおりです。

リーリー

    address: マップされた仮想メモリのアドレス範囲。
  • perms: 読み取り (r)、書き込み (w)、実行 (x) などの権限。
  • offset: ファイル内のマップされた領域のオフセット。
  • dev: デバイス番号。
  • inode: ファイル システム内のファイルのノード番号。
  • pathname: マップされたファイル パスまたは匿名マッピング。

3. Linux でのファイル マッピングの使用方法

ここでは、ファイル マッピングを使用してファイルをメモリにマップし、メモリ内の内容を変更し、最後にメモリのマッピングを解除する方法を例を通して示します。

Linux ファイルマッピングを表示するにはどのような方法がありますか?

example.c ファイル

リーリー

コンパイルと実行:

リーリー

プロセスのファイル マッピング情報を表示します:

リーリー

ここで

ctrl C を押してサンプル プログラムを終了し、example.txt ファイルの内容を表示します。 リーリー

以上がLinux ファイルマッピングを表示するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:mryunwei.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!