Разница между упреждающей и кооперативной многозадачностью заключается в том, как операционная система управляет переключением между задачами. 15
Упреждающая (вытесняющая) многозадачность. 25 Операционная система принимает решение о переключении между задачами по истечении некоего кванта времени в соответствии с приоритетами задач. 2 Планировщик задач принудительно приостанавливает выполнение текущей задачи и отдаёт управление другой задаче, готовой для исполнения. 5
Кооперативная многозадачность. 35 Операционная система не инициирует передачу управления между задачами. 5 Задачи самостоятельно отдают управление планировщику, а он решает, какая задача будет выполняться следующей. 5
Таким образом, при упреждающей многозадачности управление операционной системой передаётся вне зависимости от состояния работающих приложений, благодаря чему зависшие приложения, как правило, не «подвешивают» операционную систему. 2 При кооперативной многозадачности управление передаётся только после того, как текущая задача явно объявит себя готовой отдать процессорное время другим задачам. 3