- •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. Охарактеризуйте методы разработки программного обеспечения срв.
19(!). Охарактеризуйте стратегии выбора процесса.
Существует несколько возможных стратегий выбора готовых процессов из очереди. Для определения той или иной стратегии необходимо принимать во внимание несколько противоречащих друг другу факторов - общее время, необходимое для решения задачи, ограничение на время реакции, важность и т. п. Рассмотрим две стратегии аналогичные тем, которые применяются при арбитраже шины.
Наиболее простой стратегией выбора является циклический (round-robin) метод - процессы выбираются последовательно один за другим в фиксированном порядке и через равные интервалы времени. Основное достоинство метода - простота, однако, поскольку процессам с различными требованиями выделяются равные ресурсы процессора, некоторые из них обслуживаются неадекватно своим потребностям.
Более сложный принцип выбора основан на приоритетах (priorities). При каждом переключении планировщик передает управление готовому процессу с наивысшим приоритетом. Приоритет присваивается процессу в момент его создания и остается постоянным в течение всего времени - статический приоритет (static priority). Такой приоритет, как правило, определяется на основе информации, предоставленной пользователем.
Планирование на основе статических приоритетов может привести к неприятным ситуациям. Процесс с наивысшим приоритетом, если он не находится в состояния ожидания, будет всегда выбираться для исполнения и практически полностью занимать процессор. Нетривиальным является также выбор между процессами с одинаковым приоритетом. Для исключения подобной ситуации применяется какой-либо алгоритм динамического назначения приоритетов (dynamic priority allocation). Haпример, планировщик снижает приоритет исполняемого процесса на фиксированную величину. В результате его приоритет будет ниже, чем у другого готового процесса, который затем и выбирается для исполнения. Таким образом, обеспечивается выполнение всех процессов. Через некоторое время ожидающим процессам возвращаются номинальные значения их приоритетов. Этот метод обеспечивает исполнение процессов даже с низким приоритетом и гарантирует, что процесс с высоким начальным приоритетом не будет непрерывно занимать процессор.
Разница в первоначально назначенных приоритетах приводит к тому, что процессы с более высокими приоритетами будут получать управление чаще, чем другие. Процессы, обращение к которым происходит более интенсивно и/или время реакции которых ограничено, получают в начальный момент более высокие приоритеты; менее важным процессам, для которых допустима отложенная реакция, присваиваются более низкие приоритеты.
Планирование процессов, основанное на приоритетах, работает хорошо, только если разные процессы имеют неодинаковые приоритеты. Присвоение наивысших приоритетов всем процессам не повышает скорость исполнения, так как это не увеличивает быстродействие процессора, - каждый процесс будет ждать в очереди до тех пор, пока все остальные не будут выполнены. Система, в которой всем процессам присвоены одинаковые приоритеты, работает по циклическому принципу. Наилучшие результаты достигаются в системе реального времени, если относительные приоритеты тщательно выбраны и сбалансированы.
