а что мешает пойти на компромисс?
делаем обработчик прерываний, внутри у него стоит диспетчер (упрощенная схема), но также имеется и некая система обработки состояния системы. в зависимости от флагов этот кусок кода может выступать и как диспетчер задач (разрешено вытеснение) и как обработчик прерываний (вытеснение не разрешено, но это чревато рассинхронизацией процессов реального времени).
а процедура пропуска кванта по сути дела представляет собой выполнение двух действий: перевод текущего процесса в состояние сна и вызов диспетчера. а так как у нас на диспетчер завязаны синхропотоки, то необходимо это дело слегка уложнить




Ответить с цитированием