Proolix news

В воскресенье, 8 февраля, возился с проектом Proolix-l.
Proolix-l - это перенос OS Proolix (http://prool.kharkov.org/proolix) на
платформу Linux (отсюда и буква L в названии).
Предыдущий Пруликс (я его теперь называю Proolix-d) компилировался и
собирался на платформе MSDOS/MSWindows под компилятором Turbo C
2.0/2.01. По сути он себя изжил, во-первых, из-за его непонятного legal
статуса (даже если я куплю MSDOS или найду FreeDOS и free Turbo C), а
во-вторых из-за неудобств, заложенных в саму идеологию MSDOS как
платформы (тут и имена файлов 8+3 и ограничения в длине
командной строки, и ограничения команды make и т.п.)
В общем, я решил переходить на платформу Linux/UNIX/gcc, которой
пользуется все прогрессивное человечество (сообщество open software).
Конечное состояние проекта Proolix-d (хреновое) я зафиксировал при
помощи CVS и иногда вношу мелкие никому нафиг не нужные правки и багфиксы.
Proolix-l пока только начинается. Вначале я хотел делать Пруликс в
качестве надстройки над микроядром L4 (L4ka), но чесно говоря пока не
разобрался в коде этого микроядра из-за собстенной тупизны, незнания
современного стиля программирования, английского и лени. Поэтому я пока
делаю более простую задачу: пишу Proolix-l как Proolix-d, с нуля (но
базируясь на исходниках бут-менеджера GRUB (Grand Unified
Bootloader)). Пока я перековырял бут-сектор GRUB.
Загрузка в GRUB происходит как положение бегемота в холодильник, в три
приема. Впрочем, я думаю, примерно так загружаются почти все ОС. Вначале
загружается бут-сектор, его длина весьма ограничена и все, что он может
сделать, это загрузить "вторичный загрузчик" из IO.SYS (как в MSDOS),
бут-менеджер (как в Пруликсе) или второй сектор в GRUB и передать ему
управление. А второй сектор (в GRUB он называется stage1_5) в свою
очередь грузит ядро GRUB. Вот примерно так и будет
работать Proolix-l: бут-сектор (stage1.S), написанный на ассемлере,
грузит stage1_5. stage1_5 (тоже написанный на ассемблере) будет грузить
kernel, написанный на С (еще не написанный на С).