pavia писал(а):
Используем сторожевой таймер и нет проблемы.
Наличие работающего сторожевого таймера
автоматически превращает кооперативную многозадачность в вытесняющую, т.к. для него нужно реализовать
все механизмы принудительного вытеснения в полной мере.
Himik писал(а):
Прерывания должны работать с вытеснением точно так же как в ДОСе, на то они и прерывания.
И где же тогда невытесняющая многозадачность?
А теперь вопрос: в чем отличие между потоками, периодически вызывающими sleep() для передачи управления другим потокам и "подстраховываемыми" сторожевым таймеров и переключением по таймеру с возможностью вызвать sleep() для передачи управления другим потокам? :)))
Mr.McD. писал(а):
Краткий список гиппопотамов:
Novell NetWare
Apple MacOS (до 9-ой версии включительно)
Contiki OS
nginx (сервер Rambler'а)
OS/2 v0.99
nginx с какого бодуна попал в этот список? nginx - выдающийся веб-сервер, сам его использую, но это всего лишь веб-сервер с весьма ограниченным и предсказуемым количеством внутренних состояний.
Остальные гиппопотамы вымерли.