Русская Википедия:Вытесняющая многозадачность

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Вытесняющая многозадачность (приоритетная многозадачность, Шаблон:Lang-en, дословно упреждающая многозадачность) — это вид многозадачности, при которой операционная система принимает решение о переключении между задачами по истечении некоего кванта времени[1].

Особенности

Решение принимается в соответствии с приоритетами задач. В отличие от кооперативной многозадачности, управление операционной системе передаётся вне зависимости от состояния работающих приложений, благодаря чему, в частности, зависшие (к примеру — зациклившиеся) приложения, как правило, не «подвешивают» операционную систему. За счёт регулярного переключения задач также улучшается Шаблон:Comment системы, оперативность освобождения ресурсов системы, которые больше не используются задачей[1]Шаблон:Sfn.

В реализации вытесняющая многозадачность отличается от кооперативной, в частности, тем, что требует обработки системного прерывания от аппаратного таймераШаблон:Sfn. По истечении кванта времени, отведённого процессу, происходит прерывание и вызывается планировщик процессов. Частота вызова планировщика критична: слишком частый его вызов будет расходовать процессорное время впустую.

Поддержка в операционных системах

Вытесняющая многозадачность используется в большинстве современных операционных систем общего назначения[2], к примеру: Windows 9x и NT[3], Linux (и другие UNIX)Шаблон:Sfn и OS/2Шаблон:Sfn,[4] Mac OS[5][6] и BeOS[7], MenuetOS и KolibriOS[8]. Примером системы с вытесняющей многозадачностью более ранней, чем UNIX, может служить VMSШаблон:Sfn. Она также используется во многих встраиваемых операционных системах реального времени, таких как FreeRTOSШаблон:Sfn.

См. также

Примечания

Шаблон:Примечания

Литература

Шаблон:Аспекты операционных систем

  1. 1,0 1,1 Шаблон:Книга
  2. Шаблон:Книга
  3. Шаблон:Книга
  4. Шаблон:Книга
  5. Это касается современных версий, начиная с OS X, «классическая» Mac OS реализовывала невытесняющую многозадачность (см, к примеру Шаблон:Sfn0
  6. Шаблон:Cite web
  7. Шаблон:Статья
  8. Шаблон:Cite web