- •Вопрос 1. Типы задач. Виды програмирования: последовательное, параллельное, для систем рв.
- •Вопрос 2. Виды ресурсов: аппаратные, программные, активные, пассивные, локальные, разделяемые, постоянные, временные, не критичные, критичные.
- •Вопрос 3. Типы архитектур осрв. Объектная архитектура на основе объектов-микроядер. Сравнение микроядер и модулей, драйверов, dll.
- •Вопрос 4. Типы архитектур осрв. Модульная архитектура (на основе микроядер).
- •Вопрос 5. Поддержка многозадачности и многопроцессорности специальными инструкциями.
- •Вопрос 6. Основные области применения осрв. Тенденции использования и перспективы развития осрв.
- •Вопрос 7. Приоритеты. Схемы назначения приоритетов. Инверсия приоритетов и методы борьбы с ней.
- •Вопрос 8. Алгоритмы замены данных в кэш памяти. Специальные кэШи.
- •Вопрос 9.Cisc и risc процессоры.
- •Вопрос 10. Процессоры arm. Общий обзор.
- •Вопрос 11. Повышение производительности процессоров за счет конвейеризации. Условия оптимального функционирования конвейера.
- •Вопрос 12. Особенности оборудования, на котором работают осрв. “Обычные” и промышленные компьютеры, встраиваемые системы.
- •Вопрос 13. Многопроцессорные архитектуры.
- •Вопрос 14. Повышение производительности процессов за счет введения кэш памяти. Кэши: единый, Гарвардский, с прямой записью, с обратной.
- •Вопрос 15.
- •Вопрос 16. Определения основных объектов ос. Механизмы взаимодействия процессов. Разделяемая память, семафоры, сигналы, почтовые ящики, события.
- •Вопрос 17. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса ComponentIntegrator.
- •Вопрос 19. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса WillowsRt.
- •Вопрос 20. “Классические” осрв. Обзор chorus.
- •Вопрос 21. Процессоры PowerPc. Общий обзор.
- •Вопрос 22. Процессоры Intel80x86. Общий обзор.
- •Вопрос 23. Суперконвейерные и суперскалярные процессоры. Выделение независимо работающих устройств: iu. Fpu. Mmu. Bu.
- •Вопрос 24. Определения основных объектов ос. Связывание. Статическое и динамическое связывание.
- •Вопрос 25. Определения основных объектов ос. Стек, виртуальная память, механизмы трансляции адреса.
- •Вопрос 26. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса RealTimeEtsKernel.
- •Вопрос 27. Аргументы “за” и ”против” использования WindowsNt в качестве осрв.
- •Вопрос 28. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса lprt-Technology.
- •Вопрос 29. Архитектура системной шины. Роль шины для осрв. Архитектура шины vme.
- •Вопрос 30. Адаптация Windows nt к требованиям “реального времени”. Обзор программного комплекса Hyperkernel.
- •Вопрос 31. Определения основных объектов ос. Задачи. Сравнение с процессами.
- •Вопрос 32. “Классические” осрв. Обзор qnx.
- •Вопрос 33. Стандарты на осрв. Стандарт posix 1003.1b. Стандартизация основных api, утилит, расширений “реального времени”. Стандартизация задач.
- •Вопрос 34. Классические и ооп к построению осрв.
- •Вопрос 35. Процессоры Motorola 68xxx. Общий обзор.
- •Вопрос 36. Общее строение рв. Роли отдельных компонент. Критерий выбора осрв.
- •Вопрос 37. “Классические” осрв. Обзор осрв LynxOs.
- •Вопрос 39. Состояния процесса и механизмы перехода из одного состояния в другое.
- •Вопрос 40. Типы взаимодействия процессов: сотрудничающие и конкурирующие процессы. Критические секции, взаимное исключение процессов.
- •Вопрос 41. Объектно-ориентированные осрв. Обзор осрв SoftKernel.
- •Вопрос 42. Стандарты на осрв. Их роль в развитии осрв. Нормы esse консорциума vita.
- •Вопрос 43. Типы архитектур осрв. Объектная архитектура на основе объектов-микроядер. Основные принципы построения.
- •Вопрос 44. Процессоры sparc. Общий обзор.
- •Вопрос 45. Определения основных объектов ос. Ресурсы, приоритеты. Параллельные процессы. Многозадачные ос.
- •Вопрос 47. Согласование кэШей в мультипроцессорных системах.
- •Вопрос 48. Влияние требований рв на выбор архитектуры процессора.
- •Вопрос 50. Типичные времена реакции на внешние события в управляемых осрв прцессах. Их влияние на программное и аппаратное устройство вычислительной системы.
- •Вопрос 51. Среды разработки для осрв, основные требования к ним.
- •Вопрос 52. Типы архитектур осрв. Монолитная архитектура.
- •Вопрос 54. Проблемы, возникающие при синхронизации задач и идеи их разрешения.
- •Вопрос 55. Основные черты risc архитектуры.
- •Вопрос 56. Определения основных объектов ос. Программа, процессор, процесс. Основные составляющие процесса, состояния процесса.
- •Вопрос 57. Системы на основе Linux. Направления адаптации Linux к требованиям “реального времени”. Обзор осрв rt-Linux.
- •Вопрос 58. Синхронизация и взаимодействие процессов. События. Примитивные операции.
- •Вопрос 59. Процессоры Intel 80960x. Общий обзор.
Вопрос 24. Определения основных объектов ос. Связывание. Статическое и динамическое связывание.
Связывание (линковка, linkage) - это процесс превращения скомпилированного кода (объектных модулей) в загрузочный модуль (т.е. то, что может исполняться процессором при поддержке операционной системы). Различают:
• статическое связывание, когда код необходимых для работы программы библиотечных функций физически добавляется к коду объектных модулей для получения загрузочного модуля;
• динамическое связывание, когда в результирующем загрузочном модуле проставляются лишь ссылки на код необходимых библиотечных функций; сам код будет реально добавлен к загрузочному модулю только при его исполнении.
При статическом связывании загрузочные модули получаются очень большого размера. Поэтому подавляющее большинство современных операционных систем использует динамическое связывание, несмотря на то, что при этом начальная загрузка процесса на исполнение медленнее, чем при статическом связывании из-за необходимости поиска и загрузки кода нужных библиотечных функций (часто только тех из них, которые не были загружены для других процессов).
Вопрос 25. Определения основных объектов ос. Стек, виртуальная память, механизмы трансляции адреса.
Стек (stack) - это область памяти, в которой размещаются локальные переменные, аргументы и возвращаемые значения функций. Вместе с областью статических данных полностью задает текущее состояние процесса.
Виртуальная память - это "память", в адресном пространстве которой работает процесс.
Виртуальная память:
1. позволяет увеличить объем памяти, доступной процессам за счет дисковой памяти;
2. обеспечивает выделение каждому из процессов виртуально непрерывного блока памяти, начинающегося (виртуально) с одного и того же адреса;
3. обеспечивает изоляцию одного процесса от другого.
Трансляцией виртуального адреса в физический занимается операционная система. Для ускорения этого процесса многие компьютерные системы имеют поддержку со стороны аппаратуры, которая может быть либо прямо в процессоре, либо в специальном устройстве управления памятью. Среди механизмов трансляции виртуального адреса преобладает страничный, при котором виртуальная и физическая память разбиваются на куски равного размера, называемые страницами (типичный размер - 4Kb), между страницами виртуальной и физической памяти устанавливается взаимно-однозначное (для каждого процесса) отображение. Отметим, что ОСРВ стремятся получить максимальную производительность на имеющемся оборудовании, поэтому некоторые ОСРВ не используют механизм виртуальной памяти из-за задержек, вносимых при трансляции адреса.
Вопрос 26. Адаптация WindowsNt к требованиям “реального времени”. Обзор программного комплекса RealTimeEtsKernel.
Система RealtimeETSKernel выпускается фирмой PharLapSoftWare в двух вариантах.
1. TNTEmbeddedToolSuite, RealtimeEdition, включающий: RealtimeETSKernel, ETSTCP/IP, отладчик CodeView с поддержкой BorlandTurboDebugger ассемблер 386ASM, linker, поддержку компиляторов VisualC/C++, BorlandC/C++, WatcomC/C++ и APIWin32.
2. RealtimeETSKernel - полная замена WindowsNT, включает: компактное ядро (28Kb), поддерживающее Win32 API и использующее стандартные библиотеки ком пиляторов; ядро имеет 32 уровня приоритетов и может быть записано в ПЗУ.