3.2.3. Планирование процессов

3.2.3. Планирование процессов

Операционная система Linux планирует работу родительских и дочерних процессов независимо друг от друга. Нет гарантии, что один процесс будет запущен раньше другого. и неизвестно, как долго один процесс будет выполняться, прежде чем Linux прервет его работу и передаст управление другому процессу. В частности, к моменту завершения родительского процесса может оказаться, что команда ls еще не выполнена, выполнена частично или уже закончила свою работу.[11] Linux лишь гарантирует, что любой процесс когда-нибудь получит свой "кусочек пирога": ни один процесс не окажется полностью лишенным доступа к процессору.

Можно сообщить системе о том, что процесс не очень важен и должен выполняться с пониженным приоритетом. Это делается путем повышения фактора уступчивости процесса. По умолчанию у каждого процесса нулевой фактор уступчивости. Повышение этого значения свидетельствует о снижении приоритета процесса, и наоборот: процессы с низким (т.е. отрицательным) фактором уступчивости получают больше времени на выполнение.

Для запуска программы с ненулевым фактором уступчивости необходимо воспользоваться командой nice -n. Рассмотрим следующий пример:

% nice -n 10 sort input.txt > output.txt

Здесь активизируется длительная операция сортировки, которая, благодаря пониженному приоритету, не приведет к сильному снижению производительности системы. Изменить фактор уступчивости выполняющегося процесса позволяет команда renice.

Если требуется менять фактор уступчивости программным путем, воспользуйтесь функцией nice(). Ее аргумент — это величина приращения, добавляемая к фактору уступчивости вызывающего процесса. В результате приоритет процесса снижается.

Только программа с привилегиями пользователя root может запускать процессы с отрицательным фактором уступчивости или понижать это значение у выполняющегося процесса. Это означает, что вызывать команды nice и renice с отрицательными аргументами можно, лишь войдя в систему как пользователь root, и только процесс, выполняемый от имени суперпользователя, может передавать функции nice() отрицательное значение. Таким образом, обычные пользователи не могут помешать работать процессам других пользователей и монополизировать системные ресурсы.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

8.1 ПЛАНИРОВАНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССОВ

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

8.1 ПЛАНИРОВАНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССОВ Планировщик процессов в системе UNIX принадлежит к общему классу планировщиков, работающих по принципу "карусели с многоуровневой обратной связью". В соответствии с этим принципом ядро предоставляет процессу ресурсы ЦП на квант


5.2.4 Планирование

Из книги Процессы жизненного цикла программных средств автора Автор неизвестен


7.1.2 Планирование

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


8.1.5.2 Планирование

Из книги Руководство администратора баз данных Informix. автора Кустов Виктор


F.3.3 Планирование

Из книги Практика и проблематика моделирования бизнес-процессов автора Всяких Е И


2.2.1.3 Планирование потоков

Из книги Системное программирование в среде Windows автора Харт Джонсон М

2.2.1.3 Планирование потоков Сервер осведомлен о степени значимости различных потоков и в соответствии с этим назначает для них приоритеты. Например, потоки ввода-вывода получают приоритеты следующим образом: 1. ввод-вывод логической журнализации - наивысший приоритет;2.


Приоритеты процессов и потоков и планирование выполнения

Из книги Внедрение SAP R/3: Руководство для менеджеров и инженеров автора Кале Вивек

Приоритеты процессов и потоков и планирование выполнения Ядро Windows всегда запускает тот из потоков, готовых к выполнению, который обладает наивысшим приоритетом. Поток не является готовым к выполнению, если он находится в состоянии ожидания, приостановлен или


Глава 1 Планирование

Из книги VBA для чайников автора Каммингс Стив

Глава 1 Планирование Если не знаешь, куда идти, то куда-нибудь ты обязательно попадешь. Льюис Кэрролл. Алиса в стране чудес Необходимо распланировать все еще до того, как на сайт придет первый посетитель. Что вы собираетесь предпринять для привлечения клиентов? Из каких


Планирование проекта

Из книги Путь программиста: от 100$ до 10000$ в месяц автора Никитин Александр

Планирование проекта Эта задача включает в себя подготовку и создание Устава проекта, стратегии внедрения, а также создание организации проекта и планов по различным видам связанной с проектом деятельности — таким, как финансирование, расписание, предоставление


Планирование макросов

Из книги Операционная система UNIX автора Робачевский Андрей М.

Планирование макросов Прежде чем вы пропустите этот тоскливый раздел и с головой погрузитесь в процесс записи макросов, выслушайте один довольно консервативный совет: чтобы избежать лишней головной боли, уделите немного времени планированию макроса перед тем, как


Планирование

Из книги Как тестируют в Google автора Уиттакер Джеймс

Планирование Чтобы добиться в чем-то успеха, нужно понимать, куда вообще двигаться. Поэтому потратьте время, сядьте и напишите на бумаге свои ближайшие планы и цели. Зачем Вы читаете эту книгу? Чему Вы хотите научиться? Почему Вы хотите этому научиться? Что из уже


Планирование выполнения процессов

Из книги Разработка ядра Linux автора Лав Роберт

Планирование выполнения процессов Как и оперативная память, процессор является разделяемым ресурсом, который должен быть справедливо распределен между конкурирующими процессами. Планировщик процессов как раз и является той подсистемой ядра, которая обеспечивает


Планирование автоматизации

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

Планирование автоматизации Время разработчика в тестировании ограничено и расписано по минутам, поэтому хорошая идея — создавать план автоматизации как можно раньше. План должен быть реалистичным. Пытаться автоматизировать все сразу в одном тестовом пакете — это


Глава 4 Планирование выполнения процессов

Из книги автора

Глава 4 Планирование выполнения процессов В предыдущей главе были рассмотрены процессы — абстракция операционной системы, связанная с активным программным кодом. В этой главе представлен планировщик процессов — код, который позволяет процессам


9 Планирование

Из книги автора

9 Планирование Восемь часов – на удивление короткий промежуток времени. Это всего лишь 480 минут, или 28 800 секунд. Вы как профессионал должны использовать эти драгоценные секунды как можно более эффективно. Какую стратегию вы изберете, чтобы избежать напрасных затрат