logo
HCS12 с применением языка С - royallib

8.10.1. Краткий обзор проекта

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

Рис. 8.22. Имитатор ОСРВ

Имитатор состоит из набора блоков для 16 задач: пронумерованных в шестнадцатеричной системе от задачи 0 до задачи F. Каждый из таких блоков выполнен на микросхеме регистра с защелкой 74HC573. Состояние пересылается в регистр, где оно сохраняется вплоть до изменения. Состояние каждой задачи отображается набором светодиодов. Только один светодиод высвечивается в любой момент для каждой задачи. Мы использовали схему драйвера для светодиодов, рассмотренную в главе 5 для каждого из регистров 74HC573.

Схема симулятора приведена на рис. 8.23. Демультиплексор 4 в 16 (74HC154) используется, чтобы выбрать отдельную задачу. Двоичный «адрес» задачи задается микропроцессором на входных линиях демультиплексора. В любой момент времени только один его выход находится в активном низком состоянии и, следовательно, выбирается только одна задача.

Рис. 8.23. Аппаратное обеспечение симулятора ОСРВ

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

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

Например, используемый автомобиль (задача) может иметь свойственный контекст, состоящий из года изготовления, модели, номера и показаний одометра. Автомобиль (задача) может находится в различных состояниях, идентичных состояниям задач (готовности, бездействия и т.д). После изготовления автомобиля, он может быть готов для продажи (готовность), проходить испытания (активность), недоступен из-за обслуживания (ожидание), продан (бездействие), и т.д. Состояние нескольких автомобилей (задач) может быть визуально отображено на имитаторе ОСРВ (до 16 задач). Новое состояние сценария может вводиться пользователем с шестнадцатеричной вспомогательной клавиатуры. Новое состояние можно показывать на ЖКД, а изменение списков с указателями получаемых при изменении состояния может быть отображено на экране ПК [Barrett 20041].