FAQ about MenuetOS (Вилле Турьянмаа)

Ответы из MenuetOS FAQ (2001/2002 год), форумов, IRC

Автор: Сергей Кузьмин
http://coolthemes.narod.ru 30 июня 2005

* - мои комментарии
При копировании ссылка на сайт
http://coolthemes.narod.ru обязательна!

Почему не Си?

Если ты ищешь операционную систему на Си, то можешь рассмотреть Linux как кандидата. С моей точки зрения, больше нет смысла писать "еще одну ОС на Cи". Это уже сделано. (*намёк на концептульный характер MenuetOS)

Почему асм?

Если есть способ сделать вещи лучше, то он обычно используется. Не существует языка, который был бы быстрее, чем асм. Асм - это истинный язык твоего ПК.

Портируемость?

Если ты критикуешь разработчиков о "непортируемом ассемблере", то можешь также обругать(*в оригинале kiss goodbye, но смысл тот же) AMD и Transmeta.

Почему GPL?

Есть множество программистов во всем мире, которые знают ассемблер (*отдельные моменты низкоуровневого программирования типа работы с конкретными устройствами, протоколами лучше, чем Я - моя добавка по смыслу) и могут помочь дальнейшему развитию. Например, GUI может быть оптимизировано и из-за этого стать немного быстрее.

Где я могу найти исходники ядра?

Практически все исходники на дискете с системой (*устарело, так же как и продолжение ответа на этот вопрос (выброшено)).

Как я могу помочь?

Просто измени код и пошли его одному из авторов. Пожалуйста, используй "оригинальный_для_этой_программы" компилятор. Если ты делаешь некоторые серьёзные изменения, то сначала обсуди их с автором, чтобы люди не писали одно и тоже несколько раз.

16-битный асм vs 32-битный асм

К сожалению, x86 16-битный асм получил дурную славу для при попытках решать любые практические задачи на ассемблере. 32-битный асм - это чистая математика и логика. Задачи могут решаться легко. 32-битный асм в общем-то практически так же прост, как Си или Паскаль. А недостатки ассемблера компенсируются большой скоростью (*программ).

Большие структуры с ассемблером?

Есть убеждение, что большие структуры нельзя написать на ассемблере. Тысячи строк (*ядра) Menuet доказывают обратное. Преимущество программирования на асме - если сделал ошибку, то узнаешь об этом немедленно. Ты не получишь предупреждений, программа просто не будет работать.

Какой тип ядра у Menuet?

Проект использует ядро рельного времени с вытесняющей многозадачностью, которое в основном монолитное, но некоторые операции выполняются как в микроядрах.

Будущее Menuet?

Мы разрабатываем Menuet всего два года, поэтому всё еще рано говорить о его будущем. Целью было получить работающий код, а теперь мы можем начать его оптимизировать. Menuet также может поддерживать какие-то стандарты, может unix или ...

Будущая соместимость программ?

С версии 0.38 программ будут совместимы со следующими версиями Menuet (*устарело - новая точка отсчета 0.62, хотя некоторые старые программы вроде бы могут работать). Поэтому тебе не надо будет переписывать программы для каждого выпуска ОС.

Какое-то (xyz) устройство не работает

Для мыши есть клавиатурная комбинация ALT+стрелки+пробел. У меня всего один компьютер и на нём всё работает. Ты можешь написать свой драйвер/патч и/или послать мне информацию.

Что будет сделано дальше?

Мы планируем лучшую поддержку устройств хранения (дискет, винчестеров) и оптимизацию GUI.

Почему была удалена поддержка int 0x80?

Эмулятор Linux не был особо популярным.

Как насчет dll?

Есть простая причина, по которой я держусь подальше от DLL. Это зависимости. Linux - это пример того, к чему могут привести загружаемые модули. И 90-Килобайтное ядро не так и уж велико. Что я рекомендую делать - это писать библиотеки в виде .INC - файлов, которые могут быть использованы в любой программе.



Hosted by uCoz