Victor
Насчет драйверов и приложений ты абсолютно прав, они равнопрвны и между ними принципиалной разници нету. Разница в том, кто-то встает в очередь по таймеру, кто-то цепляется за аппаратные или программные прерывания. Хотя впринципе одно и тоже приложение может прицепиться обоими способами. Замечу что то приложение которое цепляется за программное прерывание может еще через него реализовать какой нибудь свой API. Но все это лиш мое личностное мнение и не более того
Serge
Сама идея выше описанного менеджера памяти/задач, планировщика (кому как удобно пусть так его иназывает) стара как MS-DOS (если не старше

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

Так что QNX и прочие системы сдесь непричем
В Колибри нет четкого механизма (ставлю ударение на слово четкий механизм) который реализует самые необходимые функции:
1 - Выделить кусок памяти с двумя свойствами, по другому говоря создать буфер:
а - доступный для всех (+r или +rw)
б - приватный (доступный только для того кто запросил этот кусок)
2 - Обратная функция которая уничтожает выделенный кусок
3 - Пара сервисных функци которые меняют свойства выделенного куска памяти (для удобства программиста)
4 - Запустить выделенный кусок памяти на выполнение (короче создать задачу/поток/нить кому как удобно )
6 - Обратная функция, остановить выполнение куска памяти
7 - Сопутствующие сервисные функции
8 - Зарегистрировать приложение/драйвер в очереди на выполнение по таймеру(проще говоря поставить в очередь, установив вектор)
9 - Обратная функция
10 - Зарегестрировать приложение/драйвер в таблице на аппаратное прерывание (не таймер)
11 - Обратная функция
12 - Функция возврата из задачи (типа Return)
13 - Различные сервисные функции, (для удобства) типа вернуть свободное количество памяти, версю процессора, версию ядра, временно остановить/запустить/перескачить через приложение, и т.п.
Пока в OS не реализованы (и не отпалированы) описанные выше или подобные механизмы, программисты обречены 'чуть что' каждый раз переписывать драйвера и их взаимодействия. Про встроенный GUI на таком этапе вообще нечего говорить, иначе GUI начнет тормозить процесс доводки ядра. А восклицания об обратной совместимости тестовых приложений - это вообще глупо
Теперь о грустном:

Я так понял что реальных помощников для реализации микро ядра на i386 катастрофически нехватает

И пока мне не удасться самому детально разобраться совсякими GDT, LDT, TSS и прочими премудростями i386, микроядерный проект обречен
