Память. Верхний уровень
- Подробности
-
Родительская категория: Память. Верхний уровень
-
Категория: Многозадачность
Большинство операционных систем (ОС) поддерживают многозадачность. Они последовательно переключают задачи одну на другую.В каждый момент времени процессор выполняет только одну задачу. В многопоточных процессорах одновременно могут выполняться несколько задач. ОС планирует какая из задач будет выполняться следующей, выбирает эту задачу и переключает контексты задач. Методы переключения зависят от стратегии, выбранной ОС.
Рассмотрим методы планирования и диспетчерирования. Различают несколько видов планирования (см. таблица ниже).
Виды планирования
Задача (поток) в процессе жизни в ОС может находиться в одном из состояний:
- Ready (готова) — готова к выполнению;
- Standby (простаивает) — выбрана следующей для выполнения на конкретном процессоре, диспетчер переключит контекст на эту задачу;
- Running (выполняется) — задача выполняется до момента:
-Завершения;
-Вытеснения задачей с более высоким приоритетом;
-Самостоятельного перехода в состояние ожидания;
-Окончания выделенного кванта времени.
- Waiting (ожидает) — задача переходит в это состояние самостоятельно на синхронизирующем объекте или по команде ОС, по окончании ожидания задача переходит в состояние Running или Ready;
- Transition (переходное состояние) — стек задачи выгружен из памяти, при загрузке переходи в состояние Ready;
- Terminated (завершена) — заканчивается выполнение, может удаляться из памяти;
- Initialized (инициализирована) — загужена из ROM или винчестера.
Обычная последовательность прохождения задачи по состояниям может быть такой:
Initialized — Ready — Standby — Running — Terminated. Более полно схема прохождения задачи по состояниям показана на рисунке (Win 2000 — см. рисунок ниже).
Схема продвижения задачи по состояниям