Книга: Архитектура операционной системы UNIX
6.5.7 Отсоединение области от процесса
6.5.7 Отсоединение области от процесса
Ядро отсоединяет области при выполнении системных функций exec, exit и shmdt (отсоединить разделяемую память). При этом ядро корректирует соответствующую запись и разъединяет связь с физической памятью, делая недействительными связанные с областью регистры управления памятью (алгоритм detachreg, Рисунок 6.26). Механизм преобразования адресов после этого будет относиться уже к процессу, а не к области (как в алгоритме freereg). Ядро уменьшает значение счетчика ссылок на область и значение поля, описывающего размер процесса в записи таблицы процессов, в соответствии с размером области. Если значение счетчика становится равным 0 и если нет причины оставлять область без изменений (область не является областью разделяемой памяти или областью команд с признаками неотъемлемой части процесса, о чем будет идти речь в разделе 7.5), ядро освобождает область по алгоритму freereg. В противном случае ядро снимает с индекса и с области блокировку, установленную для того, чтобы предотвратить конкуренцию между параллельно выполняющимися процессами (см. раздел 7.5), но оставляет область и ее ресурсы без изменений.
- Отсоединение
- 6.5 УПРАВЛЕНИЕ АДРЕСНЫМ ПРОСТРАНСТВОМ ПРОЦЕССА
- 6.5.1 Блокировка области и снятие блокировки
- Сущность процесса миграции
- V Совершенствование процесса
- Использование сервера Yaffil внутри процесса
- 2.12.2. Анализ усилительных каскадов в области малых времен
- 4. Стадии бизнес-процесса взаимодействия с клиентами
- 2.2.2.2 Состояния процесса
- 1.2 Процесс, контекст процесса и потоки
- Вытеснение процесса
- Настройка верхней области навигации