Критерии назначения приоритетов задачам



Эти критерии помогают выявить высоко- и низкоприоритетные задачи. Час­то приоритетности задач уделяется внимание только на поздних стадиях цикла разработки. Критической по времени называется задача, которая обязана завершиться к точно установленному сроку. Такая задача должна выполняться с высоким приоритетом. Высокоприоритетные критические по времени задачи необходи­мы в большинстве приложений реального времени.

Некритическая по времени расчетная задача требует значительных ресурсов процессора, но может выполняться с низким приоритетом. Идея о низкоприори­тетных задачах со сложными вычислениями, которые способны действовать в фо­новом режиме и вытесняться высокоприоритетными задачами, появилась еще в ранних системах мультипрограммирования и обычно поддерживается современ­ными ОС.

Критерии группировки задач

Критерии группировки задач, или критерии слияния задач (task cohesion criteria), помогают установить, какие из задач, выявленных на первой ста­дии процесса разбиения на задачи, удобно объединить для уменьшения общего числа задач.

Задачи, определенные на первой стадии (с помощью критериев выделения за­дач ввода/вывода, внутренних задач и критериев назначения приоритетов), на­зываются задачами-кандидатами. Критерии груп­пировки предлагают средства для анализа природы параллелизма в задачах-кан­дидатах, что дает возможность решить, следует ли объединять кандидатов в одну фи­зическую задачу и как именно. Так, если две задачи-кандидата должны исполняться строго последовательно, объединение их в одну физическую задачу обычно упро­щает проект.

Темпоральная группировка.

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

Темпоральная группировка обычно применяется к кандидатам, которые акти­визируются периодически. Например, удобно объединить те задачи-кандидаты, которые активизируются одним и тем же периодическим событием с одной и той же частотой. В темпоральную группу рекомендуется объединять взаимосвязанные задачи. Группировать периодические задачи, которые функционально никак не связаны с точки зрения проектирования нежелательно, хотя иногда это допустимо в целях оптимизации, если накладные расходы на организацию многозадачности стано­вятся слишком высокими.

Последовательная группировка.

Бывает так, что некоторые задачи приложения необходимо выполнять строго последовательно. Первая в цепи таких задач активизируется асинхронным или пе­риодическим событием, а все остальные исполняются после нее одна за другой. Такие задачи можно объединить, применив критерий последовательной группировки.

 

Группировка по управлению.

Управляющий объект, который исполняет последовательную диаграмму со­стояний, отображается на управляющую задачу. В некоторых случаях эту задачу можно объединить с другими объектами, которые выполняют действия, срабаты­вающие при переходе или начинающиеся в момент перехода деятельности. Такой вид группировки называется группировкой по управлению.

В аналитической модели зависящий от состояния управляющий объект опре­деляется с помощью последовательной диаграммы состояния. Такому объекту следует сопоставить отдельную управляющую задачу, посколь­ку выполнение диаграммы состояния по определению строго последовательно. Но эта задача может выполнять в своем потоке управления другие зависящие от со­стояния действия или деятельности. Рассмотрим подобные случаи:

– зависящие от состояния действия, запускаемые управляющим объектом в момент перехода состояний.

– зависящие от состояния деятельности, которые начинаются или заканчи­ваются управляющим объектом в результате перехода состояний.

– зависящие от состояния деятельности, которые запускаются управляющим объектом в результате перехода состояний и исполняются, пока объект на­ходится в данном состоянии.


Дата добавления: 2018-08-06; просмотров: 513; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!