- •Вопрос 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. Общий обзор.
Вопрос 34. Классические и ооп к построению осрв.
В силу преимуществ объектно-ориентированного подхода приложения создаются на его основе, используя тот или иной язык программирования, наилучшим образом поддерживающий этот подход. Архитектуры же классических операционных систем реального времени основаны на архитектурах UNIX систем и используют традиционный процедурный подход к программированию. Сочетание объектно-ориентированных приложений и процедурных операционных систем имеет ряд недостатков.
1. Происходит разрыв парадигмы программирования: в едином работающем комплексе (приложение + ОСРВ) разные компоненты используют разные подходы к разработке программного обеспечения.
2. Не используются все возможности объектно-ориентированного подхода.
3. Возн-ют некот-е потери производительности из-за разного типа интерфейсов в ОСРВ и приложении.
Естественно возникает идея строить саму ОСРВ, используя объектно-ориентированный подход. При этом
• как приложение, так и операционная система полностью объектно-ориентированы и используют все преимущества этого подхода;
• приложение и ОСРВ могут быть полностью интегрированы, поскольку используют один объектно-ориентированный язык программирования;
• обеспечивается согласование интерфейсов ОСРВ и приложения;
• приложение может "моделировать" ОСРВ для своих потребностей, заказывая нужные ему объекты;
• единый комплекс приложение + ОСРВ является модульным и легко модернизируемым. Идеяреализована в ОСРВ SoftKernel, целикомнаписаннойна C++.
Вопрос 35. Процессоры Motorola 68xxx. Общий обзор.
Семейство процессоров Motorola 68xxx (сокращенно M68k) характеризуется простотой реализации как аппаратных, так и программных решений на его базе. Первым процессором семейства являлся хорошо известный М68000. Хотя он появился в 1979 году, он является процессором с полной 32-битной внутренней архитектурой. Следующие поколения процессоров M68k, включая М68060, с программной точки зрения вносили только новые режимы адресации памяти и некоторые дополнительные инструкции, и поэтому программируются так же легко, как М68000. Основываясь на архитектуре M68kMotorola разработала семейство контроллеров МС683хх.
Основные члены семейства:
М68000 (1979, 68000 транзисторов, макс, частота: 16.67MHz, IMIPS):
• асинхронные передачи данных (кроме области интерфейса 6800)
• 16-битная шина данных, отсутствует динамическое изменение ширины шины
• 24-битная шина адреса
• 14 режимов адресации памяти (включая косвенные регистровые)
• 16 32-битных регистров общего назначения
• два уровня привилегий: пользовательский и супервизорский
• два указателя стека для разделения пользовательского и супервизорского стеков
• фиксированная в памяти таблица прерываний (начиная с адреса 0)
• одна неделимая инструкция TAS (TestAndSet) для установки семафоров
М68010 (1983, 68000 транзисторов, макс, частота: 16.67MHz, IMIPS):
• перемещаемая таблица прерываний
• поддержка механизма виртуальной памяти
М68020 (1984, 195000 транзисторов, макс, частота: 25MHz, 5 MIPS):
• асинхронные передачи данных
• 32-битная шина данных, динамическое изменение ширины шины (адаптируется к 8-ми, 16-ти и 32-х битным обменам с внешними устройствами)
• 32-битная шина адреса
• 18 режимов адресации памяти (включая косвенные через память)
• 256-байт кэш инструкций
• 3-х стадийный конвейер, что позволяет одновременно обрабатывать до трех слов одной операции или три последовательные инструкции
• интерфейс сопроцессора, что позволяет подключить внешнее FPU (MC68881 или МС68882) и MMU (MC68851)
• дополнительный указатель стека для разделения аппаратных и программных прерываний
• две дополнительных неделимых инструкции: CAS и CAS2 (CompareAndSwap 32 или 64 бита) для установки семафоров
• новые инструкции для работы с битовыми полями
М68030 (1986, 300000 транзисторов, макс, частота: 50MHz, 8 MIPS):
• Гарвардская архитектура
• два различных кэша: 256-байт кэш инструкций + 256-байт кэш данных
• асинхронные передачи данных
• синхронный интерфейс, что позволяет осуществлять блочные (burst) передачи в/из кэша
• MMU, позволяющее работать со страницами размером от 256 байт до 256 килобайт
М68040 (1989, 1200000 транзисторов, макс, частота шины: 40MHz, 8 MIPS, S.SMflops):
• синхронные передачи данных
• отсутствует динамическое изменение ширины шины
• частота процессора равна удвоенной частоте шины (максимально 80MHz)
• 6-ти стадийный конвейер
• FPU
• 4-килобайт кэш инструкций + 4-килобайт кэш данных
• механизм синхронизации шины (bussnooping) (арбитраж: шины должен быть внешним, процессор имеет вывод запроса шины), это обеспечивает согласование кэшей в многопроцессорных системах
М68060 (1994, 2500000 транзисторов, макс, частота шины: 66MHz, 100 MIPS):
• суперконвейерный, суперскалярный 32 битный гибридный CISC-RISC процессор
• набор инструкций М68040 реализован аппаратной логикой, а не микрокодом
• осн-ые устройства: буфер инструкций, 4-х стадийное конвейерное устройство предвыборки, два 4-х стадийных конвейерных целочисленных устройства, устройство переходов, FPU повышенной точности
• кэш переходов (ВТС)
• поток инструкций разделяется на два конвейера на FIFO стадии
• устройство предвыборки преобразует входной поток М680хО инструкций, имеющих переменную длину, в поток RISC инструкций фиксированной длины
• М68060 может может исполнять за один цикл 4 инструкции М680хО: две цело численных инструкции, одну инструкцию перехода и одну инструкцию с плавающей точкой; этот параллелизм обеспечивает высокую скорость исполнения даже для кода, не перекомпилированного специально для М68060
• 4-килобайт кэш инструкций + 4-килобайт кэш данных
• автоматическое уменьшение потребляемой мощности: внутренние функциональные блоки автоматически выключаются, если они не используются в течении ряда циклов