№ | Слайд | Текст |
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. Честная 1 2 3 14 15 |
20 |
 |
Прерывание высокого уровняРабота clock до 400 микросекунд. Решение Разбить на 2 части. Первая часть обрабатывается на том процессоре на который она придет. Вторая часть: Как отдельный thread с системным приоритетом. Как прерывание низкого уровня, на отдельно выделенном для этого процессоре, не обрабатывающем другие прерывания. Длительная работа прерывания clock |
21 |
 |
Доработка драйверовОптимизация работы драйверов. Доработка драйверов с учетом новых возможностей ядра. |
22 |
 |
Работа с памятьювыравнивать адреса по началу страницы памяти. регулировать размер структур таким образом, чтобы размер структуры был кратен длине страницы (4096 Байт). |
23 |
 |
Экспериментальные результатыНовое ядро Старое ядро 25 47 27 95 28 367 Время переключения процессов Время переключения процессов Время переключения процессов Минимум В среднем Максимум |
24 |
 |
Новое ядроСтарое ядро Время входа в процедуру прерывания Время входа в процедуру прерывания Время входа в процедуру прерывания В среднем 11 23 Максимум 17 245 Время в прерывании Время в прерывании Время в прерывании В среднем 18 38 Максимум 32 345 Время от прерывания до poll Время от прерывания до poll Время от прерывания до poll В среднем 37 66 Максимум 57 3721 Время от poll до пользователя Время от poll до пользователя Время от poll до пользователя В среднем 10 30 Максимум 12 45 |
25 |
 |
Новое ядроСтарое ядро Итоговое время время переключения процесса из процедуры прерывания на другой процесс Итоговое время время переключения процесса из процедуры прерывания на другой процесс Итоговое время время переключения процесса из процедуры прерывания на другой процесс 48 95 62 3756 В среднем Максимум |
26 |
 |
РезультатыРеализовано и внедрено в программное обеспечение ВК «Эльбрус-90микро» новое ядро удовлетворяющее требованиям поставленной задачи и обеспечивающее эффективное время переключения процессов и обработки прерываний. |
27 |
 |
Q&A |
«Разработка операционной системы жесткого режима реального масштаба времени на базе ОС Solaris (E90) для ВК Эльбрус-90микро» |
http://900igr.net/prezentacija/informatika/razrabotka-operatsionnoj-sistemy-zhestkogo-rezhima-realnogo-masshtaba-vremeni-na-baze-os-solaris-e90-dlja-vk-elbrus-90mikro-90768.html