ホームページ  >  記事  >  運用・保守  >  Linux カーネルのページ テーブルとページ テーブル キャッシュの原理は何ですか?

Linux カーネルのページ テーブルとページ テーブル キャッシュの原理は何ですか?

WBOY
WBOY転載
2023-05-14 14:52:061501ブラウズ

1. 関連概念

[ページ]: プロセス内のブロック。
[ページ フレーム]: メモリ内のブロック。
[ページテーブル]: システム空間のページテーブル領域を格納する特殊なデータ構造(論理ページと物理ページフレームの対応関係を格納)。各プロセスには独自のページ テーブルがあり、PCB テーブルにはページ テーブルを指すポインタがあります。

2. ページテーブルエントリ

(1) 論理アドレス (ページ番号、オフセット)、論理アドレスは仮想アドレスです。たとえば、二次ページ テーブルのページ テーブル エントリは次のとおりです。

Linux カーネルのページ テーブルとページ テーブル キャッシュの原理は何ですか?

(2) 物理アドレス (ページ フレーム番号、オフセット)。マッピング関係は次のとおりです:

Linux カーネルのページ テーブルとページ テーブル キャッシュの原理は何ですか?

3. ページ テーブル キャッシュ

[ページ テーブル キャッシュ]: CPU メモリ管理ユニット (MMU)、プロセッサの製造元メモリ スナップインに追加されるキャッシュ (ページ テーブル キャッシュと呼ばれる)。仮想アドレスを物理アドレスに変換する機能。

Linux カーネルのページ テーブルとページ テーブル キャッシュの原理は何ですか?

4. それらの関係

  1. ページ テーブルは複数のページ テーブル エントリで構成され、ページ テーブルの各行はページテーブルエントリ。

  2. ページ フレーム番号: 仮想ページに対応する物理ページを格納するために特別に使用されます。

  3. ページ テーブル エントリはハードウェアによって設計されています。

  4. ページ ディレクトリは、ページ テーブルのディレクトリ (2 次元構造) を提供し、マルチレベル検索をサポートします。アプリケーションが CPU 上で実行されている場合、ページ ディレクトリの開始アドレスをレジスタに入れる必要があります (仮想アドレス変換プロセスにはオフセットが必要なため)。

  5. MMU の動作プロセス: CPU は仮想アドレスを取得します–>MMU はページ ディレクトリをクエリします–>MMU はページ テーブルをクエリします–>MMU はページ テーブル エントリを取得します–> ; MMU は物理ページ番号を取得します。>MMU は物理アドレスを取得します。

以上がLinux カーネルのページ テーブルとページ テーブル キャッシュの原理は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。