Кооперативная многозадачность | это... Что такое Кооперативная многозадачность? (original) (raw)

Кооперативная многозадачность

Кооперативная многозадачность

Кооперативная многозадачность — тип многозадачности, при котором следующая задача выполняется только после того, как текущая задача явно объявит себя готовой отдать процессорное время другим задачам. Как частный случай, такое объявление подразумевается при попытке захвата уже занятого объекта mutex (ядро Windows версий до 3.x включительно, а также 16-битные приложения в Windows 95/98/Me).

Кооперативную многозадачность можно назвать многозадачностью «второй ступени», поскольку она использует более передовые методы, чем простое переключение задач, реализованное многими известными программами (например,

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

Недостатки: неспособность всех приложений работать в случае ошибки в одном из них, приводящей к отсутствию вызова операции «отдать процессорное время». Крайне затрудненная возможность реализации многозадачной архитектуры ввода-вывода в ядре ОС, позволяющей процессору исполнять одну задачу в то время, как другая задача инициировала операцию ввода-вывода и ждет ее завершения. Реализована в пользовательском режиме ОС Windows версий до 3.х включительно, Mac OS версий до Mac OS X, а также внутри ядер многих UNIX-подобных ОС, таких, как FreeBSD, а в течение долгого времени — и Linux. Операционная система

Ядро

МикроядроМонолитное ядроГибридное ядро • Пространство ядра (kernel space) • Модульное ядроНаноядроДрайвер • Пространство пользователя • Область пользователя • Экзоядро

Управление
процессом

ПроцессМультипрограммированиеПрерываниеЗащищённый режим (кольца защиты) • Режим супервизораМногозадачностьМногопоточность • Управление процессом • Планировщик задач • Переключение контекста • Кооперативная многозадачностьВытесняющая многозадачность • Режимы работы процессора

Управление
памятью

Защита памяти • Сегментация памяти • Страничная память (Paging) • Блок управления памятьюОшибка сегментации • Общая ошибка защиты

Примеры

Microsoft Windows Mac OSПрочее

Загрузчик ОСAPI • VFS • Компьютерная сетьGUI • История операционных систем • Слой аппаратных абстракций HAL

Wikimedia Foundation.2010.

Полезное

Смотреть что такое "Кооперативная многозадачность" в других словарях: