Больше чем просто ОС, MxOS!

Дата: 07/03/05; 


Последние годы любительская разработка ос полностью на ассемблере, получает всё большую популярность. Некоторые это связывают с методом современного обучения ассемблеру - многие в процессе ознакомления с архитектурой компьютера, начинают её освоение именно с попытки написать свою систему. А иные просто стремятся получить максимально производительную систему при минимальных накладных расходах. Сегодняшний наш такой "иной" гость - Kreoton, не отказавшийся дать нам интервью о своей молодой, но уже окрепшой RTOS. При минимальных требованиях (i386, 4мб ОЗУ) система является достаточно современно устроенной и готовой для разработки программ, решающих повседневные задачи обычных пользователей. Подробно лучше узнать от самого автора...

Что побудило вас к разработке ОС?
  Я всегда думал, что для компьютеров на базе PC нет хорошей ОС, Win 9x/2k/XP - такое впечатление, что все они написаны на скорую руку. Linux тоже не подарок - ядро монолитное, громозкое... И я сказал себе: "Если хочешь что-то сделать хорошо, сделай это сам!"

Почему за основной инструмент был выбран FASM?
  Сначала я хотел написать ОС на своем языке похожим на С++, чтобы добиться портабильной системы. Но с толкнулся с вопросом куда мне её портировать? На микроконтроллеры? Там всё совсем по-другому, легче окажется переписать систему с нуля, специально для них. FASM же я выбрал потому-что: во-первых это хороший инструмент для создания ОС, во-вторых FASM будет легко портировать под Miraculix.

Можете подробно рассказать про историю развития Miraculix?
  Это неплохой вопрос, так как на данный момент это уже третья версия Miraculix. Первую версию я написал на своём языке. Она работала в unreal mode, предостовляла консоль и имела собственную файловая система, благодаря которой можно было создавать файлы с длинными именами, хранить большой файл на нескольких дисках. Кстати эту файловую систему я разработал так, чтобы её можно было держать на совершенно разных носителях памяти (floppy disk, hard disk, RAM, flash, CD-R(W) и другие...), главное иметь драйвер носителя и прослойку, между драйвером и FS. Моя FS снова вернётся в будущие версии Miraculix. Вторая версия Miraculix уже была полностью 32-битной ОС, файловая система FAT, частично встроенный GUI (основная часть GUI была в ядре, в том числе и драйвера, остальная распределена по модулям), все модули выполнялись в кольце 0. Я планировал сделать поддержку программ MenuetOS. Обдумывая каким будет ядро решил, пусть будет монолитное без страничной модели памяти - это проще всего, ведь всё гениальное просто =) Позже я оценил все плюсы страничной модели памяти и возможности микроядра и переформулировал моё высказывание: всё гениальное просто, но не примитивно... Пришлось написать третью версию микроядерной Miraculix со страничной моделью памяти. Хочу заметить, что между ядрами второй и третей версии какая либо связь отсутвует, я переписывал ядро с нуля и две последние версии объединяет только загрузчик - файл AXE.COM

Любопытно узнать и об происхождении названия системы.
  Miraculix от английского Miracle, что в переводе означает - чудо. Это связано с далёкими планами...

Что уже реализовано?
  Miraculix уже реально рабочая ОС, для нее можно писать программы, драйвера, модули, расширять её. Но пока её нельзя назвать независимой, т.е. в ней нельзя писать программы, редактировать тексты, слушать MP3/WAV, лазить в Интернете, смотреть фильмы. Однако список реализованного не такой уж и пустой: загрузчик ядра с дискеты (FAT12), микроядро с сокращенным набором функций (функции работы с памятью и управление процессами, всё остальное в модулях и драйверах, которые выполняются в 3-ем кольце), драйвера и модули: TRAP (обрабатывает исключения, blue screen of dead), TASKMAN (диспечер задач, вызов - Ctrl-Alt+Del или кнопка Win), SCHED (планировщик), драйвер клавиатуры, драйвер консоли, модуль VFS (прослойка между драйверами файловых систем и приложением), драйвер файловой системы FAT12, драйвер FDC, ATA/ATAPI, драйвера шин: PCI, SMBus, драйвер ACPI, Sensor. В консоли уже можно работать так как она содержит базовый список команд для нормальной работы и для удобства консоль мало чем отличается от консоли в DOS, даже реализована поддержка русского языка. Сегодня в Miraculix можно слушать Audio CD, копировать дискеты, просматривать сектора дискеты и жесткого диска, и пользоваться кнопкой power button.

Что можите рассказать о ближайших планах?
  Планирую выпустить GUI-версию, после того, как появится GUI начну писать основные программы, утилиты (такие, как: notepad, hiew, format, fdisk), портирую FASM, напишу драйвер FAT32 и тогда Miraculix можно будет назвать независимой ОС. Если в Miraculix можно будет прослушивать MP3/WAV/WMA, редактировать/печатать DOC-файлы, то винду я бы загружал только ради нета =)

Кто задействован в проекте?
  С самого начала и до сих пор систему разрабатывал и писал я один, последнее время, я начал чувствовать всю тяжесть Miraculix, это десятки тысяч строк ассемблерного кода (как хорошо, что у меня микроядро! как бы пришлось помучиться с монолитным...). Скорее всего, в будущем я не смогу уделять столько же времени моей ОС. Стали больше напрягать в университете и ещё устроился работать по выходным. Естественно, буду всегда рад пополнению команды! Связаться можно по следующем координатам: mail - kreoton@yandex.ru, ICQ - 331001862, форум - http://mxos.fastbb.ru.

Ну чтож, пожелаем удачи. Хотя как видно она либо уже с ним, либо он в ней вовсе не нуждается!