Книга: Разработка ядра Linux
Удаление дескриптора памяти
Удаление дескриптора памяти
Когда процесс, связанный с определенным адресным пространством, завершается, то вызывается функция exit_mm()
. Эта функция выполняет некоторые служебные действия и обновляет некоторую статистическую информацию. Далее вызывается функция mput()
, которая уменьшает на единицу значение счетчика количества пользователей mm_users
для дескриптора памяти. Когда значение счетчика количества пользователей становится равным нулю, то вызывается функция mmdrop()
, которая уменьшает значение основного счетчика использования mm_count
. Когда и этот счетчик использования наконец достигает нулевого значения, то вызывается функция free_mm()
, которая возвращает экземпляр структуры mm_struct
в слябовый кэш mm_cachep
с помощью вызова функции kmem_cache_free()
, поскольку дескриптор памяти больше не используется.
- 3.2.1.2. Начальное выделение памяти: malloc()
- Удаление шаблонов узлов STP
- Удаление учебного узла
- Удаление файлов занятий
- Удаление узла
- Добавление, изменение и удаление элементов списка
- Добавление, изменение и удаление столбцов списка
- Удаление списка
- Удаление документов
- Удаление библиотеки
- Удаление рабочей области для документов
- Неисправности оперативной памяти