Планирование процесса.
Переключение контекста.
Многоразовые операции над процессами.
Одноразовые операции всегда связаны с изменением количества процессов в системе (рождение и завершение процессов, освобождение ресурсов).
Запуск процесса.
На запуск выбирается процесс, стоящий в очереди готовых процессов. После того как процесс будет запущен его состояние будет изменено и он перейдет из состояния готовности в состояние исполнения => изменение PCB.
Приостановка процесса.
Работа процесса, находящегося в исполнении приостанавливается, как результат некоторого прерывания при этом сохраняется счетчик команд. Обязательно происходит обработка прерывания. Она производится специальной программой, находящейся по соответствующему адресу. ОС сохраняет динамическую часть системного и регистрового контекста процесса, переводит процесс в состояние готовности и преступает к обработке прерываний.
Блокировка/разблокировка процесса.
|
|
Процесс блокируется, если он не может продолжить работу по каким-либо причинам, например, он должен ожидать появления некоторого события.
Предположим, что в ОС произошло некоторое событие, ОС обязательно сначала должна определить что это за событие, тогда системы проверяет, находится ли какой-нибудь процесс в состоянии ожидания данного события, тогда этот процесс переводится в состояние готовности и ставится в очередь готовых к выполнению процессов.
Деятельность мультипрограммной ОС состоит из цепочек операций, выполняемых над различными процессами и сопровождается переключением процессора с одного процесса на другой.
Выполнение Прерывание Выполенение Восстановление ПРОЦЕСС 1 Кода кода ОС контекста |
Ожидание сохр Обработка Планирование ПРОЦЕСС 2 Контекста прерывания Исполнение |
Переключение требует времени. Существенно, чтобы сокращались расходы времени на прерывание контекста. Расширенная модель предполагает организацию под процессор.
Планирование процессов нужно, потому что необходимо распределять ресурсы между процессами. В конечном итоге д/б ясно чего мы хотим добится в реализации наших планов.
Ранее говорилось о двух видах планирования:
· Планирование заданий;
· Планирование использования процессора.
Изменяя порядок загрузки заданий с диска, можно повысить эффективность использования ВС. Задача – пропустить максимальное количество программ через ВС. Процедуру выбора очередного задания для загрузки, т.е. порождение нового процесса и назвали планированием заданий. Планирование возникает в мультипрограммных системах (МПС), где в состоянии готовности в очереди могут одновременно находиться несколько процессов. Планирование заданий можно назвать долгосрочным планированием. Это планирование отвечает за порождение новых процессов в системе. Долгосрочное планирование, связанное с вводом/выводом заданий – редкое событие. Поддержание разумной степени мультипрограммирования осуществляют за счет ограничений количества пользователей. Планирование использования процессора – это краткосрочное планирование (переключаться с процесса на процесс при фиксированном количестве процессов в системе можно много раз даже в течение одной секунды). Для краткосрочного увеличения производительности бывает выгодно временно удалить частично выполнившийся процесс из оперативной памяти на диск. Эта выгрузка называется «swapping». Когда и какой из процессов перекачать на диск или вернуть обратно, решается дополнительно промежуточным уровнем планирования процесса – среднесрочный уровень.
|
|