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アークテクチャの場合のみ存在する。
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アークテクチャの場合のみ存在する。