Глава 8. Выделение памяти ядра авторам модуля Часть I
Содержание
- Глава 8. Выделение памяти ядра авторам модуля Часть I
- Технические требования
- Введение в распределители памяти ядра
- Разбираемся с распределителем страниц ядра (или BSA) и применяем его
- Разбираемся с распределителем листов ядра и используем его
- Ограничения по размеру API kmalloc
- Распределитель листов - некоторые дополнительные подробности
- Предостережения при использовании распределителя листов
- Выводы
- Вопросы
- Дальнейшее чтение
Организация freelist
Работы распределителя страниц
Работая по нескольким сценариям
Самый простой случай
Более сложный случай
Вариант падения
Внутреннее устройство распределителя страниц - некоторые дополнительные подробности
Никогда не засыпать в прерывании или атомарных контекстах
Работа с флагами GFP
Высвобождение страниц при помощи распределителя страниц
Написание модуля ядра для демонстрации применения API распределителя страниц
Развёртываем свой модуль ядра lowlevel_mem_lkm
Распределитель страниц и внутренняя фрагментация
API распределителя страниц exact
Выделение листов памяти
Высвобождение листов памяти
Структуры данных - некоторые подсказки архитектуры
Реальное кэширование листов применяемое для kmalloc
Написание модуля ядра для применения основ API листов