- •5. Операционная система как виртуальная машина
- •6. Ос как менеджер ресурсов
- •7. Операционная система как защитник пользователей и программ
- •12. Мультипрограммирование. Роль ос в организации мультипрограммирования.
- •13. Роль мультипрограммных систем в обеспечении эффективности использования системных ресурсов.
- •14.Системы разделения времени
- •15, 19. Архитектурные особенности ос
- •16. Многоуровневые системы (Layered systems)
- •17. Виртуальные машины
- •18. Микроядерная архитектура
- •20. Смешанные системы
- •21. Классификация ос
- •Реализация многозадачности
- •Поддержка многопользовательского режима
- •22. Многопроцессорная обработка
- •23. Системы реального времени
- •24. Процессы. Понятия процессов.
- •25. Состояния процесса
- •26. Операции над процессами. Классификация. Общая характеристика.
- •Process Control Block и контекст процесса
- •27. Одноразовые операции
- •28. Многоразовые операции
- •Переключение контекста
- •29. Системы пакетной обработки.
- •30. Ос unix.Общая характеристика.
- •31. Характерными особенностями Linux как операционной системы являются:
- •32. Общая характеристика ос Windows. Защита от вирусов.
Переключение контекста
До сих пор мы рассматривали операции над процессами изолированно, независимо друг от друга. В действительности же деятельность мультипрограммной операционной системы состоит из цепочек операций, выполняемых над различными процессами, и сопровождается переключением процессора с одного процесса на другой.
Давайте для примера упрощенно рассмотрим, как в реальности может протекать операция разблокирования процесса, ожидающего ввода-вывода (см. рис. 2.5). При исполнении процессором некоторого процесса (на рисунке – процесс 1) возникает прерывание от устройства ввода-вывода, сигнализирующее об окончании операций на устройстве. Над выполняющимся процессом производитсяоперация приостановки. Далее операционная система разблокирует процесс, инициировавший запрос на ввод-вывод (на рисунке –процесс 2) и осуществляет запуск приостановленного или нового процесса, выбранного при выполнении планирования (на рисунке был выбран разблокированный процесс ). Как мы видим, в результате обработки информации об окончании операции ввода-вывода возможна смена процесса, находящегося в состоянии исполнение.
Рис. 2.5. Выполнение операции разблокирования процесса. Использование термина "код пользователя" не ограничивает общности рисунка только пользовательскими процессами
Для корректного переключения процессора с одного процесса на другой необходимо сохранить контекст исполнявшегося процессаи восстановить контекст процесса, на который будет переключен процессор. Такая процедура сохранения/восстановления работоспособности процессов называется переключением контекста. Время, затраченное на переключение контекста, не используется вычислительной системой для совершения полезной работы и представляет собой накладные расходы, снижающие производительность системы. Оно меняется от машины к машине и обычно колеблется в диапазоне от 1 до 1000 микросекунд. Существенно сократить накладные расходы в современных операционных системах позволяет расширенная модель процессов, включающая в себя понятие threads of execution (нити исполнения или просто нити). Подробнее о нитях исполнения мы будем говорить в лекции 4 – "Кооперация процессов и основные аспекты ее логической организации".
29. Системы пакетной обработки.
Предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности системы пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование у системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличные требования к ресурсам, так чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается "выгодное" задание. Следовательно, в таких ОС гарантировать выполнение того или иного задания в течении определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказалась от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.