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



ЗНАЕТЕ ЛИ ВЫ?

Асинхронные задачи интерфейса с устройствами ввода/вывода.

Поиск

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

Асинхронная задача интерфейса с устройством обязана работать с той же скоростью, что и само устройство. Асинхронная задача интерфейса с устройством ввода/вывода – это задача драйвера устройства. Как правило, она активизируется низкоуровневым обработчиком прерывания, а иногда непосредственно устройством.

Периодические задачи интерфейса с устройством ввода/вывода.

Если асинхронная задача интерфейса с устройством ввода/вывода работает с асинхронным устройством, то периодическая задача имеет дело с пассивным устройством, которое необходимо время от времени опрашивать. В этой ситуации задача активизируется периодически, но ее функции связаны с вводом/выводом.

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

О выборе временных интервалов для периодических задач ввода/ вывода

Частота, с которой задача опрашивает датчик, зависит от ожидаемой частоты из­менения его показаний, а также от приемлемой величины задержки извещения о мо­дификациях.

Пассивные задачи интерфейса с устройствами ввода/вывода.

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

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

Отделение пассивной задачи ввода от вычислительной задачи полезно толь­ко в тех случаях, когда последняя должна произвести некоторые вычисления за время, пока задача ввода читает данные. Если же вычислительная задача должна дожидаться входных данных, то ввод допустимо выполнять в том же потоке управления;

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

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

Задачи-мониторы ресурсов.

Задача-монитор ресурса – это частный случай пассивной задачи ввода/выво­да, рассмотренной выше. С устройством ввода/вывода, которое получает запросы из разных источников, должна быть ассоциирована задача-монитор для коорди­нации запросов, даже если устройство является пассивным. Ее цель – упорядо­чить запросы, чтобы гарантировать целостность данных и избежать их искажения или потери.

Критерии выделения внутренних задач

критерии выделения внутренних задач помогут выявить внутренние задачи, не связанные с вводом/выводом.

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

Асинхронные задачи. Во многих параллельных системах и системах реального времени встречаются работы, выполняемые по требованию. Обычно для них применяются асинхронные задачи. Если асинхронные задачи ввода/вывода активизируются прерываниями, то асинхронные внутренние задачи (их еще называют апериодическими) активизиру­ются по требованию, когда приходит внутреннее сообщение или событие.

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

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

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

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

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

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

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

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 292; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.201.92 (0.006 с.)