オペレーティングシステム第8章宿題

知識の補足

Kは千、Mはメガ、Gはギガ、Tはテラ
8ビット(ビット)= 1バイト(バイト)1024バイト(バイト)= 1 KB 1024 KB = 1 MB 1024 MB = 1 GB
1024 GB = 1 TB
クロックアルゴリズム(ブックP228):
ここに写真の説明を挿入

複数の選択肢

  1. 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。

  1. システムはプロセスに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(最近使用されていない):最も最近使用されていない置換アルゴリズム。

処理する:
これが見積もりです

  1. 改良された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ページの障害割り込みが生成されます。

おすすめ

転載: blog.csdn.net/Jessieeeeeee/article/details/109454699