SL/ru

From KolibriOS wiki
Jump to navigation Jump to search

Secondary Loader - Вторичный загрузчик

Начало разработки - 13 февраля 2008 года. Сейчас имеет версию 0.10.

Авторы

  • Теплов Алексей nickname <Lrz>
  • Гречников Евгений nickname diamond

Описание

SL(Secondary Loader), это программный продукт, предназначенный для загрузки ОС (Операционной Системы). SL - это загрузчик второго уровня, представляет собой промежуточный код, который позволяет запускать и конфигурировать загрузку ОС на этапе запуска. Для разрабатываемого микроядра, как впрочем и для самой ОС Колибри, данный код позволит более гибко настраивать среду, как для организации различных сервисов, так и использовать для встраиваемых решений.

Основная цель разработки SL, является создание универсального загрузчика ОС для платформы х86. При создании кода основными критериями были выбраны:

  • Универсальность
  • Возможность использования загрузчика при организации загрузки различных ОС на платформе х86.
  • Гибкость и функциональная расширяемость за счет модулей.

Областью применения для данного загрузчика является загрузка OS на базе ядра Kx64, как и любой другой ОС на платформе х86 или х86-64. Основная задача загрузчика это загрузка ОС, и настройка ее окружения. Под этим понимается загрузка драйверов, утилит и конфигурирование в зависимости от последовательности в указанном ini файле. Вторичный загрузчик не использует простые методы решения проблем, скорее тут соблюдена концепция эффективного подхода к разработке продукта, сочетается эффективность логического подхода с эффективностью реализации кода на аппаратном уровне. Применен принцип разделения, т.е. вся задача выстраивается в общий легко понимаемый алгоритм, который состоит из основных блоков. Каждый блок разбивается на функции и процедуры, специфичные для различных целей, в зависимости от внутренней логической работы, в свою очередь, и те программые единицы могут быть разбиты до составляющих, которые просто решаемы с применением команд х86 процессора. В качестве отладки и контроля корретности процедур используется вывод отладочной информации на дисплей, или СОМ порт.

Системные требования

Разработка SL ведется только под платформу x86 (х86-64), SL платформенно зависим, т.к. в своей работе использует сервис BIOS и другие особенности платформы х86 (x86-64):

  • Процессор i586 или выше.
  • Поддержка 0x87 функции 0x15 прерывания (перемещение блока до 64 кб за 1 мб).
  • Поддержка 0х88 функции 0х15 прерывания.
  • Поддержка 0х3 функции 0х10 прерывания.
  • Поддержка 0х0 функции 0х16 прерывания.
  • Первичный загрузчик с поддержкой callback сервиса.

Модули вторичного загрузчика:

  • Размер вторичного загрузчика не превышает 64 кб.
  • Размер startos.ini файла конфигурации не превышает 64 кб.