Ключевая разница - планировщик и диспетчер
Scheduler и Dispatcher связаны с планированием процессов операционной системы. Ключевое различие между планировщиком и диспетчером заключается в том, что планировщик выбирает процесс из нескольких процессов для выполнения, в то время как диспетчер выделяет ЦП для выбранного процесса планировщиком.
В компьютерной системе запущено несколько процессов. Планирование - это процесс операционной системы, который решает, какой процесс должен быть выделен ЦП для выполнения нескольких процессов.
Что такое Планировщик?
В операционной системе существует три типа планировщиков. Это долгосрочный планировщик, краткосрочный планировщик и среднесрочный планировщик. Долгосрочный планировщик также известен как планировщик заданий. В компьютерной системе есть ряд процессов, ожидающих выполнения. Эти процессы помещаются во вторичное хранилище или в очередь заданий для последующего выполнения. Задача долгосрочного планировщика - выбрать процессы из очереди заданий и поместить этот процесс в очередь готовности в основной памяти.
Краткосрочный планировщик также известен как планировщик ЦП. Задача краткосрочного планировщика состоит в том, чтобы выбрать процесс в очереди готовности, который должен быть выделен ЦП. Краткосрочный планировщик должен выбрать процесс из очереди готовности, в то время как предыдущий процесс переходит в состояние ожидания. Он должен быть быстрым, иначе процессорное время будет потрачено впустую.
Рисунок 01: Планирование процессов
Выполняемый процесс может потребовать операции ввода/вывода. Итак, процесс переходит в состояние ожидания. Говорят, что этот процесс приостановлен. Для максимальной загрузки ЦП должен работать какой-то другой процесс. Приостановленный процесс переносится обратно во вторичную память. Через некоторое время переданный процесс может вернуться обратно в оперативную память и продолжить выполнение с того места, где он был прерван. Перенос приостановленного процесса во вторичную память называется выгрузкой. Возврат процесса в основную память известен как подкачка. Эта подкачка выполняется планировщиком среды.
Что такое Dispatcher?
Когда краткосрочный планировщик выбирает из очереди готовности, диспетчер выполняет задачу выделения выбранного процесса процессору. Работающий процесс переходит в состояние ожидания для операции ввода-вывода и т. д. Затем ЦП выделяется какому-то другому процессу. Это переключение процессора с одного процесса на другой называется переключением контекста. Диспетчер выполняет различные задачи, включая переключение контекста, настройку пользовательских регистров и отображение памяти. Они необходимы для выполнения процесса и передачи управления ЦП этому процессу. При диспетчеризации процесс переходит из состояния готовности в состояние выполнения.
Иногда диспетчер рассматривается как часть краткосрочного планировщика, поэтому весь блок называется краткосрочным планировщиком. В этом сценарии задача краткосрочного планировщика состоит в том, чтобы выбрать процесс из очереди готовности, а также выделить ЦП для этого процесса.
Какова связь между планировщиком и диспетчером?
Диспетчер назначает выбранный процесс краткосрочным планировщиком процессору
В чем разница между планировщиком и диспетчером?
Планировщик и Диспетчер |
|
Планировщик - это специальное системное программное обеспечение, которое управляет планированием процессов, выбирая процесс для выполнения. | Диспетчер - это модуль, который передает управление ЦП процессу, выбранному краткосрочным планировщиком. |
Типы | |
Есть три типа планировщиков, известных как:
|
Для диспетчера нет категоризации. |
Основные задачи | |
Долговременный планировщик выбирает процесс из очереди заданий и переводит его в очередь готовности. Краткосрочный планировщик выбирает процесс в очереди готовности. Средний планировщик выполняет загрузку и выгрузку из процесса. |
Диспетчер выделяет ЦП процессу, выбранному краткосрочным планировщиком. |
Сводка – планировщик и диспетчер
Scheduler и Dispatcher используются для планирования процессов операционной системы. Разница между планировщиком и диспетчером заключается в том, что планировщик выбирает процесс из нескольких процессов для выполнения, в то время как диспетчер выделяет ЦП для выбранного процесса планировщиком.