Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемНадежда Мултановская
1 ОПЕРАЦИОННАЯ СИСТЕМА РЕАЛЬНОГО ВРЕМЕНИ ОС РВ Багет 3.0 Годунов А.Н. НИИСИ РАН, Москва
2 Цель разработки ОС РВ Багет 3.0 – развитие существующей свыше 10 лет ОС РВ Багет 2.0 c целью повышения надежности и "живучести. C ростом объема и сложности систем проблемы повышения надежности и "живучести становятся все более и более важными. Особенно острыми они становятся в тех случаях, когда разработку ведет большой коллектив или несколько коллективов из разных организаций.
3 Принципы построения системы Мобильность (portability). Использование стандартов. Разбиение системы на части с тем, чтобы сбои в одной части не влияли на работоспособность других. Наличие средств восстановления после сбоев, а также развитые средства диагностики и обработки ошибок. Гибкие средства планирования (периодические планирование, приоритетное планирование, планирование с вытеснением – preemptive scheduling). Управляемость (в частности наличие средств конфигурирования).
4 Мобильность При разработке системы ставилась задача обеспечения мобильности, как приложений, так и самой ОС. Мобильность приложений обеспечивается в основном применением стандартов, описывающих интерфейс приложений с ОС. С целью повышения мобильности ОС она разбита на три части: – не зависящая от аппаратуры, – зависящая только от типа центрального процессора, – пакет поддержки модуля (в частности драйверы устройств). Не зависящая от аппаратуры часть ОС имеет самый большой объем и написана полностью на языке С.
5 Использование стандартов Разработка ОС РВ Багет 3.0 базируется на спецификации ARINC 653 и стандарте POSIX Как POSIX, так и ARINC описывают интерфейс прикладных программ с ОС; при этом они существенно отличаются друг от друга (в частности, используют различную терминологию). Спецификация ARINC 653 выбрана в качестве основной. Реализованы все обязательные функции ARINC 653. Стандарт POSIX используется в той мере, в какой это не противоречит ARINC 653. Поддержка стандарта POSIX обеспечивает совместимость с ОС РВ Багет 2.0.
6 Стандарт POSIX Стандарт POSIX разрабатывался с целью унификации UNIX- подобных систем и тем самым способствовать мобильности прикладных программ. Изначально UNIX не был ориентирован на решение задач реального времени, но в процессе развития стандарта POSIX в него были добавлены функции, характерные для операционных систем реального времени (таймеры, семафоры, мьютексы, сигналы реального времени и др.). Стандарт POSIX имеет большой объем и описывает многие сотни функций.
7 Спецификация ARINC 653 Спецификация ARINC 653 разрабатывалась специально для систем реального времени. Основное внимание уделено средствам повышения надежности (обработке ошибок, восстановлению работоспособности после сбоев и др.), планированию и унификации функций передачи данных. Спецификация ARINC 653 имеет сравнительно небольшой объем и описывает несколько десятков функций. В ARINC 653 используется небольшое число объектов ОС (семафоры, очереди сообщений, каналы и др.), для работы с каждым из которых используется единообразный интерфейс.
8 Операционные системы, соответствующие спецификации ARINC 653 VxWORKS AE653 (Wind River), LynxOS (LynuxWorks, Inc.), INTEGRITY-178B (Green Hills Software Inc.).
9 Процессы Спецификация ARINC 653 предусматривает как пользовательские, так и системные процессы. Интерфейс пользовательских процессов должен соответствовать ARINC 653. Для системных процессов в ОС РВ Багет 3.0 используется POSIX- интерфейс. Таким образом, в рамках ОС РВ могут одновременно выполняться как ARINC-процессы (пользовательские процессы в терминологии ARINC), так и POSIX-процессы (системные процессы в терминологии ARINC). Все процессы, выполняются в пользовательском режиме процессора, кроме главного системного процесса, который выполняет функции ОС.
10 Порождение процессов Порождение процессов возможно только при инициализации модуля (в соответствии со спецификацией ARINC 653). Порождаемые процессы и выделяемые им ресурсы указываются при конфигурировании (интегратором).
11 Планирование В ОС РВ Багет 3.0 используется двухуровневое планирование: – планирование процессов; – планирование потоков управления. Планирование процессов в ОС РВ периодическое и определяется расписанием (циклограммой), которое составляется интегратором при конфигурировании. Возможно использование разных расписаний на разных этапах работы В расписании определяется основной период (major frame), который разбивается на (временные) окна. В расписании для каждого окна указывается список процессов, которые могут выполняться в данном окне.
12 Планирование потоков управления Для организации (псевдо)параллельных вычислений в рамках, как POSIX-, так и ARINC-процессов используются потоки управления. Планирование потоков управления производится на основании приоритетов потоков. Потоки ARINC-процессов конкурируют за использование процессора только с потоками одного и того же процесса. Потоки POSIX-процессов конкурируют за использование процессора со всеми потоками всех POSIX-процессов.
13 Взаимодействие процессов ARINC-процессы взаимодействуют с другими процессами (в том числе и с POSIX-процессами) и внешними устройствами только путем передачи сообщений через каналы. Такие ограничения на способы взаимодействия ARINC- процессов делает их слабо взаимосвязанными и облегчает восстановление (повторный старт) процессов при сбоях. POSIX-процессы могут взаимодействовать между собой с помощью широкого набора средств, предусмотренных стандартом POSIX (семафоры, очереди сообщений и др.).
14 Каналы Каналы могут использоваться для передачи сообщений: – между процессами, выполняемыми на одном и том же процессорном модуле; – между процессами, выполняемыми на разных процессорных модулях; – между процессами и внешними устройствами. Интерфейс взаимодействия прикладных программ с каналами не зависит от способа передачи данных по каналам. Независимость интерфейса от способа передачи данных повышает мобильность прикладных программ и удобна при отладке. Каналы должны быть описаны при конфигурировании системы.
15 Методы повышения надежности Разбиение системы на части с тем, чтобы сбои в одной части не влияли на работоспособность других. Сохранение работоспособности даже в случаях сбоев при работе ОС. Контроль за переполнением стеков (как при работе прикладных программ, так и при работе ОС). Проверка аргументов при обращении к функциям ОС. Использование обширной системы тестов ОС, реализующей в частности все требования спецификации ARINC 653 к системе тестов (разработка ИСП РАН).
16 Разграничение процессов (partitioning) Каждый процесс имеет отдельный сегмент кода и сегмент данных. Доступ к этим сегментам со стороны других процессов аппаратно блокируется. Для каждого ARINC-процесса ОС создает отдельный сегмент системных данных, который содержит всю системную информацию о процессе. Аппаратные средства защиты памяти используются как при работе прикладных программ, так и при работе ОС. Способы взаимодействия процессов существенно ограничены. Планирование процессов не позволяет использовать процессор одними процессами в ущерб другим.
17 Распределение памяти При конфигурировании память модуля распределяется между ОС и процессами. Память ОС включает в себя следующие сегменты: – системные данные модуля; – программный код ОС. Каждому ARINC-процессу выделяется 3 сегмента: – программный код (и константы) процесса; – данные процесса; – системные данные процесса. Каждому POSIX-процессу выделяется 2 сегмента: – программный код (и константы) процесса; – данные процесса. Все POSIX-процессы используют общий сегмент системных данных (там же находятся и данные главного системного процесса). Код главного системного процесса находится в сегменте программного кода ОС.
18 Системные данные модуля Код ОС Системные данные процесса Код процесса Данные процесса … … … Системные данные POSIX- процессов Код процесса Данные процесса … … ARINC-процессыPOSIX-процессы Сегменты
19 Обработка ошибок Диагностика ошибок производится аппаратурой, операционной системой и прикладной программой. Обработка ошибок производится операционной системой и прикладной программой. Реакция на ошибки при выполнении ARINC-процесса определяется интегратором при конфигурировании системы. Интегратор определяет уровень ошибки, который может зависеть от типа ошибки и состояния системы. Возможны следующие уровни ошибок : – ошибки уровня модуля, – ошибки уровня процесса, – ошибки уровня потока управления. Ошибки при выполнении POSIX-процессов обрабатываются в соответствии со стандартом POSIX.
20 Ошибки уровня модуля и уровня процесса Реакция на ошибки уровня модуля и уровня процесса определяется интегратором при конфигурировании. Возможные виды реакции на ошибки уровня модуля: – рестарт модуля, – останов модуля, – игнорирование ошибки. Возможны виды реакции на ошибки уровня процесса: – рестарт процесса, – останов процесса, – игнорирование ошибки.
21 Обработка ошибок уровня потока Обработка ошибок уровня потока управления производится с помощью специального потока обработки ошибок (который разрабатывает прикладной программист). Этот поток запускается ОС при возникновении соответствующей ошибки и имеет наивысший приоритет. Реакция на ошибку возможна на уровне потока: - рестарт потока, - останов потока, - игнорирование ошибки, или на уровне процесса: - рестарт процесса, - останов процесса.
22 Конфигурирование Конфигурирование производится в два этапа: – конфигурирование ядра (аналогично конфигурированию ОС РВ Багет 2.0 ); – ARINC-конфигурирование (конфигурирование прикладных программ).
23 Конфигурирование ядра
24 ARINC-конфигурирование
25 Основные временные характеристики Время задержки прерывания - это время между моментом, когда был выставлен запрос на прерывание, и моментом, когда начала выполняться первая команда функции обработки прерывания. Время ответа потока управления - это время между моментом, когда был выставлен запрос на прерывание, и моментом, когда начала выполняться первая команда потока, который должен отреагировать на это прерывание. Время переключения контекста - это время, требующееся для того, чтобы один поток управления прекратил свою работу, а другой начал.
26 Планирование и временные характеристики Планирование процессов и потоков возможно как при выполнении прикладной программы, так и при выполнении функций ОС, вызванных прикладной программой. Планирование потоков и процессов производится немедленно, если оно требуется и не запрещено. Если потребность в планировании возникла, когда оно было запрещено, то планирование будет произведено, как только оно будет разрешено. Запрещение планирования в ОС производится на время установки описателя потока, а также некоторых других объектов в упорядоченную очередь. В обработчике прерываний планирование также не производится.
27 Обработка прерываний и временные характеристики Прерывания запрещаются на время установки в (изъятия из) неупорядоченную очередь, на время увеличения (уменьшения) некоторых счетчиков, на время установки или снятия некоторых флагов, а также в прологе обработчика прерываний. Если обработка прерываний требует длительного времени, то она производится в контексте потока управления. Обработчик прерываний лишь запускает соответствующий поток. Служебные потоки управления используют POSIX-интерфейс. В том числе и мьютексы, которые позволяют избежать инверсии приоритетов.
28 Результаты измерений временных характеристик (модуль БТ с частотой 400МГц) Время переключения контекста (мкс) 1.8 Время задержки прерывания (мкс) 0.8 Время реакции потока (мкс) Скорость передачи сообщений длиной 2 Кб по каналу между процессами на одном модуле (Мб/сек ) 55 Скорость передачи сообщений длиной 2 Кб по каналу между процессами на различных модулях по шине VME (Мб/сек) 12 Перезагрузка процесса (мс) 33
29 Этапы разработки ОС РВ Багет г. – начало разработки; 2002 г. – выпуск 1-го издания (версия 2.06); 2004 г. – выпуск 2-го издания (версия 2.18); 2006 г. – выпуск 3-го издания (версия ); 2007 г. – выпуск 4-го издания (версия ); 2011 г. – выпуск 5-го издания (версия ); 2014 г. – выпуск 6-го (2.6) издания (версия ). ОС РВ Багет г. – начало разработки; 2008 г. – выпуск 1-го издания (версия ); 2011 г. – выпуск 2-го издания (версия 3.2.5); 2014 г. – выпуск 3-го (3.3) издания (версия ).
30 Список литературы I 1. IEEE Standard for Information Technology - Portable Operating System Interface (POSIX) - Part 2: System Interface. - IEEE Std , vol Avionics application software standard interface, Part 1 - Required services, Aeronautical radio, Inc, March, Годунов А.Н., Операционные системы реального времени Багет 3.0. Программные продукты и системы, 2010 г., 4. С Безруков В.Л., Годунов А.Н., Назаров П.Е., Солдатов В.А., Хоменков И.И. Введение в oc2000// Вопросы кибернетики / под ред. В.Б. Бетелина. – М.: НИИСИ РАН, C Годунов А.Н., Солдатов В.А., Операционные системы семейства Багет (сходство, отличия и перспективы). Программирование, 2014 г., 5. С Герлиц Е.А., Кулямин В.В., Максимов А.В., Петренко А.К.,Хорошилов А.В., Цыварев А.В. Тестирование операционных систем//Труды Института системного программирования РАН, том 26, 2014 г. Выпуск 1. С
31 Список литературы II 7. Wind river platform for safety critical ARINC 653// ources/platform_sc_arinc653_ds.pdf ources/platform_sc_arinc653_ds.pdf 8. LynxOS // pdf 9. Safety Critical Products: INTEGRITY-178B RTOS// Tanenbaum A.S.; Herder J.N.; Bos H., Can we make operating systems reliable and secure?// Computer, Volume 39, Issue 5, May P. 44 – 51.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.