О! У Вас опять родные слуху и сознанию дебаты!
Ну ка я свои пять копеек вонзЮ, авось кто то, что то услышит :O)
Я согласен с Иваном(!), как минимум потому, что он максимально близок к моему проектированию этого дела.
Бутов, как и масса FS + будут новые FS, значит новые буты будут, а имею ввиду именно бут сектора!
Это, можно сказать, неоспоримый ФАКТ. Что из этого получается? А получается, что лениться делать буты под свою ось и новые возможно FS не стоит или пытаться обойтись чем либо горбатым или унифицированным и под него потом вязать шнурочки-бантики, примочки... только лишь бы было и как то работало - неразумно, пассивно и НЕавторски!
Как быть с этой пестротой FS, ведь их в идеале должна иметь ОС и владеть ими? Тогда, где грань разумного? Т.е. где и когда нужно подключить работу c FS, где "начинать ими пользоваться"? Лупить все в кучу и сразу - дикое безумие.
Плодить к куче бут секторов еще цепочку файлов/принципов дозагрузок... - неоптимально, ненадежно и похоже на тяп-ляп. Плюс надо учесть, что где то тут проходит грань между RM и PM, а это накладывает еще большие неприятности и потребности одновременно.
Посему в моем решении (c) ATOM OS
вся эта матата продумана, разбита на 3 основных этапа, называемых ступенями загрузки (как ступени у ракеты - отработал ступень, отстрелил ее в утиль = овсободив/затерев память... но каждая ступень РАЗВИВАЕТ ЯДРО!!! Создает СРЕДУ его обитания: диагностика, поиски, тесты, структуры, MOVING блоков кода по назначению...
А реальный рабочий финал он у ВСЕХ осей (типично) один PM + многозадачка или запущенные службы (СТУПЕНЬ 3) или самая первая задача ОСи - задачка загрузки НУЖНЫХ ДРАЙВЕРОВ... скажем, ФАКТИЧЕСКИЙ(!) список которых
уже выявлен и очерчен на предидущем этапе.
Вообще, если быть хоть чуть чуть внимательным, то видно, что винда оживает несколько подобным образом.
Таким образом, красота саморазвивающегося, минимально-самодостаточного принципа загрузки, дозагрузки, запуска ядра
в нашей идеологии выглядит так:
1.0 Бутсектора (индивидуальные под FS и под конкретный загрузочный файл! Это позволяет регистрироваться в мультизагрузчиках: SyMon, Acronis, System Commander именно, как новая уникальная инсталляция ОС (даже если это лишь отладочный вариант, НО, это полный аналог рабочей!) + соотв. ее сохранения) любых типов FS загружают ВСЕГДА ОДИН и ТОТ ЖЕ ФАЙЛ - СТУПЕНЬ 1 и стартуют его по ФИКСИРОВАННОМУ адресу 0x5000 (верхние адреса предпочтительнее т.к. позволяет отлаживать в ДОС реальные дела ступени 1:) т.к. не перекрывыаются рабочей зоной ДОС прог и самим ДОСом:)
2.0 СТУПЕНЬ 1 - чисто RM. Первичная цель - устранить убожество MenuetOS относительно уродских вопросов какая у тебя память,проц,драйвы,мышь, какой порт на... какое разрешение и т.п.... Т.е. тестинг оборудования всеми возможными методами и средствами ибо тут ПОКА CPU в RM и ему доступны ВСЕ методы и средства BIOS + можно играться прерываниями как хош и где хош
, можно использовать листинги, тесты ДОС прог, методы...
Финал её - подготовка минимальных GDT и IDT + переход в PM еще по адресам гдг лежит она сама (граница этапа СТУПЕНЬ 2)
3.0 Иниты нужных селекторов для дорабатывания задач 1й, но используя ме возможности PM и адресации. Скажем память тестовать надо тут, а вот с BIOSом работатьНАДО БЫЛО в 1й!
Оптимальное распределение функций! Но! Для общего дела, блага оживания!
Тут пробы ВСЕх возможных аппаратных прерываний IRQ прописыванием их в IDT! Цель добить РЕАЛЬНО работу устройств,
особенно приводов, с тем чтобы он(и) были готовы и настроены (обработчики) для обслуживания ДРАЙВЕРОВ FS.
4.0 Переброс из 640 области (загрузочной локализации) остатков НУЖНОГО и ПРОВЕРЕННОГО кода ядра (например обработчик проверенного в ступени 2 прерывания мыши PS/2, в обрасть свыше 1мб и пропись её в IDT на место IRQ12. Теперь IRQ12 -
табу для ВСЕХ кроме самого ядра!
) Далее запуск дозагрузки нужных файлов, но драйвер FS тоже перемещен и подключен програмно, правда из тела СТУПЕНИ 2 где он лежал ПАССИВНЫМ ПРИЦЕПОМ. Теперь ядро может загружать все что нужно для дальнейшей жизни в том числе и файлы драйверов: звука, видеодрайвера, сетевого контроллера... но по строго очерченному типажу, списку, конечно, который готов, как результат, после СТУПЕНИ 2. Вот это и есть НАЧАЛО полноценного функционирования системы. Именно с этой временой отметки!
Опять я нафлудил на 5 рублей вместо 5 копеек обещанных, неисправим, блин! нУ ЛАДУШКИ, МОЖЕТ вЫ ВСЕ ЭТО БОГАйСТВО БЫСТРЕЕ НАШЕГО ВОПЛОТИТЕ... Берите, прочувствуйте, используйте!