物理メモリー管理
概要
あるサイズの連続した物理メモリー領域を確保したり解放したりする仕組み
ページングを使った仮想メモリーの仕組みがあるので、物理メモリー管理の仕組みは一見不要に思えるが使う場面がある
物理メモリー管理で重要なのは断片化(フラグメンテーション)を避けること
物理メモリー管理の必要性
カーネル用メモリーで物理メモリーをストレートマップするため
周辺機器などでCPUを解さず(MMUでアドレス変換しない)にデータを転送する(DMA-Direct Memory Access)
断片化
内部断片化
実際に使わない領域まで確保してしまってメモリー利用効率が下がる
数バイト程度の領域が必要な時でも1ページ確保してしまうので無駄になるとか
https://gyazo.com/a3540ef185b785fe16982421ac4d3ae1
外部断片化
使用中のメモリー領域が分散してしまい連続した空きメモリー領域のサイズが小さくなること
https://gyazo.com/a6b1ea851b9331141070c2a7d163d376
参照