Вопрос №3. «Диспетчеризация процесса».
Переход от выполнения одного процесса к другому осуществляется в результате планирования и диспетчеризации.
Работа по определению того, в какой момент необходимо прервать выполнение текущего активного процесса и какому процессу предоставить возможность выполняться, называется планированием.
При планировании могут приниматься во внимание
· приоритет процессов,
· время их ожидания в очереди,
· накопленное время выполнения,
· интенсивность обращений к вводу-выводу.
Планирование процессов, по существу, включает в себя решение двух задач:
· определение момента времени для смены текущего активного процесса;
· выбор для выполнения процесса из очереди готовых потоков.
Планирование процессов. В большинстве операционных систем универсального назначения планирование осуществляется динамически (on-line), то есть решения принимаются во время работы системы на основе анализа текущей ситуации. ОС работает в условиях неопределенности — процессы появляются в случайные моменты времени и также непредсказуемо завершаются.
Планировщик процессов –осуществляет планирование процессов, т.е. определяет какому процессу необходимо предоставить ЦП.
Планировщик взаимодействует с системой управленияпроцессами.
Нижний уровень операционной системы — это планировщик, на верхних уровнях расположено множество процессов.
Планировщик выполняет:
· обработку прерываний
· остановку и запуск процессов
Планировщик это небольшая программа.
Вся остальная часть операционной системы удобно структурирована в виде набора процессов.
Диспетчеризация заключается в переключении процессора с одного процесса на другой.
Прежде чем прервать выполнение процесса, ОС запоминает его контекст, с тем, чтобы впоследствии использовать эту информацию для последующего возобновления выполнения данного процесса.