
- •Тема 1. История развития операционных систем. Типы операционных систем.
- •1. Понятие и эволюция операционных систем
- •1.1. Определение операционной системы
- •1.2. История развития операционных систем
- •Понятие и эволюция операционных систем
- •1.1 Определение операционной системы
- •1. 2 История развития операционных систем
- •Тема 2. Основные характеристики и принципы построения операционных систем.
- •1. Основные характеристики ос
- •2. Принципы построения ос
- •Основные характеристики ос
- •Принципы построения ос
- •Тема 3. Общая структура программного обеспечения и операционных систем эвм
- •Структура ос.
- •Управление процессами
- •Управление основной памятью
- •Управление внешней памятью
- •Сервисы операционных систем
- •Особенности методов построения
- •Тема 4.Диаграмма перехода процесса
- •Основные состояния процесса:
- •Дополнительные состояния процесса:
- •Операции над процессами
- •Основная концепция обработки прерываний
- •Тема 5. Контекст процесса и переключение контекста
- •Переключения контекста в ec эвм
- •Тема 6. Синхронизация и кооперация процессов
- •If q(s)? 0 очередь не пуста?
- •Тема 7. Тупики: условия возникновения тупиков, предотвращения тупиков
- •Модуль 5. Управление основной памятью
- •Тема 8.Управление реальной памятью
- •Тема 9. Понятие виртуальной памяти
- •Концепция виртуальной памяти
- •1.Признак обращения 0 - было
- •2.Признак модификации записи 0 - неизменен.
- •Тема 10. Страничная организация. Сегментная организация. Странично-сегментная организация. Двухуровневая страничная организация
- •Динамическая страничная организация
- •Сегментная организация виртуальной памяти
- •Комбинированная странично-сегментная организация памяти
- •Двухуровневая страничная организация
- •Тема 11. Управление процессорами и заданиями в однопроцессорном вычислительном комплексе. Алгоритмы планирования процессов
- •Тема 12. Управление процессорами и заданиями в мультипроцессорном вычислительном комплексе
- •Решение фирмы Сompaq?
- •Тема 13.Управление периферийными устройствами. Эволюция систем ввода-вывода, каналы ввода вывода. Регистры и команды ввода вывода.
- •Организация программного обеспечения ввода-вывода
- •Тема 14.Система управления файлами
- •Система управления файлами
- •Модуль 8. Управление данными
- •Тема 15. Способы доступа и организации файлов. Распределение файлов на диске
- •Способы доступа и организации файлов
- •Управление внешней памятью
- •Способы распределения памяти на диске
- •Тема 16. Требования и тенденции построения ос
- •Требования, предъявляемые к ос 90-х годов
- •Тенденции в структурном построении ос
- •Тема 17. Unix и ms Windows nt
Тема 4.Диаграмма перехода процесса
Основные состояния процесса
Дополнительные состояния процесса
Операции над процессами
Основная концепция обработки прерываний
Подсистема Управления процессами (УП) является наиболее интенсивно используемым компонентом ОС, входящим в состав ядра ОС, то есть резидентно размещенным в ОП и выполняющим следующие важнейшие функции:
представление процессов в ОС посредством блоков управления процессами;
создание и уничтожение процессов;
обработка прерываний и переключение процессов из состояния в состояние;
синхронизация и организация взаимодействия между асинхронными и параллельными процессами.
Процессомназывается программа в стадии или во время выполнения. В большинстве ОС процесс соответствует заданию пользователя. В системе существует одновременно много процессов. Даже в однопрограммной ОС существует системный и пользовательский процессы и можно выделить два типа состояний: пассивное и активное (пассивное, когда запуск не производится или работа завершена). В период своего существования процесс проходит через ряд дискретных состояний, подразделяющихся на основные и дополнительные состояния.
Основные состояния процесса:
Состояние активности, когда процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором.
Состояние готовности, когда процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
Состояние блокировки или ожидания, когда процесс не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса.
Дополнительные состояния процесса:
Приостановка готовности, когда процесс готов, но задержан и не конкурирует за ЦП.
Приостановка блокировки, когда процесс блокирован и задержан. То есть также не будет конкурировать за ЦП.
Дополнительные состояния процессов кратковременны и обычно используются в ОС РВ (реального времени при перегрузках ЦП.
В однопроцессорных ЭВМ в каждый момент времени может выполняться только один процесс и поэтому, когда один процесс активен, то несколько процессов могут находиться в других состояниях, т.е. находятся в соответствующих очередях (готовности, блокировки и др.).
Рисунок 1. Диаграмма переходов процесса
Очередью называется упорядоченный по приоритетам список процессов, ожидающих доступ к некоторому вычислительному ресурсу.
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. Диаграмма переходов процесса представлена на рисунке 1.
Когда в ОС поступает задание на обслуживание, создается процесс, который устанавливается в очередь готовых процессов.
Процесс постепенно продвигается в очереди и, когда очередь подходит при освобождении ЦП, процесс переходит в состояние активности. Предоставление ЦП процесса называется запуском или выбором процесса для выполнения. Эту функцию выполняет системная программа, называющаяся диспетчером.
Процесс, получивший ЦП, выполняется. Для предотвращения случайного, либо умышленного монопольного захвата ресурсов ЭВМ каким-либо процессом устанавливается временной интервал, называющийся квантом времени, в течение которого процессу разрешено занимать ЦП. Этот интервал устанавливается аппаратным таймером прерываний. По истечении кванта времени диспетчер возвращает процесс в состояние готовности и выбирает следующий готовый процесс.
Если выполняемый процесс до истечения кванта запрашивает какое-либо внешнее событие (обычно ввод/вывод), то добровольно освобождает ЦП, переводится в очередь блокировки до наступления события, безвозвратно теряет остаток кванта.
При наступлении события (завершении операции ввода/вывода) процесс переводится в состояние готовности.
Операции приостановки и возобновления играют важную роль в ОС РВ и используются в следующих случаях:
при пиковой нагрузке ВС, когда она не может обеспечить требуемое быстродействие, когда расходы времени на смену состояний превышают полезную работу;
при ненадежной работе системы и возможном ее отказе;
когда промежуточные результаты работы процесса вызывают сомнение в правильности работы программы.
При приостановке процесс обязательно освобождает ОП, его копия сбрасывается на диск, в специальный свопинг файл (swaping). Также могут быть освобождены и другие ресурсы.
В активном состоянии инициатором приостановки в однопроцессорной системе может быть сам процесс, а в мультипроцессорной – и другие процессы. В остальных состояниях – другие процессы (внешние события).
Возобновление (или активизация) процесса это операция подготовки процесса к повторному запуску с точки приостановки.
По завершении выполнения задания процесс уничтожается.
Все смены состояний происходят по прерываниям.
Прерывание– это событие/сигнал, привлекающий внимание ЦП и заставляющий его изменить текущий порядок исполнения команд процесса. Существуютаппаратные и программныепрерывания.
Аппаратные прерывания инициируются аппаратурой (например, сигнал микросхемы таймера в IBM PC вырабатывается 18.2 раза в секунду), сигналом принтера, нажатием клавиш клавиатуры и многими другими причинами.
Программные прерывания инициируются процессом и на самом деле ничего не прерывают. Это обычные процедуры, которые используются программами для выполнения стандартной рутиной работы. Однако, эти программы содержатся в ОС, и механизм прерываний дает возможность обратиться к ним из программ пользователей. Программные прерывания могут выдаваться внутри друг друга (быть вложенными). Например, аппаратные прерывания могут возникнуть при выполнении программных прерываний. Когда разрешенное прерывание вызывается, то ЦП оставляет свою работу, выполняет прерывание, а затем возвращается в место прерывания. Управляет прерываниями обработчик прерываний (Interrupt Handler).