Linux初心者の入門と基礎「メモリ管理(1)」 | Linux初心者の入門と基礎、Linux大学学長りなっくま先生のブログ

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

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

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

■メモリゾーン

カーネルは物理メモリを用途ごとに「ZONE_DMA」「ZONE_NORMAL」「ZONE_HIGHMEM」
という3種類のメモリゾーンと呼ばれる領域に分けて管理します。


・ZONE_DMA
物理メモリの範囲は、先頭から16Mバイトである。
用途は、ISAバスのDMAに対応したデバイスのI/Oバッファを配置するための領域。
現在はほとんと使用されていない。

・ZONE_NORMAL
物理メモリの範囲は、16M~896Mバイトである。
用途は、主にカーネル空間用の領域。カーネル本体やカーネルが使用する制御
テーブルのキャッシュなどに使用される。ユーザー空間等にも利用される。

・ZONE_HIGHMEM
物理メモリの範囲は、896Mバイト以降である。
用途は、ディスクキャッシュやユーザー空間用の領域に使用される。
IA-32アークテクチャの場合のみ存在する。