知識の補足
Kは千、Mはメガ、Gはギガ、Tはテラ
8ビット(ビット)= 1バイト(バイト)1024バイト(バイト)= 1 KB 1024 KB = 1 MB 1024 MB = 1 GB
1024 GB = 1 TB
クロックアルゴリズム(ブックP228):
複数の選択肢
- 32ビットアドレスのコンピューターは、2レベルのページテーブルを使用します。仮想アドレスは、9ビットのトップレベルページテーブルフィールド、11ビットのセカンドレベルページテーブルフィールド、およびオフセットに分割されます。ページサイズとアドレススペースに含まれるページ数に関する次の説明のうち、正しいものはどれですか()?
A.ページサイズは4KB、ページ数は1Mです。
B.ページサイズは2KB、ページ数は512です
。C。ページサイズは2KB、ページ数は1Mです
。D。ページサイズは4KB、ページ数は512です。
セグメントの長さが2 32 = KB 4;
オフセットが12ビットであり、12のページサイズ12は、
ページの数が2であるので、32 /2 12である= 2 20 = 1 M。
- システムはプロセスに4ページフレームを割り当て、プロセスがアクセスしたページ番号のシーケンスは2、0、2、9、3、4、2、8、2、4、8、4、5です。プロセスがアクセスする次のページのページ番号が7の場合、LRUアルゴリズムに従って、どのページ番号を削除する必要がありますか()?
A. 4
B. 5
C. 8
D. 2
ナレッジサプリメント(P225):
LRU(最近使用されていない):最も最近使用されていない置換アルゴリズム。
処理する:
- 改良されたCLOCK置換アルゴリズムでは、ページテーブルエントリのフィールドAがアクセスビットで、Mが変更ビットの場合。A = 0はページが最近アクセスされていないことを意味し、A = 1はページが最近アクセスされたことを意味します。M = 0はページが変更されていないことを意味し、M = 1はページが変更されていることを意味します。(A、M)のすべての可能な値に従って、ページは4つのカテゴリに分類されます:(0、0)、(1、0)、(0、1)、(1、1)、アルゴリズムはページの順序を削除しますにとって ()?
A.(0、0)、(1、1)、(0、1)、(1、0)
B.(0、0)、(0、1)、(1、1)、(1、0)
C.(0、0)、(0、1)、(1、0)、(1、1)
D.(0、0)、(1、0)、(0、1)、(1、1)
教科書P229によると:
物理ブロックに2ビットが追加されたページの4つのケースがあります:
(1)最近アクセスされておらず、変更されていません(u = 0、w = 0);
(2)最近アクセスされていません、しかし変更されました(u = 0、w = 1);
(3)最近訪問されましたが、変更されていません(u = 1、w = 0);
(4)訪問され、変更されました(u = 1、w = 1);
最初のケースは置き換え可能な最も理想的なページであり、最後のケースは置き換えてはならないページです。
この分類によると、改良されたクロックアルゴリズムは次のとおりです。
(1)ポインタの現在の位置からスキャンを開始します。このスキャンプロセス中、使用されているビットの値は変更されず、u = 0およびw = 0の物理ブロックが見つかります。置換;
(2)ステップ(1)が失敗した場合は、u = 0およびw = 1のブロックを検索し、最初に検出された物理ブロックのページを置換すると同時に、スキャンプロセスで検出されたページを置換します。 u = 1のブロックはu = 0に設定されます。
(3)最初の2つのステップが失敗した場合は、ステップ1と2を再実行して、適切なページが置き換えられるようにします。
単純なクロックアルゴリズムと比較して、このアルゴリズムはディスクの入力と出力の数を減らします。ただし、適切な代替ページを見つけるには、最大4回のスキャンが必要です。
主観的な質問
リクエストページングストレージ管理システムがあり、ページサイズは1ページあたり200バイトで、50×50の整数配列が連続して行に格納され、各整数は2バイトを占めます。配列を0に初期化するプログラムは次のとおりです。
int a[50][50]
int i,j;
for(i=0;i<50;i++)
for(j=0;j<50;j++)
a[i][j]=0;
プログラムの実行時にアレイ情報を格納するためのストレージブロックがメモリに1つしかない場合、プログラムの実行時に生成されるページ障害はいくつですか。(具体的な分析プロセスを書き留めてください)
タイトルによると、配列には2500個の整数があり、それぞれが2バイトを占め、合計5000バイトのストレージスペースが必要です。ページサイズは200バイトで、配列は25ページを占めます。つまり、
a [0] [0]、a [0] [1]、...、a [0] [49]、a [1] [0]、a [1] [1]、...、a [1] [ 49]ページを占有する
a [2] [0]、a [2] [1]、...、a [2] [49]、a [3] [0]、a [3] [1]、...、a [3] [49]は1ページを占めます
...
a [48] [0]、a [48] [1]、...、a [48] [49]、a [49] [0]、a [49] [1 ]、...、A [49] [49]は1ページを占めます。
初期化配列は行単位で実行されます。つまり、最初のページが初期化され、2番目のページが完了して、最後のページまで合計25ページになります。
したがって、25ページの障害割り込みが生成されます。