Posted: Wed Apr 25, 2007 10:12 pm
Синтаксис конфигурационных файлов - это детали, которые нужно хорошо "обтачивать", но только после того, как заготовки для них будут готовы. Про отдельный конфиг-лист для базовых драйверов мое мнение таково, что ядро должно в себя включать базовые драйверы (и только их), а как грузить само ядро и модули, жизненно необходимые для его раскрутки, пусть остается в сфере деятельности загрузчика и касается ядра лишь с точки зрения соглашения о том, куда само ядро и эти модули были загружены. Может кому-то будет интересно, как я использую конфигурационные файлы. Так вот у меня имеется два основных конфигурационных файла - первый для указания ядру, какие драйверы следует загрузить вне зависимости от того, кто и в каком режиме будет использовать систему (у меня поддерживаются два режима работы - обычный и режим настройки системы), а также какие каталоги следует примонтировать к корню файловой системы на все время работы ОС (последнее можно указать как через параметры драйверов, так и непосредственно с помощью спец. директивы); второй для указания того, какие пользователи могут регистрироваться в системе (регистрационное имя пользователя - логин, имя конфигурационного файла для этого пользователя и имя профильного файла для него). Структура конфиг. файлов для отдельных пользователей полностью аналогична основному конфигурационному файлу, однако все, что описано в нем будет автоматически выгружаться при завершении сеанса работы данного пользователя. Структура профайлов содержит пароль пользователя, его "полное" имя (поле расширяемое, предназначено для хранения персональной информации о пользователе, пока практически не используется) и имя персональной оболочки для этого пользователя.
Unreal mode - это круто! Не проще ли уж в этом случае все сделать в защищенном режиме и уже не возвращаться обратно в реальный. Я вообще считаю, что ядру для раскрутки не нужно много файлов. У меня, например, помимо самого ядра загрузчиком грузится лишь один модуль - драйвер загрузочного устройства/файловой системы. Все остальное, в том числе и конфигурационные файлы ядро подгружает в защищенном режиме с помощью этого драйвера, а базовые драйверы, прежде всего консольные, встроены в ядро. Я этой идеей пытался поделиться с Марио, но он, видимо, не воспринял ее серьезно, т.к. посчитал, что раз я не стал выкладывать свою систему по первому его требованию, то все это лишь мои теоретические изыскания и не более того.- Загрузчик должен перевести процессор в unreal mode, прочитать конфигурационный файл, а также всё то там написано средствами БИОС, и передать управление по указанному адресу, предварительно поместив адрес массива адресов загруженных файлов c последним элементом равным нулю в eax, в esp значение eax-4, а все остальные регистры обнулить.