- •1. Раскройте понятие системы реального времени. Приведите классификацию систем реального времени.
- •2. Раскройте сущность систем жесткого и систем мягкого реального времени
- •3. Приведите типичную структуру построения системы реального времени
- •4.Приведите классификацию задач в системах реального времени
- •5.Опишите функциональную структуру информационного тракта срв и устройства связи с объектом
- •6. Назовите и охарактеризуйте средства обработки асинхронных событий
- •7 Раскройте сущность методов реализации интерфейса ацп – процессор пк
- •8 Опишите способы передачи данных между ацп и микропроцессором на программном уровне
- •10. Раскройте сущность понятий контекст задачи и переключение задач.
- •11. Раскройте сущность понятия прерывания.
- •12. Опишите функционирование механизма обработки прерываний.
- •9 Опишите аппаратные средства интерфейса в срв
- •13. Охарактеризуйте функции механизма прерываний.
- •14. Назовите события, которые вызывают внутренние и внешние прерывания, прерывания при обращении к супервизору ос, программные прерывания.
- •15. Опишите дисциплины обслуживания прерываний.
- •Охарактеризуйте однопроцессорную и распределенную архитектуры
- •Опишите функции операционных систем в среде реального времени
- •18(!). Охарактеризуйте функционирование управления процессором и состояния процесса.
- •19(!). Охарактеризуйте стратегии выбора процесса.
- •20. Опишите организацию многозадачности в осрв.
- •23. Охарактеризуйте виды задержек логической схемы.
- •24(!). Опишите и охарактеризуйте способы изображения состояния неопределенности логического элемента.
- •25(!). Охарактеризуйте временные диаграммы переходных процессов логических элементов.
- •27. Охарактеризуйте системное программное обеспечение срв.
- •28(!). Анализ вычислительного пространства для программирования и использования спо
- •29(!). Приведите примеры исходных кодов для обеспечения ввода информации в срв.
- •30. Охарактеризуйте методы разработки программного обеспечения срв.
Охарактеризуйте однопроцессорную и распределенную архитектуры
Главным различием между однопроцессорной и распределенной архитектурами является способ обмена информацией между процессами. В однопроцессорной конфигурации обмен данными между процессами происходит через общую локальную память, очередность доступа к которой регулируется многозадачной операционной системой.
В отличие от этого, в распределенной системе нет общей памяти как таковой, и процессы обмениваются информацией с помощью сообщений. Если один процесс должен передать информацию другому, то он формирует сообщение и обращается к услугам операционной системы для передачи его по назначению.
Опишите функции операционных систем в среде реального времени
Операционные системы в среде реального времени выполняют ряд специфических функций:
Обеспечение многозадачности: Одной из основных функций операционных систем является поддержка многозадачности, то есть возможность одновременного выполнения нескольких процессов. Это позволяет эффективно распределять ресурсы и обеспечивать параллельное выполнение различных задач.
Изоляция и защита ресурсов: Операционная система должна обеспечивать изоляцию различных операций и защиту ресурсов от несанкционированного доступа.
Распределение рабочей нагрузки: В системах реального времени цель многозадачного режима заключается в эффективном распределении рабочей нагрузки между различными программными модулями. Это позволяет достигать оптимальной производительности системы и обеспечивать выполнение задач в строго заданные сроки.
Управление доступом и автономность в распределенной среде: В распределенной среде операционная система выполняет функции управления доступом к ресурсам и обмена данными и сообщениями между различными узлами сети. Каждая система должна быть высоко автономной, но в то же время способной эффективно взаимодействовать с другими узлами сети.
18(!). Охарактеризуйте функционирование управления процессором и состояния процесса.
Основными объектами в многозадачной среде являются процессы или задачи, описываемые своим контекстом. На одном процессоре в любой момент времени может исполняться только одна задача. Контекст исполняемой задачи всегда можно "заморозить", сохранив содержимое регистров процессора. При остановке текущей задачи процессор продолжает исполнение других задач. Таким образом, процессор есть ограниченный ресурс, который распределяется между всеми задачами.
На одном процессоре для организации многозадачного режима выполнение каждой задачи разбивается на несколько коротких интервалов. Процессор выполняет часть первой задачи, затем второй, третьей и т. д. Временной интервал, выделенный для каждой задачи, составляет, например, 10 миллисекунд.
Внешний эффект разделения процессорного времени между задачами состоит в параллельном выполнении n задач. Когда n задач выполняются в системе параллельно каждая из них в среднем монопольно "располагает" процессором с производительностью 1/n, т. е. работает (развивается) на виртуальном процессоре, производительность которого в n раз меньше, чем у реального физического процессора. Если вместо одного используется несколько процессоров, то это просто другая реализация того же самого логического принципа. В первом случае процессы разделены во времени, во втором – в пространстве. Если исключить накладные расходы на планирование и межзадачное взаимодействие, то при выполнении n процессов на k одинаковых процессорах каждому процессу в среднем выделяется виртуальный процессор с производительностью, равной k/n части от производительности одного физического процессора.
Простейшая многозадачная однопроцессорная система состоит из процедуры, сохраняющей контекст текущего процесса в стеке или в определенной области памяти и восстанавливающей контекст другого процесса, исполнение которого возобновляется с того места, где он был прерван. Системная программа, выбирающая один из готовых для исполнения процессов, называется планировщиком (scheduler). Стратегии выбора достаточно разнообразны и меняются от одной операционной системы к другой, однако чаще всего используется какой-либо механизм на основе приоритетов. Планировщик работает как один из процессов, который автоматически получает управление после каждого прерывания текущего процесса.
Операции по переключению процессов критичны по времени и должны осуществляться с максимальной эффективностью. На процессорах, первоначально не разработанных для многозадачного режима, процедура сохранения и восстановления контекста - переключение процессов - реализуется длинной последовательностью стандартных инструкций процессора. В набор команд процессора, спроектированного для работы в многозадачном режиме, входят специальные инструкции для сохранения и восстановления контекста. Переменные процесса не входят в состав контекста, и сохранять их специально нет необходимости, поскольку они хранятся в памяти, выделенной процессу и защищенной операционной системой от доступа других процессов.
Планировщик вызывается обычно после обработки каждого прерывания. Если используется стратегия переключения процессов на основе квантования времени (рис. 1), необходимо иметь внешний по отношению к процессору интервальный таймер, вырабатывающий прерывания по истечении кванта времени (time slice), выделенного процессу. При возникновении прерывания исполнение текущего процесса приостанавливается и проверяется, должен ли быть прерван текущий процесс и загружен новый. Принудительная приостановка текущего процесса для передачи управления другому процессу называется вытеснением (preemption).
Продолжительность кванта времени влияет на производительность системы. При коротком кванте улучшается общее время обслуживания коротких процессов. Если величина кванта сопоставима с временем, необходимым для переключения процессов, то большая часть ресурсов процессора будет уходить на планирование и переключение. Если величина кванта слишком большая, увеличивается время ожидания процессов и, соответственно, время реакции.
Процесс исполняется до тех пор, пока не произойдет одно из следующих событий:
- истек выделенный ему квант времени;
- процесс заблокирован, например, ждет завершения операции ввода/вывода;
- процесс завершился;
- вытеснен другим процессом, имеющим более высокий приоритет, например обработчиком прерываний.
В многозадачной среде процесс может находиться в одном из трех состояний (рис. 2).
• Готов (ready). Процесс может начать исполнение, как только освободится процессор.
• Исполнение (running, executing). Процесс исполняется в данный момент, т. е. процессор исполняет его код.
• Ожидание, заблокирован (waiting, locked). Для продолжения работы процессу не хватает какого-либо ресурса, за исключением ЦП, либо он ждет наступления внешнего события.
