|
FAQ about MenuetOS (Вилле Турьянмаа)Ответы из MenuetOS FAQ (2001/2002 год), форумов, IRC Автор: Сергей Кузьмин * - мои комментарии |
Почему не Си? Если ты ищешь операционную систему на Си, то можешь рассмотреть 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 - файлов, которые могут быть использованы в любой программе. |