[an error occurred while processing this directive]
|
это все легко решаемо в контексте построения задачи на автоматах. Я не выделяю ОПРЕДЕЛЕННОГО кол-ва квантов времени. Я выделяю максимально допустимое. Когда одной задаче время не нужно, то она его и не потребляет, а просто выходит сразу после входа в нее. Когда ей нужно время - она его жрет, но не более максимально разрешенного. Если одна задача имеет приоритет ниже другой - она просто-напросто должна не исполнять свой код в случае если более приоритетная находится в таких состояниях, в которых ей нужна толпа ресурсов. А IDLE у каждой задаче свое, у системы его нет. Система, когда все задачи в IDLE, вызывает их по кругу с максимально возможной скоростью. В принципе можно и дать поспать процу чуток, когда все в IDLE. Ну, то есть, нет системы. Все делают сами задачи.