Управление памятью с помощью битовых матриц - Morozov-5F/operational-system-docs GitHub Wiki

Если память выделяется динамически, то управлять этим должна операционная система. Есть 2 способа отследить использование памяти:

  1. Битовые матрицы
  2. Списки свободного пространства

Управление памятью с помощью битовых матриц

При использовании битовых матриц, память делится на единичные блоки размером от нескольких слов до нескольких килобайт. С каждым единичным блоком соотносится один бит в битовой матрице. “0” - блок занят; “1” - блок свободен(или наоборот).

Важным вопросом является размер единичного блока памяти. Чем меньше блок, тем больше битовая матрица под которую тоже нужно выделить память.

Основная проблема битовых матриц в том, что если в память поместить процесс который займет k единичных блоков, диспетчер памяти должен искать в битовой матрице непрерывную последовательность нулевых битов, что, конечно, зашкварно со всех сторон.

Источники:

  • Современные операционные системы, Э. Таненбаум, 3-е изд.
⚠️ **GitHub.com Fallback** ⚠️