Возможна ли вытесняющая многозадачность ОС на DCPU-16 без прерываний?

Я изучаю различные проекты ОС в надежде написать простую многозадачную ОС для DCPU-16. Однако все, что я читал о реализации вытесняющей многозадачности, сосредоточено на прерываниях. Похоже, что в эпоху 16-битного аппаратного и программного обеспечения совместная многозадачность была более распространена, но это требует, чтобы каждая программа была написана с учетом многозадачности.

Есть ли способ реализовать вытесняющую многозадачность в архитектуре без прерываний? Все, о чем я могу думать, это интерпретатор, который бы динамически переключал задачи, но это имело бы огромный удар по производительности (возможно, порядка 10-20x+, если бы ему приходилось анализировать каждую операцию и ничего не запускалось изначально, я воображение).

10
задан Andrew Gorcester 9 April 2012 в 04:29
поделиться