- •Вопрос 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. Общий обзор.
Вопрос 58. Синхронизация и взаимодействие процессов. События. Примитивные операции.
Доступ процессов(задач) к разл-ым ресурсам(особенно разделяемым) в многозадачных с-мах требует синхронизации действий этих процессов(задач). Способы осуществления взаимод-я подразделяют на:
• безопасное взаимодействие, когда обмен данными осуществляется посредством "объектов" взаимодействия, предоставляемых системой; при этом целостность информации и неделимость операций с нею (т.е. отсутствие нежелательного переключения задач) неявно обеспечиваются системой; примерами таких "объектов" взаимодействия являются семафоры, сигналы и почтовые ящики;
• небезопасное взаимодействие, когда обмен данными осуществляется посредством разделяемых ресурсов (например, общих переменных), не зависимых от системных объектов взаимодействия; при этом целостность информации и неделимость явно обеспечивается самим приложением (в подавляющем большинстве случаев - посредством того или иного системного объекта синхронизации и взаимодействия).
Поскольку для любого типа взаимодействия требуются системные объекты синхронизации, то все имеющиеся ОСРВ предоставляют приложениям некоторый набор таких объектов. Ниже мы рассмотрим самые распространенные из них.
Событие - это логический сигнал (оповещение), приходящий асинхронно по отношению к течению процесса. С каждым событием связаны булевская переменная Е, принимающая два значения 0 - событие не пришло, и 1 - событие пришло, и очередь ожидания (процессов, задач, ожидающих прихода события). Над событиями определены следующие элементарные операции:
• Send(E) - послать событие, т.е. установить переменную Е в 1 (по традиции UNIX систем эту функцию обычно называют Кill, поскольку среди событий определено та кое, единственной реакцией на которое является немедленное аварийное завершение получившей его задачи), при этом все задачи из очереди ожидания активизируются;
• Wait(E) - ожидать события, (если события нет, т.е. переменная Е равна 0, то эта операция переводит задачу в состояние ожидания прихода события, и добавляет ее в конец очереди ожидания этого события, как только событие придет, задача будет активизирована);
• Reset(E) - очистить (удалить поступившее событие), т.е. установить переменную Е в 0;
• Test(E) - проверить (поступление) - получить значение переменной Е.
Вопрос 59. Процессоры Intel 80960x. Общий обзор.
Процессоры Intel 80960x занимают значительное место на рынке встраиваемых компьютеров.
Процессоры Intel 80960x были специально разработаны для встраиваемых систем. Являются 32-битными RISC процессорами; имеют:
• значительное число регистров (32)
• фиксированный формат инструкций (все инструкции, кроме load/store, имеют размер 4 байта)
Есть некоторые черты CISC процессоров:
• значительное число режимов адресации памяти (11)
Для систем реального времени имеют:
• встроенный программируемый контроллер прерываний, подключенный к 8-ми внешним линиям прерывания
• встроенные подпрограммы (микрокод) для автоматического переключения контекста при прерывании
• встроенное ОЗУ (обычно 1Кб) для хранения таблицы прерываний
• встроенный кэш регистров, ускоряющий переключение контекста
• встроенные программируемые таймеры (ряд моделей)
Процессоры Intel 80960x особенно эффективны в приложениях, требующих обслуживания большого количества прерываний и пересылки больших объемов данных.
Основные члены семейства:
180960Кх (1988, 20 MHz, 7.5 MIPS):
• 32-бит архитектура с 4Gb адресным пространством
• 512 байт кэш инструкций, загружаемый блочными пересылками (burstaccess)
• 16 глобальных и 16 локальных регистров, кэш на 4 набора локальных регистров
i80960Sx (1988, 16 MIPS):
• 16-бит внешняя шина данных
• Гарвардская архитектура: 512-байт кэш инструкций + 256-байт кэш данных
• встроенное FPU производительностью 0.5 MFlops (у 180960SB)
i80960Сх (600000 транзисторов, 33 MHz, 66 MIPS):
• 128 битные внутренние шины данных
• 2 инструкции за цикл
• 1Кб кэш инструкций
• устройство предсказания переходов
i80960Jx (1994, 50 MHz, 45 MIPS):
• встроенный контроллер прерываний, возможность управлять кэшированием для размещения таблицы прерываний, обработчиков прерываний и их стеков в кэшируемой области
• 4Кб кэш инструкций + 2Кб кэш данных (у 180960JF)
• 2 встроенных таймера
i80960Нх (1995, 75 MHz, 150 MIPS):
• 16Кб кэш инструкций + 8Кб кэш данных
• встроенное 2Кб ОЗУ
• встроенные 32-бит таймеры
i80960RP (1996, 33 MHz):
• поддержка интерфейсов с двумя шинами PCI
• поддержкаинтерфейсашины 12 С
