- •Что такое срв?
- •Основное свойство срв
- •Требования к срв
- •Чем срв отличается от систем, не относящихся к этому классу?
- •Что такое функциональная и информационная безопасности?
- •Что такое встроенная система?
- •Соотношения между срв и встроенными системами
- •Соотношение требований надёжности и безопасности
- •Виды временных ограничений (больше-меньше-равно) по для одной или группы задач
- •Классификация временных ограничений по степени строгости их соблюдения
- •Способы задания временных ограничений
- •Некоторые архитектуры срв
- •Что такое функция полезности?
- •Причины неприменимости Ethernet для передачи данных в срв
- •Как решается вопрос предсказуемости в Isohronous Ethernet промсети Profinet?
- •Причины непредсказуемого поведения аппаратуры
- •Что послужило стимулом для применения шины can в автомобильной промышленности?
- •Почему промышленная шина can может использоваться для передачи данных в предсказуемых по времени режимах?
- •Почему промышленные компьютеры дороже бытовых?
- •Что означает термин fieldbus?
- •Что такое Конкурентное Программирование?
- •В чём различие между истинным- и псевдопараллелизмом?
- •Что такое эффект гонок в многозадачной среде?
- •В чём причины возникновения гонок в многозадачной среде
- •Знаменитые аварии вызванные эффектом гонок
- •30.Какие временные аномалии встречаются в микропроцессорах?
- •31. Что означают термины синхронизация?
- •32. Что такое коммуникация?
- •33. Какие отрицательные явления могут возникнуть при совместной работе нескольких параллельно выполняемых задач?
- •34. Какие классические задачи конкурентного программирования вы знаете?
- •35. В чём отличия тупика от livelock?
- •36. Основные понятия циклического исполнителя (cyclic executive)?
- •37. Назовите Достоинства и недостатки способа выполнения задач в бесконечном цикле. Clock-driven scheduling
- •38. Что такое Slack Stealing?
- •39. Классификация задач по периодичности.?
- •40. Временные параметры периодических задач.
- •41. На каком американском космическом аппарате инверсия приоритета привела к многократной перезагрузке бортового компьютера?
- •42. Сколько флагов на уровне пользовательской программы требуется для организации взаимоисключающего доступа двух задач к разделяемым данным?
- •43. Какие недостатки у способа регулирования доступа к критическим данным двух задач с помощью одной переменной-флага?
- •44. Какие средства организации взаимоисключающего доступа задач к разделяемым данным можно использовать в программах?
- •45. Какие проблемы взаимоисключающего доступа задач к разделяемым данным с помощью флагов решает алгоритм Петерсона?
- •46. Какие виды семафоров вы знаете?
- •47. Какие основные подходы к управлению совместно выполняемыми задачами используются в системах реального времени (срв) для предсказуемого по времени их поведения?
- •48 Что такое mutex?
- •49. В чём отличие мутекса от семафора?
- •50. Что такое инверсия приоритета?
- •52. Что необходимо для возникновения инверсия приоритета?
- •53. Можно ли полностью избавиться от инверсии приоритета
- •54. Суть схемы наследования приоритета
- •55. Суть схемы Immediate priority ceiling protocol (ipcp).
- •56. Сформулируйте закон Мэрфи.
- •57. Какие проявления закона Мэрфи в системах реального времени вы знаете?
- •58. Когда вытесняющий на основе приоритетов планировщик принимает решения?
- •59. Какие алгоритмы диспетчеризации/планирования потоков доступны в ос Neutrino?
- •60. В чём разница между дисциплинами планирования rr и fifo?
- •61. Классификация алгоритмов планирования задач в срв
- •62. Какие алгоритмы планирования со статическими (фиксированными) приоритетами вы знаете?
- •63. Каким условиям должна удовлетворять система задач, чтобы к ней можно было применить rms?
- •64. В чём суть rms?
- •65. Фамилии авторов rma?
- •66. Назовите фамилии некоторых учёных, внесших значительный вклад в конкурентное программирование
- •67. Что такое утилизация задачи, системы задач?
- •68. Каких учёных, основоположников конкурентного программирования, вы знаете?
- •69. Кто является автором примитива синхронизации Семафор?
- •70. Какая книга Хоара издана на русском языке?
- •71. Достаточное условие планируемости по rms. Что оно означает?
- •80. В чём отличие приоритета задачи от критичности задачи с точки зрения планировщика?
- •81. Какой дедлайн – абсолютный или относительный – использует edf-алгоритм планирования? (не уверен)
- •82. В каких случаях edf-алгоритм планирования оптимален?
- •83. Как влияет многороцессность на оптимальность edf-планирования?
- •84. Каким качеством характеризуются алгоритмы планирования на основе приоритетов с вытеснением с точки зрения оптимальности принимаемых решений в каждой точке планирования?
- •86. Что такое Laxity (Slack Time) работы? Как меняется Laxity в процессе выполнения работы и в процессе простоя?
- •87. Какой из двух вариантов алгоритма планирования lst оптимален в однопроцессорном варианте?
- •88. Чем алгоритм lst хуже edf с точки зрения накладных расходов на планирование?
- •89. От какого параметра набора задач зависит достаточное условие планирования этих задач по rm алгоритму?
- •90. Как называется процедура проверки планируемости задач с использованием графика ступенчатой функции?
- •91. Какие недостатки по рв привели к северо-американскому blackout’у в 2003 г.?
- •92. Какое отрицательное явление в многозадачной среде привело к трагическим исходам во время лечении медицинским ускорителем Therac-25?
- •93. Какие причины привели к многократной перезагрузке бортового компьютера космического аппарата Mars Pathfinder?
- •94. Какой из алгоритмов планирования на основе динамических приоритетов применяется на практике?
- •95. Какую максимальную загрузку процессора может использовать система независимых периодических задач, спланированных на основе динамических приоритетов?
- •96. В чём разница и что общего между спорадическими и апериодическими задачами?
- •97. Что такое Аномалия планирования?
- •98. Что такое джиттер времени выполнения работы?
- •99. В каких классах алгоритмов планирования могут возникать аномалии?
- •100. Какой подход используется для планирования спорадических задач совместно с системой независимых периодических? в чём его отличие от планирования апериодических задач?
- •101. В чём недостатки планирования апериодических задач в фоновом режиме и в режиме прерываний?
- •102. Что такое сервер апериодических задач?
- •103. Что такое периодический сервер?
- •104. Что такое Slack Stealing при планировании апериодических задач? в ос рв какой фирмы это применяется?
- •105. Какими характеристиками один вид периодического сервера отличается от другого?
- •106. Как работает Polling Server.
- •107. Суть использования и пополнения бюджета деферабельным сервером.
- •112. Как влияет спорадический сервер на планируемость системы периодических задач?
- •113. Теоремы относительно возможности минимизации временны ́ х параметров апериодических задач в системе спланированных на основе статических приоритетов периодических задач.
- •114. То же самое для системы задач, спланированных на основе динамических приоритетов.
- •115. Какие существуют варианты размещения процессов в памяти в системах реального времени?
- •116. Что такое mmu?
- •117. Что такое виртуальная память?
- •118. Какую модель памяти использует cyclic executive
- •119. В чём преимущества и недостатки плоской (flat) модели памяти?
- •120. Какую модель памяти использует qnx Neutrino, в чём её достоинства и недостатки?
- •121. Какие структуры данных используются в операционных системах рв для хранения информации о свободных блоках в куче?
- •122. Какая стратегия выбора свободного блока памяти в куче используется в ос qnx Neutrino?
- •123. Виды архитектур ос рв.
- •124. Какая стратегия выбора свободного блока памяти в куче используется в ос VxWorks 6.?
- •125. Достоинства и недостатки архитектуры ос с монолитным ядром.
- •126. Достоинства и недостатки архитектуры ос с микроядром.
- •127. В чём суть архитектуры ос рв с разделяемым ядром?
- •128. Где преимущественно применяются ос рв с разделяемым ядром?
- •129. Главные принципы архитектуры ос рв qnx Neutrino.
- •130. По каким временны ́ м параметрам сравниваются между собой различные ос рв?
- •131. Назовите те ос рв, о которых вы слышали.
- •132. О каких клонах ос Linux с возможностями реального времени вы знаете?
- •133. Что такое операционная система реального времени?
- •134. Общие требования к языкам программирования реального времени.
- •135. Каким инструментарием должны обладать яп рв.
- •136. Последний стандарт яп Ада датирован каким годом?
- •137. Что такое Ravenscar Profile?
- •138. Какие средства для программирования приложений рв содердит яп Ада?
- •139. Почему self-hosted версия qnx Neutrino 6.5 не содержит ide Momentics?
- •140. Какие недостатки стандартного яп Java модифицированы Real-Time Java Specification(rtjs)?
- •141. Назовите оо яп рв.
- •142. Сколько приблизительно существует ос рв?
- •143. Можно ли отнести ос Android к классу ос рв?
- •144. Что такое формальные методы?
- •145. Назовите известные вам программные инструменты формальной верификации по.
- •153. Назовите известные вам ос рв, совместимые со стандартом posix.
- •154. Что определяют профили стандартов posix? Какие профили существуют и чем они отличаются?
- •159. Что такое mils-архитектура по рв?
- •160. К какому классу относится архитектура ос рв, поддерживающая множественные изолированные разделы?
- •161. Что такое гипервизор?
- •162. Что такое firm срв?
- •163. Что определяет стандарт arinc 653?
- •164. Сколько категорий отказов по рв предусматривает стандарт do-178? в чём различие по разных категорий с точки зрения разработчика по?
- •165. Для какой сферы применения разрабатывались стандарты do-178 и arinc 653?
- •166. Что означает акроним eal в стандарте “Common Criteria”?
- •167. Что определяет стандарт гост р 51904?
- •168. Что такое Time Demand Analysis?
- •169. Что такое фаза задачи?
- •170. Что такое критический момент времени (critical instant) в контексте анализа
- •171. Как называется международный стандарт, которому соответствует гост р 15408?
- •172. Какой семитомный стандарт определяет комплекс требований к разработке по программно-аппаратных систем, связанных с безопасностью?
- •173. Какие функции выполняет микроядро осрв qnx Neutrino?
- •174. В чём различие между процессом и потоком в осрв qnx Neutrino?
- •175. Кто такой с. Зыль?
- •176. Кто является автором переводной книги по программированию систем реального времени в среде qnx Neutrino?
- •177. Назовите известные вам функции для запуска дочерних процессов в qnx Neutrino.
- •178. Какие характеристики дочерних потоков можно задавать при их создании с помощьюатрибутов?
- •179. Что вы можете рассказать про использование сигналов?
- •180. Для чего служат примитив синхронизации Барьер?
- •181. Какие средства синхронизации, предоставляемые qnx Neutrino,вам известны?
- •182. Какие средства обмена данными между потоками в пределах одного процесса и разных процессов вам известны?
- •183. С помощью каких событий периодический posix-таймер может уведомлять заинтересованный поток о срабатывании?
- •184. Какие требования накладывает стандарт posix на интервал срабатывания однократного таймера?
- •185. В чём причина неправильности использования одноразового таймера в цикле для реализации заданного интервала времени в программе?
- •186. Какие аппаратные источники временных интервалов можно использовать для замера времени в программах qnx Neutrino?
- •187. Что такое таймаут?
- •188. Для чего предназначен примитив синхронизации условная переменная?
- •189. Нарисуйте график загрузки процессора системой периодических задач с заданными параметрами при планировании их по rm-алгоритму.
- •190. Нарисуйте график загрузки процессора системой периодических задач с заданными параметрами при планировании их по edf-алгоритму.
Классификация временных ограничений по степени строгости их соблюдения
При разработке алгоритмов планирования для систем реального времени необходимо учитывать, какие последствия в этих системах возникают при несоблюдении временных ограничений. Если эти последствия катастрофичны, как, например, для системы управления полетами или атомной электростанцией, то операционная система реального времени, на основе которой строится управление объектом, называется жесткой (hard). Если же последствия нарушения временных ограничений не столь серьезны, то есть сравнимы с той пользой, которую приносит система управления объектом, то система является мягкой (soft) системой реального времени. Примером мягкой системы реального времени является система резервирования билетов. Если из-за временных нарушений оператору не удается зарезервировать билет, это не очень страшно — можно просто послать запрос на резервирование заново.
Способы задания временных ограничений
В жестких системах реального времени время завершения выполнения каждой из критических задач должно быть гарантировано для всех возможных сценариев работы системы. Такие гарантии могут быть даны либо в результате исчерпывающего тестирования всех возможных сценариев поведения управляемого объекта и управляющих программ, либо в результате построения статического расписания, либо в результате выбора математически обоснованного динамического алгоритма планирования. При построении расписания надо иметь в виду, что для некоторых наборов задач в принципе невозможно найти расписания, при котором бы удовлетворялись заданные временные характеристики. С целью определения возможности существования расписания могут быть использованы различные критерии. Например, в качестве простейшего критерия может служить условие, что разность между предельным сроком выполнения задачи (после появления запроса на ее выполнение) и временем ее вычисления (при условии непрерывного выполнения) всегда должна быть положительной. Очевидно, что такой критерий является необходимым, но недостаточным. Точные критерии, гарантирующие наличие расписания, являются очень сложными в вычислительном отношении.
В мягких системах реального времени предполагается, что заданные временные ограничения могут иногда нарушаться, поэтому здесь обычно применяются менее затратные способы планирования.
Некоторые архитектуры срв
ОСРВ с монолитной архитектурой можно представить в виде
Прикладного уровня: состоит из работающих прикладных процессов;
Системного уровня: состоит из монолитного ядра операционной системы, в котором
можно выделить следующие части:
o интерфейс между приложениями и ядром (API)
o собственно ядро системы
o интерфейс между ядром и оборудованием (драйверы устройств).
API в таких системах играет двойную роль:
1. управление взаимодействием прикладных процессов и системы;
2. обеспечение непрерывности выполнения кода системы (т.е. отсутствие переключения
задач во время исполнения кода системы).
Основным преимуществом монолитной архитектуры является относительная быстрота
работы по сравнению с другими архитектурами.
Недостатки монолитной архитектуры:
1. Системные вызовы, требующие переключения уровней привилегий должны
реализовывать API как прерывания или ловушки .Это сильно увеличивает время их работы.
2. Ядро не может быть прервано пользовательской задачей. Это может привести к тому,
что высокоприоритетная задача может не получить управление из-за работы низко-
приоритетной.
3. Сложность переноса на новый архитектуры процессора из-за значительных
ассемблерных вставок.
4. Негибкость и сложность развития: изменение части ядра системы требует его полной
перекомпиляции.
Модульная архитектура (на основе микроядра) появилась как попытка убрать узкое
место – API и облегчить модернизацию системы и перенос ее на новые процессоры.
API обеспечивает связь прикладных процессов и специального модуля – менеджера
процессов. Однако, теперь микроядро играет двойную роль:
1. управление взаимодействием частей системы (например, менеджеров процессов и
файлов)
2. обеспечение непрерывности выполнения кода системы (т.е. отсутствие переключения
задач во время исполнения микроядра).
Недостатки у модульной архитектуры фактически те же, что и у монолитной. Проблемы
перешли с уровня API на уровень микроядра. Системный интерфейс по-прежнему не допускает
переключения задач во время работы микроядра, только сократилось время пребывания в этом
состоянии. API по-прежнему может быть реализован только на ассемблере, проблемы с
переносимостью микроядра уменьшились (в связи с сокращением его размера), но остались.
Объектная архитектура на основе объектов-микроядер. В этой архитектуре API
отсутствует вообще. Взаимодействие между компонентами системы (микроядрами) и
пользовательскими процессами осуществляется посредством обычного вызова функций,
поскольку и система, и приложения написаны на одном языке (Для ОСРВ SoftKernel это
C++).Это обеспечивает максимальную скорость системных вызовов.
Фактическое равноправие всех компонент системы обеспечивает возможность
переключения задач в любое время, т.е. система полностью preemptible.
Объектно-ориентированный подход обеспечивает модульность, безопасность, легкость
модернизации и повторного использования кода.
Роль API играет компилятор и динамический редактор объектных связей (linker). При
старте приложения динамический linker загружает нужные ему микроядра (т.е., в отличие от
предыдущих систем, не все компоненты самой операционной системы должны быть загружены
в оперативную память). Если микроядро уже загружено для другого приложения, оно повторно
не загружается, а использует код и данные уже имеющегося ядра. Это позволяет уменьшить
объем требуемой памяти.