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