Fanatic wrote:1. io.sys - это не ядро. Ядро - это msdos.sys. По крайней мере - в ms dos.
msdos.sys - это, грубо говоря, реализация int 21h. io.sys - это, грубо говоря, слой абстрагирования от оборудования: оборачивает в единый интерфейс блочных и символьных устройств вещи типа COMx/LPTx - реализованные в самом io.sys - и внешние драйвера. И то, и другое - части ядра.
Fanatic wrote:Если загрузчик вынесен в отдельный от ядра файл, то с точки зрения формальной логики он не может являться частью ядра.
Если формально разрезать пополам файл kernel.mnt, получатся две части ядра. Если какой-то код инициализирует драйверы, он автоматически становится столь же важным, как половинка kernel.mnt.
Fanatic wrote:Под "рабочей средой" вы подразумеваете защищённый режим памяти?
Не только. Защищённый режим процессора, страничная организация памяти и функции для работы с ней, менеджер памяти, APIC, таймер, тикающий на заданной частоте, многозадачность и примитивы синхронизации для работы с ней. Применительно к Колибри - реализация всех функций, перечисленных в
kernel/trunk/core/exports.inc - API ядра для драйверов.