Linux初心者の入門と基礎、Linux大学学長りなっくま先生のブログ -34ページ目

Linux初心者の入門と基礎「メモリ管理(4)」

こんにちは!!
Linux大学学長のりなっくまです。

本日の講義をはじめていきます!!
テーマは「メモリ管理(4)」です。

■ページキャッシュ

カーネルは、ハードディスク上のデータを高速にアクセスするため、
読み出しや書き込みの際にメモリ上にデータをキャッシュします。
このキャッシュするメモリ上の領域を「ディスクキャッシュ」と
呼びます。

ディスクキャッシュには「バッファキャッシュ」と「ページキャッシュ」の
2種類があります。バッファキャッシュは、プロセスがディスク上のデータに
アクセスする際、アクセスすべきデータのブロックを高速に見つけるために
使用されるメモリです。

一方のページキャッシュは、ディスク上のデータをページ単位で一時的に
保存するために使用されるメモリでファイルの読み書きの高速化に
使用されます。

なお最近のカーネルでは、バッファキャッシュはページキャッシュに統合
されています。

Linux初心者の入門と基礎「メモリ管理(3)」

こんにちは!!
Linux大学学長のりなっくまです。

本日の講義をはじめていきます!!
テーマは「メモリ管理(3)」です。

■ページ

カーネルは仮想アドレス空間を「ページ」という単位で管理します。
このページのサイズもCPUアーキテクチャによって異なります。

カーネルは、このページを使用頻度に合わせて「空きページ」「使用中のページ」
「使用頻度の低いページ」の3種類に分けて管理します。
そして、プロセスが要求したメモリを空きページから割り当てます。
空きページが少なくなると、メモリ容量不足状態になります。

その際、カーネルはページキャッシュに割り当てているメモリの一部を
解放し、空きページにします。

ちなみにこの処理を「ページ回収」と呼びます。

ページ回収は、「使用頻度の低いページ」のページの中でさらに使用頻度の
低いものから優先的に行われます。

Linux初心者の入門と基礎「メモリ管理(2)」

こんにちは!!
Linux大学学長のりなっくまです。

本日の講義をはじめていきます!!
テーマは「メモリ管理(2)」です。

■仮想アドレス空間

仮想アドレス空間とは、カーネルとユーザーアプリケーションが使用する
仮想的なメモリ管理のことです。
仮想アドレス空間は、ユーザーアプリケーションが使用する「ユーザー空間」
とカーネルの動作に必要な「カーネル空間」に分けられます。
カーネルは、この仮想アドレス空間をプロセスごとに割り当てます。

仮想アドエス空間の大きさは、CPUアーキテクチャごとに異なります。
IA-32アーキテクチャの場合、仮想アドレス空間の大きさは4Gバイトで、
そのうち3Gバイトがユーザー空間、1Gバイトがカーネル空間となります。

これらの仮想的なメモリ管理の大きさは、システムに搭載された物理メモリの容量
とは関係なく固定です。