c o p y r i g h t p r o g r a m m i n g d e s i g n e d by ZORBI
Т р о и ц к г
С с ы л к и
С ч е т ч и к и
..:: Статьи ::..
MenuetOS
Размер операционки имеет значение
Когда речь идет об альтернативных операционных системах, задумайся: альтернативных чему? Само собой напрашивается ответ - альтернативных Microsoft Windows. Недостатка в них нет. Большинство конкурентов Windows являются потомками или клонами Unix.
[уникальность MenuetOS]
Может сложиться впечатление, что разнообразие альтернативных операционных систем ограничивается бесчисленными дистрибутивами Linux, множеством коммерческих версий UNIX и несколькими ветками BSD. Даже операционная система Макинтошей, MacOS X, которая недавно была портирована на платформу x86 и совсем скоро грозится стать главным конкурентом Windows, основана на модифицированном ядре FreeBSD. А где же действительно оригинальные операционные системы, которые не являются ничьими клонами или потомками? Одной из таких операционных систем является MenuetOS. Она представляет собой написанную с нуля 32-битную многозадачную операционную систему, распространяемую по свободной лицензии GNU GPL. Сразу же бросается в глаза ее коренное отличие от других альтернативных операционных систем: в отличие от большинства современных систем, написанных на языках высокого уровня, MenuetOS написана целиком на 32-битном ассемблере! Следствием этого является ее чрезвычайно малый размер (вся MenuetOS занимает в несжатом виде всего лишь объем одной дискеты) и быстродействие. Создателем операционной системы является Вилле Турьянама, соотечественник Линуса Торвальдса.
[установка]
Установка MenuetOS чрезвычайно проста. Она намного проще, чем у других операционных систем. Поскольку операционная система занимает мало места и целиком умещается на дискете, то нет никакой необходимости устанавливать ее на жесткий диск. Поэтому MenuetOS запускается прямо с флоппика. Для начала тебе нужно будет скачать дистрибутив с официального сайта menuetos.org. Последней стабильной версией MenuetOS на момент написания статьи была версия 0.78. Нужно будет выбирать среди нескольких видов дистрибутивов. Есть обычный образ дискеты, представляющий собой файл с расширением .img, который можно записать на дискету с помощью специальной программы для записи образов. Более удобным дистрибутивом для пользователей Windows будет архив с исполняемым файлом внутри. Нужно будет лишь запустить его, а программа сама запишет на вставленную дискету образ, и дополнительный софт для этой операции не понадобится. MenuetOS использует файловую систему FAT, поэтому содержимое записанной дискеты можно будет просмотреть из твоей основной операционной системы. MenuetOS также поддерживает FAT32, поэтому, находясь в ней, ты сможешь получить доступ к разделам твоего жесткого диска (если, конечно, такие разделы у тебя есть. Лично я уже давно использую только NTFS). Итак, ты скачал с сайта тот или иной дистрибутив и успешно записал образ на дискету. Что дальше? Теперь необходимо перезагрузить компьютер, и настроить в BIOS'е загрузку с гибкого диска. В бивисе можно выставлять последовательность, в которой компьютер при загрузке ищет загрузочные диски. Если первым в списке стоит жесткий диск и на нем установлена операционная система, то именно она и грузится. Тебе надо загрузить MenuetOS, которая находится на дискете, поэтому дискету в BIOS'е надо выставить перед жестким диском. Теперь компьютер при включении будет смотреть сначала на дискету, и если она вставлена, то произойдет загрузка с нее операционной системы.После настройки биоса убедись, что дискета на месте, и перезагружай компьютер. Начнется загрузка MenuetOS. В начале появится окно настройки перед стартом. MenuetOS пока не умеет автоматически определять параметры установленного оборудования, поэтому она задает пользователю несколько вопросов, прежде чем начать работу. Для начала в появившемся синем диалоговом окне следует указать видеорежим, который будет использоваться, и разрешение экрана. Для большинства конфигураций будет приемлемым выбор режима Vesa 2.0+, и предпочтительного в повседневной работе экранного разрешения, которое у всех разное. Если ты запускаешь MenuetOS на старом компьютере, то, возможно, потребуется выбрать другой режим: Vesa 1.0 или даже EGA/CGA. Если выбран режим Vesa 2.0, то дальше появится вопрос, следует ли использовать графическую акселерацию MTRR. Следует ответить «да», чтобы включилось аппаратное ускорение вывода графических изображений. Следующий вопрос касается нахождения мыши. Мышь может быть подключена к порту PS/2, USB, или к одному из COM-портов, и MenuetOS попросит указать, где именно она находится. Затем последует вопрос о том, откуда операционная система должна загрузить виртуальный диск. Выбирай пункт по умолчанию - загрузку с флоппи-диска.
Это последний вопрос настройщика, после ответа на него начинается непосредственно загрузка операционной системы. Следует немного подождать, затем появится сообщение о том, что загрузка завершена, и нужно нажать клавишу Escape для начала работы. Теперь загруженная MenuetOS готова к работе.
[интерфейс и приложения]
Итак, как же выглядит интерфейс MenuetOS? Могу сказать, что он вполне соответствует моим представлениям о том, как должен выглядеть графический интерфейс современной операционной системы. Так как GUI встроен непосредственно в ядро, он работает очень быстро. Сверху находится панель задач с часами и большой кнопкой с надписью «MenuetOS». Нажатие этой кнопки, как следует догадаться, приводит к появлению системного меню, из которого можно получить доступ ко всем настройкам и приложениям. На рабочем столе с фоновой картинкой находятся значки для запуска некоторых программ. Окна имеют заголовки привычного вида с крестиком для закрытия в правом углу. Словом, ничего кардинально отличающегося от привычного интерфейса нет. Фоном рабочего стола может быть любая картинка в формате bmp или jpeg. Расположение значков на рабочем столе тоже регулируется. Можно добавлять на рабочий стол дополнительные элементы, но не так как это делается в Windows (выбор пункта меню «создать ярлык»), а через специальное приложение, которое так и называется «Desktop», в котором можно задать позицию, иконку и имя запускаемой программы. Красивый и быстрый интерфейс - это, конечно, хорошо, но операционная система должна уметь делать что-то еще, кроме показывания значков на рабочем столе. Ценность операционной системы определяется набором приложений, которые под ней запускаются. Посмотрим, как с этим обстоит дело в MenuetOS. В стандартной поставке MenuetOS вместе с системой идет довольно большое количество программ. Раскрой главное меню, и ты увидишь там восемь подменю, каждое из которых содержит несколько приложений той или иной категории. Названия подменю ясно дают понять, что возможностей у системы достаточно - Coding, Internet, Audio, Graphics. На что в первую очередь надо обратить внимание? Подобно тому, как Linux немыслима без компилятора Си, MenuetOS немыслима без ассемблера. Вместе с системой в комплекте идет FASM, с помощью которого можно собирать программы для MenuetOS. Чтобы вести разработку программ, необходим хотя бы элементарный текстовый редактор, чтобы было, в чем набирать текст исходников. И такой редактор в MenuetOS, разумеется, есть. Называется он TinyPad, и кое в чем он даже покруче, чем Notepad в Windows - он умеет подсвечивать синтаксис исходников на ассемблере. Кроме того, меня немало удивила поддержка русского языка - набирать текст на русском можно без дополнительных ухищрений, достаточно лишь переключиться на него в программе настройки системы (Значок Setup на рабочем столе, пункт keyboard layout). Кроме русского и английского система поддерживает также финский (родной язык создателя), немецкий и французский. Кроме средств разработки MenuetOS содержит некоторое количество обычных прикладных приложений: программы для просмотра графических форматов bmp и jpeg, простой графический редактор XPaint, редактор иконок, калькулятор, и файловый менеджер. Отдельно стоит отметить программы, собранные в меню «Demos». В нем расположены софтины, демонстрирующие какие-либо возможности MenuetOS, в основном, ее графического движка. Там есть, например, программа «ScreenSaver», которая демонстрирует в полноэкранном режиме красивые трехмерные вращающиеся фигуры. Есть программы, призванные показать, что в MenuetOS можно создавать окна неправильной формы (например, круглые), а также окна с полупрозрачностью.
В MenuetOS присутствует сетевая часть, основанная на протоколе TCP/IP. Это означает, что из MenuetOS можно выходить в сеть интернет. Правда, для MenuetOS пока нет портированного браузера Firefox, но кто знает, как оно обернется в дальнейшем :). Зато есть некоторое количество своих собственных сетевых утилит, среди которых клиенты telnet, irc, nntp, ftp, браузер, и программы для работы с почтовыми протоколами pop3 и smtp. Присутствует даже клиент для игры в шахматы по интернету. Кроме клиентов есть еще и серверы http, ftp и email. Разумеется, функциональность всех этих приложений гораздо меньше, чем у их аналогов из других операционных систем, но это ничего не значит. Сетевые приложения в MenuetOS призваны показать, что разработка таковых под эту операционную систему вообще возможна, и имеет смысл. В будущем, я думаю, стоит ждать от них улучшения функциональности, а пока они выполняют свою функцию как демонстрационные программы. С помощью встроенной поддержки TCP/IP можно подключиться к локальной сети, а так же можно попробовать выйти в интернет. О том, как настроить сетевую часть MenuetOS, подробно написано в документе, который открывается при нажатии пункта меню Internet -> Tools -> Information. Чтобы получить доступ к глобальной сети, необходим внешний хардварный модем. Если у тебя стоит внутренний софтовый модем, то про интернет в MenuetOS ты можешь забыть - чтобы модем заработал, необходимы драйвера. Разработчики обычно выпускают их только для Windows, а про остальные платформы (даже довольно популярные) забывают. И уж если даже под Linux бывает проблемой найти нужный драйвер, то что уж говорить про MenuetOS. Для того чтобы использовать соединение с провайдером через модем, надо будет предварительно настроить программу PPP. Делается это довольно необычным образом - путем изменения параметров (номера телефона, имени пользователя и пароля) прямо в исходном тексте программы, и последующей ее пересборкой с помощью FASM. Это может вызвать удивление: к чему такие трудности? На самом деле, все довольно просто, и такой способ изменения настроек наглядно демонстрирует на практике возможность разрабатывать и изменять существующее программное обеспечение непосредственно из MenuetOS. Все, что касается предварительной настройки и использования PPP, подробно расписано в файле ppp.txt. Настройка соединения с локальной сетью с помощью программы stackcfg описана в файле stack.txt. Кроме того, в этом довольно объемном документе подробно описываются все возможности и ограничения стека TCP/IP в MenuetOS.
Пора узнать, как в MenuetOS обстоит дело с играми. С этим у MenuetOS все в порядке. Есть пасьянс FreeCell (аналог которого в Windows называется «Солитер»), есть Тетрис, есть даже трехмерная игра с коридорами в стиле Doom, правда без монстров и с весьма своеобразным управлением мышью. Существует проект портирования Quake в MenuetOS. Будет очень любопытно взглянуть, если это удастся сделать.
[итоги]
Среди недостатков MenuetOS можно отметить некоторую примитивность поставляемого с ней софта. Интерфейс многих приложений нельзя назвать образцом красоты и удобства. Функциональность большинства ограничена лишь самыми минимальными возможностями. Но никто не мешает написать свои программы под MenuetOS, изучив ассемблер, API и формат исполняемых файлов. К сожалению, MenuetOS не умеет автоматически определять параметры подключенного оборудования. Поэтому его приходится настраивать вручную. Неподготовленному пользователю наверняка будет довольно трудно сообразить, какие значения требуется установить в программе Setup для правильной работы с железом.
Несмотря на все недостатки, MenuetOS оставляет благоприятное впечатление. В отличие от многих своих собратьев среди новых альтернативных операционных систем, она не падает от каждого чиха. Видно, что при написании кода разработчик уделял внимание стабильности. За все время моей работы с MenuetOS она ни разу не зависла. Можно открыть множество приложений одновременно, и никаких глюков или проблем с быстродействием не возникает. Я думаю, постепенно, в процессе разработки, эта операционная система обрастет и множеством качественного софта, и драйверами для распространенных устройств, и, разумеется, множеством пользователей, одним из которых можешь стать и ты!
[загрузка с жесткого диска]
Постоянно запускать MenuetOS с дискеты может надоесть, и возникнет потребность запускать ее с жесткого диска. Этого можно добиться, используя специальные загрузчики.
Для запуска MenuetOS совместно с MSDOS или Windows 9x существует программа MeOSLoad. Для работы загрузчика необходимо, чтобы твой компьютер удовлетворял некоторым условиям. Раздел, на котором расположен загрузчик, должен иметь файловую систему FAT32. Жесткий диск, на котором расположен этот раздел, должен быть подключен к первому контроллеру IDE и быть ведущим устройством (Master).
В установке загрузчика ничего сложного нет - просто помести файл загрузчика meosload.com в корневой каталог диска C. Туда же следует поместить инсталляционный файл msetup.exe. После этого файл meosload.com надо просто запустить. Из MSDOS это можно делать сразу, а вот если ты находишься в Windows 9x, то предварительно надо перезагрузить компьютер в режиме Command prompt only. Чтобы не запускать файл meosload.com каждый раз вручную, ты можешь настроить загрузочное меню путем редактирования файлов autoexec.bat и config.sys. MeOSLoad может не поддерживать некоторые версии MenuetOS. Список версий, которые успешно прошли испытания, читай в справочном файле, который лежит в архиве с загрузчиком.
Для использования MenuetOS вместе с Windows NT/XP/2000 необходим другой загрузчик. Для его использования надо будет скопировать два файла в корневой каталог диска C и изменить файл boot.ini. После этого загрузчик NTLOADER сам научится запускать MenuetOS. Оба загрузчика, а также примеры конфигурационных файлов для Windows 9x, лежат на нашем диске.