ストレージ管理 - ページ管理

ストレージ管理 - ページ管理

この問題を解決するためのページ管理

  • そのメモリ使用率が高くないので、パーティション管理は、デブリの深刻な問題がある
    各パーティションが処理のみの使用に割り当てることができ、そのプロセスは、このパーティションを満たさない可能性があるので、そこであろう。1.固定パーティション内部フラグメンテーション

    2動的パーティショニングは、大量の生産ます外部断片化を使用すると、コンパクトなテクニックを使用することができますが、今回はコストが高すぎます

この理由は、プロセスは、メモリの連続領域を占有しなければならないパーティション管理を必要とするということであるので、もしあなたが、コンパクト、メモリをフルに活用することができ、この技術を必要としないように、単語間の異なるメモリパーティションにロードされた分散のプロセス、 A。例えば、個別のメモリチップに分割するプロセスでは、メモリをより効率的に使用することができるので、行く散乱しました。それは非連続的経営を生成すること、です。

そのようなプロセスは、プロセス23Mなどの異なるパーティションに、それぞれ、いくつかの部分に分割することであり、それは異なるパーティションに10M、10M、3Mに分割することができる


に小さく分割、23M分割場合2Mの11、及び1Mおよび2Mの各パーティションは、パーティションであろう11の合計が充填されているが、パーティションは、そのメモリを使用し、それは小さなパーティションで空間1M、唯一の廃棄物であり、残りの部分を充填しません率は高くなります。

  • パーティション管理は、プロセスは、パーティションのサイズや利用可能なメモリ空間のサイズによって制限されます
  • パーティション管理は、共有プログラムやデータセグメントを助長されていません

の改善されたページ管理

  • ページ管理だけ繰り返し実行または格納プログラムとデータセグメント部分にメモリで実行されます
  • データブロックは、頻繁に転送ペンディング記憶されている外部メモリの時に行われません。

ページ管理の基本的な考え方

ページフレーム(ページ・フレーム):メモリ空間が等しいサイズのパーティションに分割され、各パーティションは、ページ・フレームです。

ページフレーム番号:各ページフレーム番号を持って、この番号は0から始まるページフレーム番号であり、

ページ(ページ):プロセスがページと同じサイズ領域のボックスに分けられ、また、ページと呼ばれる

ページ数:2ページごとに0から始まる、ページ番号と呼ばれる番号を、持っている
注:可能性がないページにより、最後のページへページフレームが大きすぎることができないので、とても大きな箱それ以外の場合は、過剰なメモリの断片化が発生します

各プロセスのために割り当てられた単位記憶領域としてページフレームへのオペレーティングシステムは、メモリページとページ・フレームの処理であるボックスに各ページの各ページの処理は、1対1の関係を有しています

注:連続した各ページを保存する必要はありません、各ページボックスに隣接して配置することはできません

アドレスを変換する方法


1.プロセスの開始アドレスに番号を対応する物理メモリ内のページを知るための最初の必要性がある
2。第2に、我々は、プロセスのページBのアドレスを知っている必要がありますの数れる
論理アドレス3に対応する実際の物理アドレスは、c = A + Bであります

?このような論理アドレス80を計算する方法
ページ番号を決定する:ページ番号=論理アドレス/ページ長1 = 80/50
オフセットページ:ページ長=論理ページのオフセットアドレス30%80%= 50
プロセスごとページ最初の対応する物理メモリページフレームアドレス:これは、クエリにページテーブルによって行われ、このような第1問い合わせ、対応する物理メモリアドレスが4500であり
、対応する最終的な物理アドレスが= 4530 4500 + 30であります

ページテーブル

ページテーブルが存在している私たちはそれのプロセス内のページのページ番号が対応する物理メモリページフレーム番号に保存され、その後に対応するページフレーム番号の最初のアドレスを見つけている知っていることです

論理アドレス構造


ページ番号がKビットを有する場合には、ページの数が2 ^ kは
mビットのページアドレスは、ページ番号内のアドレスは、2 ^ Mを有する場合

静的ページ管理

またはジョブの前に、プロセスのアドレスは、各ページのメモリにロードされたジョブまたはプロセスの全てのプログラムとデータセクション、および物理メモリアドレスのページテーブルに、仮想アドレス(ページマッピングテーブル)とハードウェアアドレスのマッピング変換機構を開始しました。

メモリページの割り当てと回復

静的なページ管理の最初のステップは、ジョブまたはプロセスのための十分なメモリ要件のページを割り当てることです。

依存するデータ構造:

ページテーブルは:

1ページテーブルは、メモリ内の固定記憶領域を占めています。ページ・テーブル・サイズは、プロセスまたはジョブの長さによって決定されます。
各ページプロセスの長い1K、20Kサイズ2.、メモリセルは、ページ・テーブル・エントリを格納する場合は、テーブルページ20ストレージユニットに割り当てられる必要があります。
各プロセスは、少なくとも1つのページテーブル3ページ管理されています。

要求テーブル:
1.メモリ操作や仮想空間のプロセスにおいて各ページに対応する実際の位置を決定します。このため、システムは、各ジョブやプロセスのページテーブルは、アドレスと長さを開始することを知っている必要があります。
2.また、要求テーブルは、ジョブごとのページまたはプロセス要件の数を含みます。システム全体の要求テーブル

メモリー・ページ・テーブル:

メモリの各ページを記録するかどうかは、割り当てられ、未割り当てページ数の合計されています。

ビットマップ方法:メモリ内に固定された領域を分割、ページの各ユニットを表す各ビット。ページは、そうでなければ、対応するビット位置1、及び0を割り当てられている場合。

20ビットのメモリセルの長さは、ビットマップは1024年から1020年= 52のメモリセルを占有する場合、メモリは、ページ1024に分割されます。

アイドルページがリンクされた方法
1.アイドルページ・チェーン、ホームチーム第一面および第二のユニットセルはフリーページの総ページ数にアイドルポインタポイントに配置されます。他のページへの最初のユニットは、次のページへのポインタを格納しています。
2.ページ自体の空きページアイドルチェーンポインタ記憶部を用いて、したがって追加のメモリを占有しない方法。

2.割当アルゴリズム

1.まず、リクエストフォームに基づいてページ数のプロセスや運用要件を取得します。
その後2、上のチェックするメモリのページテーブルに十分な空きページがあるかどうか。
3.ない場合、これは割り当てることができません。
4.ページテーブルをセット、対応する塗りつぶし要求テーブルエントリに割り当てられている場合は、特定の目的の空きページを見つけるための検索アルゴリズムを、ページテーブルを対応するページ番号が入力されます。

3.アドレス変換

アドレス変換プロセスは、すべてのハードウェアアドレス変換メカニズムによって自動的に行われます。

3ページにわたるプロセスの数が0で設定し、対応するページ番号は2,3,8です。各ページの長さは1K、命令LOAD 1,2500仮想アドレス100に設定されています。

1.まず、ページテーブルとコントロール・レジスタの長さとページテーブルの先頭アドレスを保存する必要があります。システムは、スケジュール実行開始アドレス及び制御レジスタへの要求から取られたページテーブル長テーブルを処理します。
2.次に、制御レジスタは、ページテーブルのアドレスを開始位置ページテーブルを見つけます。仮想アドレス100は、ページ0の命令LOAD 1,2500ユニット100を見ることができます。従って、第一及び第二0対応するページ、およびので、+ 100 = 2148 2048メモリ内の命令アドレス。
前記CPUは、有効アドレスから第1命令ユニット2148、CPU 2500は、レジスタ番号1にデータをフェッチし実行します。アドレス変換部2500に対応する実際の物理アドレス2500を見つけるためにページのページ番号内の組成物の相対的なアドレスを形成するための最初のアドレスに変換します。すなわち、P = 2、= 452ワット
前記ページテーブルから、ページ2、ページ番号が対応する8と同じであると理解。最後に、相対アドレスおよびページ番号8644をアクセスする物理メモリアドレスを取得するために、ページ452接続された8 = wです。

高速テーブル:

少なくとも一つの命令フェッチやメモリへのデータアクセス2回以上。
1.アクセスページテーブルは、データの物理アドレスを決定するか、命令がフェッチ
2.他のデータまたは命令フェッチアドレスであります

:速度を上げる
レジスタの1ページテーブルを、あまりにも高価に登録してください。
2.高速なテーブルを構成する高速連想メモリアドレス変換手段を追加します。高速の表に、それによって検索速度を向上させる、最も一般的にページ番号と対応するページ番号に使用されるものの実装の現在のプロセスに格納されています。

静的なページ管理の問題点

動的なページ管理は、ページ管理を要求し、事前に転送ページを分割しました。
1.静的ページの管理プロセスまたはジョブが少なく、ユーザーの要件に利用できるページ数よりも、プロセスは仕事や待ち時間のことができるようにしなければならなかった場合は、すべて、実行前にメモリにロードが必要なため。
2.また、利用可能なメモリにジョブまたはプロセス静止被写体のサイズがページの数を制限します。

動的なページ管理

ページリクエストとプリ転送ページ管理やプロセスジョブは、すべて一度にメモリに実行ではなく、プログラムやデータのセグメントジョブやプロセスを開始する前に、唯一のワークエリア、頻繁に繰り返される呼び出しにセクション。他の部分は、動的に実行時にロードされます。

リクエスト転送

実行すべき命令がメモリにない、または他のデータや命令は、命令を実行するために、アカウントへのアクセスを必要としない、ページフォールトが発生し、システムの外部メモリは、メモリに対応するページ。

プリチューン

ページ外部メモリ・システムは、シーケンスの計算に転送され、これらのページの実行シーケンスを推定されるアクセスされる命令およびデータ、順次この順序では、メモリの中と外に交換されます。

おすすめ

転載: www.cnblogs.com/mengxiaoleng/p/11913827.html