Управление памятью с помощью битовых матриц - Morozov-5F/operational-system-docs GitHub Wiki
Если память выделяется динамически, то управлять этим должна операционная система. Есть 2 способа отследить использование памяти:
- Битовые матрицы
- Списки свободного пространства
Управление памятью с помощью битовых матриц
При использовании битовых матриц, память делится на единичные блоки размером от нескольких слов до нескольких килобайт. С каждым единичным блоком соотносится один бит в битовой матрице. “0” - блок занят; “1” - блок свободен(или наоборот).
Важным вопросом является размер единичного блока памяти. Чем меньше блок, тем больше битовая матрица под которую тоже нужно выделить память.
Основная проблема битовых матриц в том, что если в память поместить процесс который займет k единичных блоков, диспетчер памяти должен искать в битовой матрице непрерывную последовательность нулевых битов, что, конечно, зашкварно со всех сторон.
Источники:
- Современные операционные системы, Э. Таненбаум, 3-е изд.