2012-02-27 3 views
0

Во встроенном проекте нам сложно решить, какую политику планирования использовать. Для некоторых тестовых таблиц необходимо использовать SCHED_OTHER, а для некоторых других тестовых примеров нам нужно использовать SCHED_RR. Но если мы установим SCHED_RR для какой-либо задачи и останемся как SCHED_OTHER, все тестовые примеры проходят. Было ли это законным и существуют ли какие-либо дополнительные побочные эффекты для такого использования двух политик в одном проекте?Использование двух разных политик планирования в одном проекте

+0

Для большей ясности моего запроса у меня есть служебная задача, задача интерпретатора и т. Д. Они сделают работу по вводу данных от пользователя через FrontPanel и сделают необходимое выполнение предусмотренных шагов. Если я устанавливаю политику SCHED_OTHER, автоматически выполняются такие случаи, как получение всех входных данных с передней панели и выполнение их задач непрерывно более 5 часов. Но если я установил эту политику как SCHED_RR, тогда она пройдет. Поскольку Round Robin придает большое значение высокоприоритетной задаче, это может работать. Но для этой политики в somecases вход i, предоставленный вручную, не принимается. Помогите – Gughan

ответ

0

Я предполагаю, что вы говорите об Linux? Тогда да, вполне приемлемо иметь некоторые задачи, выполняемые с SCHED_RR, а другие - с SCHED_OTHER.

Обратите внимание, что задачи SCHED_RR всегда будут работать впереди задач SCHED_OTHER. Поэтому неудивительно, что ваши тесты работают лучше, если вы устанавливаете свои задачи на SCHED_RR. Вы должны следить за тем, что ваши задачи SCHED_RR могут использовать 100% CPU и голодать за SCHED_OTHER. Возможно, это происходит, когда вы говорите, что какой-то ввод падает.

Michael