Лабораторная работа 4 doc. Лабораторная работа 4 планировщик задач реальноговремени
Скачать 304 Kb.
|
Планировщик задачВ системах реального времени на алгоритм планировки возлагается за- дача определения последовательности выполнения заданий в соответствии с их требованиями к ресурсам и ко времени исполнения. При проектировании системы реального времени выбор приемлемого алгоритма планирования мо- жет зависеть от нескольких факторов: от количества процессоров всистеме; от гомогенности или гетерогенностипроцессоров; от отношения предшествования междузаданиями; от метода синхронизациизаданий. Программно-зависимые характеристики заданий могут определять вы- бор алгоритма планирования. Например, задания могут быть прерываемыми и не прерываемыми. Выполнение прерываемого задания может быть прерва- но другим и продолжено позднее; непрерываемые задания выполняются до завершения и не могут быть прерваны. Приложению предлагаются обе воз- можности. Алгоритмы планирования заданий могут быть разделены на стати- ческие и динамические. Статические алгоритмы определяют приемлемый план выполнения заданий по их априорным характеристикам, динамический алгоритм модифицирует план во время исполнения заданий. Издержки на ста- тическое планирование низки, но оно крайне нечувствительно и требует пол- ной предсказуемости той системы реального времени, на которой оно уста- новлено. Динамическое планирование связано с большими издержками, но способно адаптироваться к меняющемусяокружению. Методологии разработки программного обеспеченияПервое направление представлено объектно-ориентированными мето- дологиями разработки программного обеспечения, интенсивно развивающи- мися с конца 80-х годов. В 1997 г. OMG (ObjectManagementGroup) приняла UML, появившийся в результате слияния ряда известных методологий, в ка- честве стандарта языка объектно-ориентированного моделирования. Еще од- ним объектно-ориентированным подходом является методология ROOM, со- зданная для разработки систем реального времени. Второе направление – это развитие в течение последних 20 лет международным комитетом ITU стан- дартов для разработки телекоммуникационных систем: SDL, MSC и т.д. Тре- тье направление развивает структурные методологии разработки программ- ного обеспечения: SADT, IDEF-стандарты, метод Йордана и т.д. В настоящее время эти методологии прочно закрепились в области разработки информаци- онных систем. Они являются эффективным средством анализа систем в целом и успешно применяются. Например, методология Real основывается, главным образом, на UML, SDL, ROOM и отражает перечисленные интеграционные тенденции. Помимо стандартных для объектно-ориентированного подхода черт в Real добавлены дополнительные возможности, направленные на две специальные области программного обеспечения – для информационных систем и для систем ре- ального времени. Real не претендует на то, чтобы покрыть все возможности программ- ных продуктов соответствующих областей. Однако, учитывая современный уровень развития локальных и глобальных информационных сетей и возрас- тающую сложность программного обеспечения, в информационных системах все большую популярность приобретает технология клиент-сервер, т.е. мно- гие информационные системы приобретают ярко выраженный событийно- ориентированный аспект, который глубоко проработан в методологиях разра- ботки программного обеспечения систем реального времени. С другой сторо- ны, большие распределенные системы реального времени нуждаются в хране- нии, доступе и передаче не только управляющих сигналов и данных трафика, а, как правило, и огромного количества информации (например, тарификаци- онной и аутентификационной). Методология Real подходит для разработки программного обеспечения обеих областей, но наиболее эффективна для их пересечения. Разработка программного обеспечения систем реального временив методологии Real Основное назначение Real применительно к системам реального време- ни – проектирование сложной управляющей логики с последующей возмож- ностью автоматической генерации кода. Методология не ориентирована спе- циальным образом на разработку оборудования и программного обеспечения, непосредственно с ним контактирующего (драйверов устройств и т.п.), а так- же сетевых протоколов нижнего уровня, но для этих задач она подходит при- мерно в той же, степени, как и UML. Как показывает практика, прямые ветки сложных алгоритмов достаточ- но удобно и наглядно определять с помощью сценариев. На начальных этапах разработки системы нужно четко определить логику всех взаимодействий. При этом правила поведения системы в ошибочных ситуациях в большинстве случаев можно доработать позднее. По сценариям можно сгенерировать STD- или SDL-диаграммы и продолжить создание спецификаций уже в этом стиле, учитывая все допустимые варианты поведения системы. В терминах Real основной структурной единицей системы реального времени является объект. Объекты взаимодействуют друг с другом через ин- терфейсы. Под взаимодействием понимается посылка сообщений, вызов ме- тодов и обращение к атрибутам интерфейса. Поскольку в последнее время все большее число систем реального времени становятся распределенными и се- тевыми, понятие интерфейса приобретает особую важность. Интерфейсы Real сильно отличаются от портов (gate) SDL (составом, способом связи с класса- ми) и интерфейсов UML (составом, способом связи с классами, способом изображения), а также интерфейсов в ROOM(составом и способом изображе- ния). В системах реального времени важную роль играют абстракции точек входа и выхода у различных компонент программного обеспечения. Поэтому в модель классов Real был добавлен из ROOM специальный элемент – порт. Компонента программного обеспечения, определенная в виде класса с портами и интерфейсами, может иметь конечно-автоматное поведение, опи- сываемое в терминах поведенческой модели Real. Поведенческая модель, в свою очередь, представляется двумя альтернативными нотациями: первая основана на варианте STD, представленном в ROOM, вторая — на расширен- ном конечном автомате SDL. С помощью STD-нотации удобно определять поведение компонент системы на ранних этапах разработки: множество мел- ких деталей можно временно убрать из поля зрения. В то же время на SDL- диаграммах можно наглядно изобразить мельчайшие подробности алгорит- мов. Эта возможность становится полезной на поздних этапах проектирова- ния. При этом информацию, изображенную на STD-диаграммах, можно ”за- грузить” наSDL-диаграммы, таким образом, результаты ранних этапов при переходе к более формальной спецификации не будут потеряны. В рамках Real, STD и SDL нотации предназначены для описания единой поведенческой модели, так что всегда возможно и обратное - загрузка на STD-диаграмму ре- зультатов работы с SDL-редактором. На поведенческую модель Real сильно повлияла технология SDL/PLUS 20: так же не используются типы данных и выражения SDL, но применяется более гибкая стратегия связи с языками реа- лизации вместо заранее фиксированного языка. Использование специальной событийно-ориентированной методологии разработки программного продукта поможет улучшить стройность организа- ции прикладного приложения и, в целом, хорошо отразится на надежности создаваемой системы реального времени. |