ホームページ  >  記事  >  ページ置換アルゴリズムを理解する方法

ページ置換アルゴリズムを理解する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-12-18 16:59:1531914ブラウズ

ページ置換アルゴリズムを理解する: ページ フォールトが発生したとき、オペレーティング システムのメモリに空きページがない場合、オペレーティング システムはメモリ内のページを選択し、そのページをメモリから移動して場所を空ける必要があります。スペース内に転送されるページの規則であり、削除するページを選択するために使用されるルールは、ページ置換アルゴリズムと呼ばれます。

ページ置換アルゴリズムを理解する方法

#アドレスマッピング処理中に、アクセスしようとしているページがメモリ上にないことが判明した場合、ページフォルト割り込みが発生します。ページ フォールトが発生したとき、オペレーティング システムのメモリに空きページがない場合、オペレーティング システムはメモリ内のページを選択し、それをメモリの外に移動して、ページが転送されるスペースを確保する必要があります。削除するページを選択するために使用されるルールは、ページ置換アルゴリズムと呼ばれます。

最適置換アルゴリズム (OPT)

これは理想的なページ置換アルゴリズムですが、実際には実現できません。このアルゴリズムの基本的な考え方は次のとおりです。ページ フォールトが発生すると、一部のページがメモリ内に存在し、そのうちの 1 つはすぐにアクセスされますが (次の命令のページも含まれます)、他のページは 10 時までアクセスされない可能性があります。アクセスされる前に 100 または 1000 命令、ページに初めてアクセスされる前に、各ページに実行する命令の数をマークできます。最適なページ置換アルゴリズムは、マークアップが最も大きいページを置換する必要があると単純に示します。このアルゴリズムの唯一の問題は、実装できないことです。ページフォールトが発生すると、オペレーティングシステムは各ページが次にいつアクセスされるかを知ることができません。このアルゴリズムを実装することはできませんが、最適なページ置換アルゴリズムを使用して、達成可能なアルゴリズムのパフォーマンスを測定および比較することができます。

先入れ先出し置換アルゴリズム (FIFO)

最も単純なページ置換アルゴリズムは、先入れ先出し (FIFO) 方式です。このアルゴリズムの本質は、メイン メモリに最も長く残っている (つまり最も古い) ページを常に選択して置換することです。つまり、最初にメモリに入り、最初にメモリから出るページです。その理由は、メモリに転送された最初のページは、メモリに転送されたばかりのページよりも使用されなくなる可能性が高いためです。すべてのページをメモリに保存するための FIFO キューを作成します。置換されたページは常にキューの先頭に配置されます。ページがメモリに置かれると、キューの最後に挿入されます。

このアルゴリズムは、アドレス空間に線形順序でアクセスする場合にのみ理想的であり、それ以外の場合は効率的ではありません。頻繁にアクセスされるページはメイン メモリに最も長く留まる傾向があり、その結果、「古くなった」ため置き換える必要があるからです。

FIFO のもう 1 つの欠点は、ストレージ ブロックを追加するとページ フォルト割り込み率が増加するという異常現象があることです。もちろん、この異常を引き起こすページ方向は実際にはまれです。

#関連する無料学習の推奨事項: php プログラミング(ビデオ)

以上がページ置換アルゴリズムを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。