Ядро поддерживает также ограничение для каждого процесса некоторых ресурсов. Эти ресурсы включают:
· максимальное количество процессорного времени, которое можно набрать;
· максимальное число байтов, которые процесс может запросить для блокирования в памяти;
· максимальный размер сегмента данных процесса;
· Максимальный размер сегмента стека процесса;
· максимальное количество частной физической памяти, которая может быть у процесса в любой данный момент времени;
· максимальное количество частной или разделяемой физической памяти, которая может быть у процесса в любой данный момент времени;
· максимальное количество физической памяти, которую процесс может выделить буферам сокетов;
· максимальный размер файла, который может быть создан процессом;
· максимальный размер дампа памяти, который может быть создан процессом;
· максимальное число одновременно открытых для процесса файлов;
· максимальное число одновременно запущенных процессов для одного пользователя.
Для каждого ресурса, контролируемого ядром, поддерживаются два ограничения: мягкое ограничение и жесткое ограничение. Все пользователи могут изменять мягкое ограничение в диапазоне от 0 до соответствующего жесткого ограничения. Все пользователи могут (безвозвратно) уменьшить жесткое ограничение, но лишь суперпользователь может его увеличить. Если процесс превышает какое-нибудь из мягких ограничений, процессу доставляется сигнал для его уведомления о том, что было превышено ограничение ресурсов. Обычно этот сигнал вызывает завершение процесса, но процесс может либо перехватить, либо игнорировать этот сигнал. Если процесс игнорирует сигнал и отказывается освободить удерживаемые ресурсы, дальнейшие попытки получить дополнительные ресурсы будут завершаться ошибками.
Ограничения ресурсов приводятся в исполнение обычно в местах сбора статистики использования ресурсов или рядом с ними. Ограничение использования времени процессора применяется в функции переключения контекста. Ограничения размеров сегментов стека и данных осуществляются путем неудачного завершения функций выделения по достижении этих ограничений. Ограничение размера файла приводится в исполнение файловой системой.
- 28/08/2010 04:32 - Структура потока
- 27/08/2010 20:18 - Структура процесса
- 17/08/2010 04:52 - Планирование
- 17/08/2010 04:44 - Многозадачное программирование
- 14/08/2010 01:10 - Введение в управление процессами
- 05/08/2010 21:50 - Приоритеты процессов
- 03/08/2010 07:05 - Группы процессов и сеансы
- 01/08/2010 13:44 - Идентификаторы хостов
- 31/07/2010 18:35 - Идентификаторы пользователя, группы и другие идентификаторы
- 24/07/2010 07:07 - Интервальное время