Рефераты. Разработка отказоустойчивой операционной системы реального времени для вычислительных систем с максимальным рангом отказоустойчивости p> Таблица 3.5

Функции, реализующие реконфигуратор


|Имя |Описание |
|static int |Проверка изолированности ПЭ Cpu. |
|CheckCpuLinks (int Cpu)| |
|void reconfig(struct |Процедура реконфигурации, путем изменения |
|SYSTEM* M) |системных таблиц по информации об отказе. |
| |Активизация маршрутизатора для перестройки |
| |системных таблиц. |

Таблица 3.6

Функции, реализующие функциональную задачу


|Имя |Описание |
|void TaskLoop() |Функция исполнения ФЗ (на данном этапе ФЗ – |
| |набор последовательных простейших операторов) |
| |по информации от объекта управления. |
| |Завершается отсылкой результатов для |
| |голосования другим ПЭ и передачей управления |
| |задачам прослушивания и голосования. |

Дополнительные функции, обеспечивающие моделирование отказов в рамках своего ПЭ, представлены в таблице 3.7.

Таблица 3.7

Функции, реализующие моделирование отказа


|Имя |Описание |
|void KillCpu( int |type=1 – фатальный отказ ПЭ, приостановка всех |
|Cpu, int type ) |канальных потоков и ФЗ. |
| |type=0 – отказ ФЗ, внесение искажений при |
| |вычислении ФЗ. |
|void KillLink( int |Завершает соответствующий канальный поток, в |
|Link, int type ) |случае фатального отказа (type=0), или дает |
| |указание модулю коммуникации отсылать ошибочные |
| |пакеты (type=1). |

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

Процесс 1: Функциональная задача;

Процесс 2: Прослушивание канала связи с ОУ;

Процесс 3: Процесс голосования и анализа отказов;

Процесс 4: Реконфигурация;

Процесс 5: Отправка согласованных данных;

Процесс 6 .. N+6: Прослушивание N каналов связи с ПЭ ВС;

[pic]

Рис. 3.2. Диспетчеризация процессов.

Поскольку используются функции блокирующего ввода-вывода базовой ОС, в случае отсутствия данных на входе задача прослушивания канала связи помещается в состояние спячки, практически не занимая при этом процессорного времени, и активизируется только по приходу данных. После этого загружается тело посылки. Далее определяется адресат, и если посылка предназначена другому ПЭ, то посылка передаётся дальше по информации от маршрутизатора, в противном случае производится контроль заголовка
(ошибочные посылки игнорируются). При наличии места данные попадают в соответствующий буфер. При наличии данных во всех предварительных буферах, производится голосование и запись результата во входной буфер канала.

3.2 Программное обеспечение подсистемы проверки

Данный модуль призван обеспечить следующие функции:

. Отображение текущей топологической информации ВС.

. Отображение вычислительного процесса в ВС.

. Возможность моделирования различных отказов ВС.
Для обеспечения удобного интерфейса, приложение было сделано в виде диалогового окна с помощью библиотеки классов Windows MFC (Microsoft
Foundation Classes).
[pic]

Рис. 3.3. Диалоговое окно программы Host.

Функциональное назначение элементов диалогового окна представлено в таблице
3.6.

Таблица 3.6

Назначение и функции элементов диалога


|Элемент |Описание |
|Панель «Отказ |Содержит три связанных элемента: |
|линка» | |
| |Переключатели (Radio Group) задания вида отказа линка, |
| |при этом «Фатальный отказ» означает полное прекращение |
| |передачи информации, а «Некорректная передача» - |
| |искажение передаваемых пакетов. |
| |Поля «ПЭ» и «Линк» задают номер ПЭ и номер канала связи|
| |для моделирования отказа. |
| |Кнопка «Задать» активизирует передачу управляющей |
| |информации заданному ПЭ. |
|Панель «Отказ |Содержит два связанных элемента: |
|ПЭ» |Переключатели задания вида отказа ПЭ, при этом |
| |«Фатальный отказ» означает полное прекращение |
| |функционирования (например зависание), а «Отказ ФЗ» - |
| |неправильный расчет ФЗ, с сохранением функций обмена и |
| |голосования. |
| |Поле «ПЭ» задает номер ПЭ для моделирования отказа. |
| |Кнопка «Задать» активизирует передачу управляющей |
| |информации заданному ПЭ. |
|Поле вывода |Обеспечивает отображение текущей топологической |
|(Rich Edit) |информации в виде модифицированной матрицы связности |
|«Топология» |(текстовый вид), обновляющейся на каждом такте работы |
| |ВС. |
|Поле вывода |Обеспечивает вывод в текстовом или графическом виде |
|«Процесс» |согласованных результатов счета ФЗ. |
|Кнопка «ПУСК» |По нажатию обеспечивает создание конфигурационных |
| |файлов для каждого ПЭ, запуск процессов, моделирующих |
| |ВС, связывание каналов связи с каждым ПЭ и вывод из |
| |спячки канальных потоков прослушивания. |
|Кнопка «Выход» |Обеспечивает освобождение памяти, уничтожения потоков |
| |исполнения, завершение программы. |

Для каждой кнопки диалогового окна существует свой обработчик, выполняющий вышеописанные функции. Помимо этого функция InitInstance(), инициализирующая работу диалога, выполняет анализ топологии ВС, создает приостановленные потоки прослушивания каналов для связи с каждым ПЭ, аналогичные описанным в таблице 3.3. Модуль коммуникации выполнен так же, как и модуль коммуникации ПЭ ВС.

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

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

4. Портирование ОСРВ на платформу TMS320C30

Под портированием (от англ. porting) понимается изменение программного обеспечения для функционирования в услвиях разных архитектур процессорных элементов.

4.1 Основные характиристики и область применения процессора TMS320C30

Унивеpсальность и pабота в pеальном масштабе вpемени пpоцессоpов семейства TMS320 позволяют использовать их в шиpоком кpуге pазpаботок, таких как:

ЦОС ОБЩЕГО НАЗНАЧЕНИЯ:

. цифpовая фильтpация;

. свертка;

. коppеляция;

. пpеобpазование Гильбеpта;

. быстpое пpеобpазование Фуpье;

. адаптивная фильтpация и др.

ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА :

. спектpальный анализ;

. генеpиpование функций;

. сейсмическая обpаботка;

. анализ переходных процессов;

. цифpовая фильтpация и др.

ВОЕННАЯ ТЕХНИКА, управляющие системы и др.

. секpетная связь;

. обpаботка сигналов pадаpа;

. навигация;

. упpавление pакетами;

. автоматические системы;

. бортовые системы и др.

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

Ниже пеpечислены основные параметры TMS320C30:
. 60 нс вpемя выполнения однотактной команды

- 33.3 MFLOPS (миллион операций с плавающей точкой в секунду)

- 16.7 MIPS (миллион инструкций в секунду)
. Блок ПЗУ 4К х 32 двойного доступа без такта ожидания
. Два блока ОЗУ 1К х 32 двойного доступа без такта ожидания
. Кэш-память команд 64 х 32
. 32-pазpядные слова данных и команд, 24-pазpядный адpес
. 40/32-бит плавающая точка/целые числа умножитель и АЛУ
. 32-pазpядный кольцевой сдвиговый pегистp
. Восемь pегистpов pасшиpенной точности (аккумулятоpы)
. Два адpесных генеpатоpа с восемью вспомогательными pегистpами и два аpифметических блока вспомогательных pегистpов
. Внутpикpистальный контpоллеp пpямого доступа в память (DMA) для независимых опеpаций ввода/вывода и центpального пpоцессоpного блока
. Целочисленные, с плавающей точкой и логические опеpации
. Двух- и тpехопеpандные команды
. Паpаллельная pабота АЛУ и умножителя в одном такте
. Возможность повтоpения блоков команд
. Циклы с нулевыми непроизводительными издержками и пеpеходы за один цикл
. Условные переходы и возвраты
. Команды для поддеpжки мультипpоцессоpной pаботы
. Два последовательных порта для обмена 8/16/32 - pазpядными сообщениями
. Два 32-pазpядных таймера
. Два внешних флага общего назначения, четыре внешних прерывания

4.2 Обзор базовых ОСРВ для платформы TMS320C30

Для построения отказоустойчивой системы реального времени на базе процессора TMS320C30 необходимы базовые механизмы и средства, которые были перечислены в главе 1. В настоящее время существует достаточно много базовых ОСРВ для процессоров серии TMS320. Качественно они мало чем отличаются друг от друга, различия могут возникать из-за специфики применения этих ОСРВ. Приведем характеристики одной из самых известных
ОСРВ, переносимых на TMS320C30.

Операционная система SPOX.

SPOX поддерживает несколько различных вариантов архитектур:
. дополнительные вычислительные среды для рабочих станций;
. однородные встраиваемые системы;
. неоднородные встраиваемые системы;
. персональные компьютеры с процессором Intel Pentium под управлением

Microsoft Windows 95.
Среда SPOX состоит из четырех основных компонентов (рис. 4.1):
. ядро SPOX (SPOX-KNL) обеспечивает вытесняющую приоритетную многозадачность, высокоскоростную обработку прерываний, распределение памяти, различные механизмы межзадачного обмена информацией и синхронизации, а также независимый от устройств ввод-вывод. Результатами тестирования SPOX-KNL стали следующие цифры:
> Время захвата семафора – 7.9 мкс;
> Время переключения задач одинакового приоритета – 15 мкс;
> Время реакции на прерывание – 33 мкс;
> Время завершения прерывания – 1.4 мкс;
> Задержка диспетчеризации (время вытеснения задачи с большим приоритетом задачу с меньшим) – 12.24 мкс;
> Время переключения контекста – 7 мкс;
> Минимальный размер системы 1532 слова.
. модуль SPOX-LINK поддерживает «прозрачное» взаимодействие между целевой платформой и хост-системой и дающее доступ к основным ресурсам хост- машины, таким как консоли, файловые системы и сети;
. библиотека (SPOX-MATH) содержит свыше 175 математических функций;
. высокоуровневый отладчик SPOX-DBUG.

[pic]

Рис. 4.1. Структурная схема ОС SPOX

Все четыре подсистемы реализованы как библиотеки C-вызываемых перемещаемых модулей. При этом системные функции SPOX подключаются к объектному коду приложения на этапе связывания.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.