Диспетчер операционной системы

Диспетчер операционной системы

Планирование выполнения задач — одна из ключевых концепций в многозадачности и многопроцессорности как в операционных системах общего назначения, так и в операционных системах реального времени. Планирование заключается в назначении приоритетов процессам в очереди с приоритетами. Программный код, выполняющий эту задачу, называется планировщиком.

Самой важной целью планирования задач является наиболее полная загрузка процессора. Производительность — количество процессов, которые завершают выполнение за единицу времени. Время ожидания — время, которое процесс ожидает в очереди готовности. Время отклика — время, которое проходит от начала запроса до первого ответа на запрос.

В средах вычислений реального времени, например, на мобильных устройствах, предназначенных для автоматического управления в промышленности (например, робототехника), планировщик задач должен обеспечить отработку процессов в течение заданных временны́х промежутков (время отклика); это критично для поддержания корректной работы системы реального времени.

Содержание

Типы планировщиков в операционных системах

Операционные системы могут включать до трёх различных типов планировщиков: долговременный планировщик (или планировщик разрешения выполнения), среднесрочный планировщик и краткосрочный планировщик (также известный как диспетчер). Сами названия уже описывают относительную частоту, с которой планировщик выполняет свои функции.

Долговременный планировщик

Долговременный планировщик решает, какие задачи или процессы будут добавлены в очередь процессов, готовых к выполнению; то есть, когда производится попытка запуска процесса, долговременный планировщик или добавляет новый процесс в очередь готовых процессов (допускает к выполнению), или откладывает это действие. Таким образом, долговременный планировщик решает, какие процессы будут выполняться одновременно, тем самым контролируя степень параллелизма и пропорцию между процессами, интенсивно выполняющими ввод-вывод, и процессами, интенсивно использующими процессор. Обычно в настольных компьютерах не применяется долговременный планировщик и новые процессы допускаются к выполнению автоматически. Но данный планировщик очень важен для систем реального времени, так как при чрезмерной нагрузке системы параллельно выполняющимися процессами время отклика системы может стать больше требуемого, что недопустимо.[источник не указан 854 дня]

Среднесрочный планировщик

Во всех системах с виртуальной памятью среднесрочный планировщик временно перемещает (выгружает) процессы из основной памяти во вторичную (например, на жёсткий диск), и наоборот. Эти действия называются подкачкой или свопингом. Среднесрочный планировщик может принять решение выгрузить процесс из основной памяти если:

  • процесс был неактивен некоторое время;
  • процесс имеет низкий приоритет;
  • процесс часто вызывает ошибки страниц (page fault);
  • процесс занимает большое количество основной памяти, а системе требуется свободная память для других целей (например, чтобы удовлетворить запрос выделения памяти для другого процесса).

Процесс будет возвращён в основную память, когда будет доступно необходимое количество свободной памяти или когда процесс выйдет из режима ожидания (в этом случае планировщик выгрузит из основной памяти другой процесс для освобождения основной памяти).[источник не указан 854 дня]

Во многих современных системах, поддерживающих отображение виртуального адресного пространства на вторичную память, отличную от файла подкачки, среднесрочный планировщик может одновременно играть роль и долговременного планировщика, рассматривая новые процессы как процессы, которые были выгружены из основной памяти. Таким образом система может подгружать в основную память программный код только тогда, когда он понадобится процессу для выполнения (это называется загрузкой по требованию или «ленивой загрузкой»).[источник не указан 854 дня]

Краткосрочный планировщик

Планировщик на этом уровне решает, какие из готовых и загруженных в память процессов будут запущены на ЦПУ после прерывания (по времени, операции ввода-вывода, вызову операционной системы или другому сигналу). Решения на этом уровне приходится принимать очень часто (как минимум, каждый временной отрезок). Также планировщик может поддерживать или не поддерживать вытесняющую многозадачность (то есть иметь возможность прервать исполнение какого-либо процесса).

Диспетчер

Диспетчер — это еще один компонент системы планирования. Это модуль, который передает управление процессором тому процессу, который был выбран на уровне кратковременного планирования. В его задачи входит переключение контекста, переключение в пользовательский режим и прыжок к нужному месту пользовательской программы, чтобы начать или продолжить ее исполнение. Главное требование к диспетчеру — это быстродействие, поскольку он осуществляет каждое переключение процессов.

См. также



Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Диспетчер операционной системы" в других словарях:

  • Диспетчер (операционные системы) — У этого термина существуют и другие значения, см. Диспетчер (значения). Диспетчер для операционной системы системное программное обеспечение, промежуточный слой между ОС РВ и функциональными задачами, обеспечивающий заданную временную диаграмму.… …   Википедия

  • Диспетчер — модуль операционной системы, обеспечивающий управление выполнением программ. См. также: Операционные системы Исполнение программ Финансовый словарь Финам …   Финансовый словарь

  • Диспетчер (значения) — Диспетчер: Диспетчер специальный сотрудник, ответственный за получение и передачу сообщений, слежение за движением транспортных средств и оборудования и запись всей поступающей информации. Диспетчер задач утилита в некоторых операционных системах …   Википедия

  • Диспетчер реального времени — Диспетчер для операционной системы системное программное обеспечение, промежуточный слой между ОС РВ и функциональными задачами, обеспечивающий заданную временную диаграмму. Известны два типа построения диспетчера с запуском задач по расписанию… …   Википедия

  • Диспетчер управления службами — У этой статьи не хватает нужной иллюстрации (Скриншота Завершение работы системы). Вы можете помочь проекту, добавив её (с соблюдением правил использования изображений). Для поиска иллюстраций можно: попробовать воспользоваться инструментом …   Википедия

  • Диспетчер управления сервисами — Service Control Manager (SCM) (WindowsSystem32Services.exe)  в Microsoft Windows, сервер, реализующий технологию удалённого вызова процедур (remote procedure call  RPC). Обеспечивает создание, удаление, запуск и остановку сервисов ОС.… …   Википедия

  • Диспетчер-68 — БЭСМ 6  советская электронная вычислительная машина, первая супер ЭВМ второго поколения  на полупроводниковых транзисторах. Разработка БЭСМ 6 завершена в конце 1966 года. Главный конструктор  Сергей Алексеевич Лебедев, заместители главного… …   Википедия

  • Диспетчер памяти — Менеджер памяти  часть компьютерной программы, обрабатывающая запросы на выделение и освобождение оперативной памяти или (для некоторых архитектур ЭВМ) запросы на включение заданной области памяти в адресное пространство процессора. Основное… …   Википедия

  • Восстановление системы — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей …   Википедия

  • Бездействие системы — (англ. System Idle Process) процесс ядра операционной системы семейства Windows, представляющий собой отдельный поток (или несколько потоков на многоядерных системах), работающий тогда, когда процессор не выполняет других потоков. Например,… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»