История ао «Транстелеком»



жүктеу 1,16 Mb.
бет10/10
Дата28.04.2020
өлшемі1,16 Mb.
#30033
түріРеферат
1   2   3   4   5   6   7   8   9   10
Транстелеком русс

Операционная система 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.


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


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

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

Таким образом ОСРВ SPOX имеет необходимые механизмы для создания отказоустойчивой распределенной операционной системы реального времени, концепция построения которой описана в главе 2. Модули маршрутизации, реконфигурации, голосования реализованы как аппаратно-независимые процедуры операционной системы. Модули оперируют данными, заданными в конфигурационном файле, что не привязывает их к конкретной топологии. Реализованные методом структурного программирования на языке Си, модули могут быть перенесены на большинство платформ, включая и TMS320C30.

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

Зависимость программного обеспечения в рамках рассматриваемой операционной системы возникает на этапе самодиагностирования процессора с целью получения информации о своем состоянии.

Модуль диагностики, реализованный в виде набора функций, возвращающих код ошибки, призван решать следующие задачи:



  1. На этапе инициализации:

  • Тестирование регистров общего назначения процессора;

  • Проверка правильности выполнения арифметических, логических и др. операций;

  • Занесение в соответствующую таблицу контрольных сумм неизменных во время выполнения программ областей памяти (исполняемый код, константы), размещение которых в памяти проводится на этапе сборки рабочего кода в соответствии с картой памяти;

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

  • Тестирование регистров общего назначение;

  • Проверка правильности выполнения арифметических, логических и др. операций;

  • Вычисление контрольных сумм указанных областей памяти и сопоставление их с вычисленными на этапе инициализации.

Этот тест выполняется первым для проверки регистров повышенной точности (R0-R7) и вспомогательных регистров (АR0-АR7). Тестирование сводится к проверке регистров на запись/чтение из памяти/в память и проверке правильности перемещения данных из регистра в регистр. Тест разбивается на два этапа:

  • Проверка вспомогательных регистров (целочисленные значения). Проверка реализована по следующему алгоритму:

  1. Инициализировать две целочисленные переменные начальным и ожидаемым значением тестирования;

  2. Загрузить начальное значение в регистры (АR0-АR7).

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

  4. Запись в стек модифицированных регистров.

  5. Произвести операцию сдвига влево содержимого стека на N разрядов в соответствии с номером записанного регистра.

  6. Записать данные из стека в регистры.

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

  8. Сравнить содержимое регистра АR7 с ожидаемым, заранее рассчитанным значением.

  • Проверка регистров повышенной точности (значения с плавающей точкой) проводится аналогично.

Функция register_test реализована на языке Ассемблер в соответствии с архитектурой и системой команд TMS320C30.

Данный тест разделен на три различных модуля. Вместе они проверяют следующие числовые операции:

1. Логические, сдвиг, циклический сдвиг.

2. Операции с плавающей запятой, выполненные над одним значением и соответствующие параллельные команды.

3. Операции с плавающей запятой и целочисленные, выполняющие сложение, вычитание, и умножение и соответствующие параллельные команды.

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

Данный тест формирует по одному из самых простых алгоритмов так называемый CRC (Cyclic Redundancy Check) блока памяти, указанный в параметрах теста. Правильный (ожидаемый) CRC подтверждает правильность данных (кода) в указанной, неизменной (nonvolatile) в процессе исполнения задач области памяти.

Формирование CRC происходит по следующему алгоритму:



  1. Инициализация начального значения CRC нулем; маска контрольных битов выбирается произвольно, например - 80200003(Н).

  2. Наложить маску на CRC и суммировать по модулю два значения контрольных битов.

  3. Сдвинуть CRC влево на 1 разряд и прибавить результат шага 2.

  4. Сложить результат с очередным словом блока тестируемых данных.

  5. Если блок закончился шаг 6, иначе шаг 2.

  6. Сравнить полученный CRC с ожидаемым.

Ожидаемые значения могут быть получены на этапе инициализации. Функция crc_test реализована на языке Ассемблер в соответствии с архитектурой и системой команд TMS320C30. Предложенная в работе концепция организации отказоустойчивых вычислений, является лишь первым шагом в создании универсальной, аппаратно-независимой, многофункциональной распределенной ОСРВ.

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

Дальнейшее наращивание функций ОСРВ может вестись в нескольких направлениях:


  1. Голосование, проводимое на уровне элементарной проверки, в общем случае может не удовлетворять условиям функционирования управляющих систем вследствие погрешностей и возможного отличия функциональной информации, поступающей на обработку в ФЗ разных ПЭ. Поэтому при голосовании, особенно на последних стадиях деградации целесообразно применять помехоустойчивое оценивание, например методом наименьших квадратов (МНК).

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

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

  2. Расширить возможности самодиагностирования ПЭ подсистемой промежуточных тестов ввода-вывода, тестом таймеров и др.

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

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

Заключение


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

  • Время реакции системы;

  • Время переключения контекста;

  • Наличие средств диспетчеризации;

  • Наличие средств синхронизации, межзадачного и межпроцессорного взаимодействия;

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

  • Средства маршрутизации пакетов данных в сети ПЭ;

  • Средства высокоуровневого межпроцессорного обмена;

  • Протокол голосования, анализа отказов в ВС, и принятия консолидированного решения;

  • Средства реконфигурации ВС.

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

Далее была предложена вероятностная модель отказоустойчивой ВС, рассчитаны ее надежностные характеристики, показавшие увеличение среднего времени наработки ВС на отказ в 2,5 – 3,5 раз с расширением ВС до 5-7 узлов, даны рекомендации по выбору типа ВС при ее проектировании.

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

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

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

Список использованных литератур


1. Затуливетер Ю.С. Введение в проблему параметризованного синтеза программ для параллельных компьютеров. -М., 1993 (Препринт/Институт проблем управления).

2. Харченко В.С., Лысенко И.В., Мельников В.А. Оценка и обеспечение живучести информационно-вычислительных и управляющих систем технических комплексов критического использования. Зарубежная радиоэлектроника. 1996. №1.

3. Э.В. Евреинов. Однородные вычислительные системы и среды. –М. Радио и связь, 1981.

4. А. Вильямс. Системное программирование в Windows 2000. –СПб. Питер, 2001.

5. С. Кейслер. Проектирование операционных систем для малых ЭВМ,-М., Мир, 1986.

6. А. Шоу. Логическое проектирование операционных систем.-М.,Мир, 1981.

7. К.А. Иыуду, С.А. Кривощеков, Математические модели отказоустойчивых ВС. –М., МАИ, 1989.

8. К.А. Иыуду. Надежность, контроль и диагностика вычислительных машин и систем. -М., Высшая школа,1989.

9. Л.П. Глазунов и др. Основы теории надежности автоматических систем управления. -М.,Энергоатомиздат, 1984.

10. Р.Л. Лонер, Г.Н. Уилкинсон, Устойчивые статистические методы оценки данных: Москва, Машиностроение, 1984

11. Артамонов Г.Т., Тюрин В.Д. Топология сетей ЭВМ и многопроцессорных систем. — М.: Радио и связь, 1991.

12. Е.С. Вентцель, Теория вероятностей. М. НАУКА, 1969.

13. В.Н. Агафонов. Спецификация программ. –М., Наука, 1987.

14. А. Мешков, Ю. Тихомиров. Visual C++ и MFC. –СПб. БХВ-Санкт-Петербург, 2001.

15. Л.Б. Богуславский. Управление потоками данных в сетях ЭВМ. -М., Энергоатомиздат, 1984.

16. В.И. Матов и др. Теория проектирования вычислительных машин систем и сетей. –М., МАИ, 1999.

17. В.В. Липаев. Надежность программного обеспечения АСУ. -М., Энергоиздат, 1981.

17. Д.И. Козлов и др., Управление космическими аппаратами зондирования земли. – М.: Машиностроение, 1998.



18. Б. Страуструп. Язык программирования С++. – Киев. ДиаСофт, 1993.





жүктеу 1,16 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау