Вообще-то и с дисковода тоже надо успевать прочитывать регистр пока трек разматывается (хотя времени для маневра конечно несколько больше).
Вопрос в другом - а кому нужны все эти магнитофоны, дисководы? Равно как и софт, съедающий все такты и критичный к порче стека, и все лишь для вращения кубика и скролла с факами?
Как я понимаю, концепция строго противоположная строительству "парусника в бутылке" - т.е. демоделанию.
---------- Post added at 15:29 ---------- Previous post was at 15:21 ----------
Посмотрите как это реализовано в Uzix (подобно же и реализовано). Там тоже диспетчер системных вызовов с номерами функций, система передачи параметров в регистрах, и, кстати, весь LIBC есть в исходниках, и не только libc. Не обязательно же гнаться за многозадачностью, а идеи - они и в Африке...
С многобанковостью есть одна единственная закавыка - как обрабатывать память в другой странице, на которую передан указатель. Медленно (через копирование), или подгонять сегмент данных (чтобы гарантированно попадало в окно диспетчера, но тут надо писать свой компилятор) или как-то еще? Аналогично и со стеком (если пишем на С). Или вообще не использовать передачу указателем (чему, кстати, удовлетворяет большинство вызовов LIBC)?
Я для себя так и не решил.





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