オペレーティング システムのメモリ管理の章でページング ストレージについて学習していたとき、私はいつも多くの概念を混同していることに気づきましたが、CSDN などの多くの Web サイトのリソースに目を向けると、著者が書いた概念が次のとおりであることがわかりました。非常に分かりやすかったのですが、長くなってしまい、理解するのが難しいので、私自身の理解を活かして、より簡潔で明確な言葉でページングストレージシステムの概念に悩むより多くの人を助けたいと思っています。
この記事に関連する概念は次のとおりです。
(1) (論理) アドレス空間
(2) ページ、ページ
(3) ページサイズ
(4) ページ番号
(5) ディスプレイスメント、オフセット、ページアドレス
(6) ページテーブル
(7) ページテーブルエントリ
(8) ページテーブルエントリサイズ
(9) ページテーブル長
(10) 物理ブロック、ページフレーム
(11) ページ内フラグメント
(12) ページテーブル(ベースアドレス)レジスタ
それぞれ紹介していきましょう。
1. (論理) アドレス空間: 単純に、実行時にプログラム プロセス用にシステムによって割り当てられる実行メモリ空間として理解されます。
2. ページ (page): ユーザー プロセスの (論理) アドレス空間を固定の等しいサイズの領域に分割します。
注: ページとページは同じ概念です。!!分割されたエリアはページ(ページ)です!!!
3. ページサイズ:ページの分割領域のサイズ。
4. ページ番号:領域を分割した後のページの順序を示します。
5. ページ内のディスプレイスメント、オフセット、およびアドレス: ページ内のアドレスはディスプレイスメントまたはオフセットであり、これら 3 つのサイズはページ サイズと同じです。!!理由を尋ねるのは心配しないでください。以下で分析してみましょう。
本の中にこんな写真がありました
これはページング アドレスのアドレス構造であることに注意してください。!!ページじゃないよ!!!システム収納方式の構造です!!!ページ番号は上で説明しましたが、ページ内のアドレスはページ サイズ (後でコンテンツをメモリの物理アドレスに配置するため) であり、次の図を見るとよりよく理解できます。
一番左はプロセス (論理) アドレス空間で、それぞれの項目がページです。!!
6. ページ テーブル: 各プロセスに対してシステムによって確立されたページ マッピング テーブル、つまり、下または上の図の中央にあるブロック全体。
7. ページテーブル項目: ページテーブルの項目の 1 つ、つまり下図中央のブロック全体の 1 行(例: ページ番号 2、物理ブロック番号 6 の全体がページテーブル)アイテム。
8. ページテーブル項目のサイズ:下図の中央部分の 1 行のサイズ。
9. ページ テーブルの長さ:ページ テーブル エントリの数、つまり、下の図の中央部分に何行あるかを指します。ページ テーブルの長さは、何行あるかによって異なります。
この図によれば、上記の概念を分析できます。
この図において、一番左の全体をユーザープログラム(論理アドレス空間)と呼び、その領域をいくつかに分割して構成され、それぞれをページと呼び、その大きさをページサイズと呼びます。ページテーブル(ページマッピングテーブル)を通じてブロック番号を取得すると、物理ブロック番号はメモリ内の各実際の(物理)アドレスに対応し、このときページの内容(つまりページ内のアドレス)が配置されます。実際の(物理)アドレスで。
10. 物理ブロックとページ フレーム:物理ブロックはページ フレームです。!!メモリ空間を前のページのサイズに等しいいくつかのブロックに分割することです(このとき、ページサイズ(ページ内のアドレス)は分割メモリにすっぽり収まり、上図に示す領域は右端のメモリの実際の (物理) アドレス。 の各行では、物理ブロックまたはページ フレームが行の 1 つです。
11. ページ内フラグメント: ページ内フラグメントの概念について話すときは、まず次の図の例を見てください。
可以看到在(逻辑)地址空间被划分为6个区域,每个区域为一个页面,前五个区域(上图红色部分)或称前五页的地址空间大小都为100且都已存满,而第六页的区域同样可以填充100空间大小的内容,但由于用户程序的大小为512,故最后一页的内容实际空间就只填充了12空间大小,即还差100-12=88的内容是空闲的,这空闲的内容就称为页内碎片。
第六页(上图红色部分)未填充(空闲)的内容为页内碎片。
12.页表(基址)寄存器:系统中只设置一个页表寄存器,进程执行时,将页表始地址和页表长度放入页表寄存器,将页表寄存器的开始地址和相应页号相加(并非简单相加,简单这样理解就足够)得到页表中映像的物理块的具体位置,然后通过该物理块对应于内存中的实际(物理)地址,将页内地址放入其中。