1 / 27

Денис Федотов , 2 1 8 группа

Московский Физико-Технический Институт ( государственный университет ). Разработка операционной системы жесткого режима реального масштаба времени на базе ОС Solaris ( E90 ) для ВК Эльбрус-90микро. Денис Федотов , 2 1 8 группа. Научный руководитель: Тухватуллин Гумер Мингатович.

mali
Download Presentation

Денис Федотов , 2 1 8 группа

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Московский Физико-Технический Институт (государственный университет) Разработка операционной системы жесткогорежима реального масштаба времени на базе ОС Solaris (E90) для ВК Эльбрус-90микро Денис Федотов, 218группа Научный руководитель: Тухватуллин Гумер Мингатович Москва 2008

  2. Требования к режиму реального времени • Время входа в процедуру прерывания не более 20 микросекунд. • Время переключения процесса из процедуры прерывания на другой процесс не должна превышать 100 микросекунд. • Время передачи управления не должна превышать 300 микросекунд. • Вся деятельность системы должна быть основана на приоритетном планировании всех процессов, обработчиков внешних прерываний и семафорной синхронизации с возможностью управления приоритетами из ФПО. • Должна быть предоставлена возможность резидентации ресурсов ВК: • резидентация оперативной памяти. • назначение одного или нескольких процессоров для исполнения конкретного процесса.

  3. Выбор направления для создания ОС РВ • МСВС – нет поддержки режима РМВ. • Solaris 2.5.1 – поддержка МРРМВ. • VxWorks – не поддерживает многопроцессорные симметричные системы, вся работа в контексте ядра. • Linux – плохая система синхронизации и обработки прерываний. Система МРРВ. • LynxOS – дорого стоит. Необходимость портировать на новую архитектуру.

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

  5. Методы и средства анализа временных характеристик • Специализированная ячейка mtst. • Набор тестовых программ. • Трассировка ОС. • Процессорный JTAG. • Логический анализатор.

  6. Ячейка MTST • Генератор SBus прерываний. • Счетчик времени с точностью до 40 наносекунд. • Позволяет полностью замерить все временные характеристики от момента генерации прерывания до момента выхода на пользователя.

  7. Измерение времени реакции на прерывание

  8. Измерение времени переключения задач

  9. Анализ существующих реализаций ОС E90 в качестве систем реального времени • Время входа в процедуру прерывания: 245 микросекунд. • Время переключения процесса из процедуры прерывания на другой процесс: 3721 микросекунд. • Время передачи управления: 3756 микросекунд. • Время переключения процессов: 367микросекунд.

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

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

  12. Отключения процессоров от обработки прерываний • Строго необходимо. Так как это позволяет гарантировать время переключения, и непрерывность работы задачи ФПО. • Все прерывания обрабатывает 1 или 2 процессора.

  13. миграция процессов • Миграция процессов может внести дополнительную задержку. • Процессы ФПО должны быть привязаны к процессорам. Idle User FP

  14. Отключение на процессоре выполнение задач к нему не привязанных • Необходимо если существует поток или набор потоков задачи ФПО, для которых времена отклика наиболее критично. • Позволяет ограничить круг задач исполняемых на данном процессоре.

  15. Обслуживание двух уровневого прерывания в «Эльбрус – 90 микро» • В операционную систему приходит заявка на обработку прерывания высокого уровня. • Это прерывание обрабатывается на любом процессоре, на котором разрешена обработка прерываний. • Обработчик прерывания высокого уровня генерирует софтверное прерывание низкого уровня (1 или 4 уровня по MBus). • Обработчик нижнего уровня запускается на любом процессоре, на котором разрешена обработка прерываний. И если он запустился не на том процессоре, на котором ожидает ФПО, а так и будет в силу того, что на нем отключена обработка внешних прерываний, то он посылает внутреннее прерывание 14 уровня чтобы запустить планировщик. • Планировщик запускает на исполнение задачу ФПО, если нет ничего более приоритетного.

  16. Реализована другая схема • В операционную систему приходит заявка на обработку прерывания высокого уровня. • Это прерывание обрабатывается на любом процессоре, на котором разрешена обработка прерываний. • Обработчик прерывания высокого уровня генерирует софтверное прерывание низкого уровня (1,4,6,7,8 или 9 уровень по MBus). • Обработчик нижнего уровня запускается на процессоре, на котором ФПО ждет приход этого прерывания. • Запускается планировщик, который ставит задачу ФПО на исполнение.

  17. Классические этапы обработки прерывания • Т1 – время прихода прерывания в процессор. • Т2 – время входа в ОС. • Т3 – время входа в системный обработчик прерывания (процедура драйвера) для исполнения TopHalf . • Т4 – окончание TopHalf. • T5 – Начало BottomHalf. • Т6 – окончание BottomHalf и активизация процесса ФПО (постановка процесса в очередь готовых к исполнению процессов). • Т7 – начало работы планировщика для переключения процессора на процесс ФПО. • Т8 – начало работы ФПО процесса для реакции на прерывание.

  18. Причины возможных задержек при входе в прерывание • Т1-Т2 – задержка входа в ОС. • Т2-Т3 – Это время работы ядра ОС. • Т3-Т4 – время исполнения TopHalf. • T4 – Т5 – задержка начала исполнения BottomHalf. • T5-Т6 – время работы BottomHalf. • Т6-Т7 – время задержки до начала работы планировщика. • Т7-Т8. Время работы планировщика процессов.

  19. Выбор режима обработки прерываний Уровни Обработчики 1 2 3 14 15 1. Последовательная 2. Оптимальная 3. Честная

  20. Длительная работа прерывания clock • Прерывание высокого уровня. • Работа clock до 400 микросекунд. Решение • Разбить на 2 части. • Первая часть обрабатывается на том процессоре на который она придет. • Вторая часть: • Как отдельный thread с системным приоритетом. • Как прерывание низкого уровня, на отдельно выделенном для этого процессоре, не обрабатывающем другие прерывания.

  21. Доработка драйверов • Оптимизация работы драйверов. • Доработка драйверов с учетом новых возможностей ядра.

  22. Работа с памятью • выравнивать адреса по началу страницы памяти. • регулировать размер структур таким образом, чтобы размер структуры был кратен длине страницы (4096 Байт).

  23. Экспериментальные результаты

  24. Результаты • Реализовано и внедрено в программное обеспечение ВК «Эльбрус-90микро» новое ядро удовлетворяющее требованиям поставленной задачи и обеспечивающее эффективное время переключения процессов и обработки прерываний.

  25. Q&A

More Related