Колибри операционная система


Операционная система Kolibri: легкая как перышко

В отличие от Windows, операционная система Linux представлена куда большим числом версий и модификаций. Несмотря на существующие между ними очевидные различия, все они произошли от одной единственной операционной системы Unix, разработанной ещё в далёком 1969 году. Но есть среди них и такие, которые вполне можно принять за полностью самостоятельные проекты. Как раз одной из таких систем является KolibriOS, разработанная программистами-энтузиастами стран СНГ.

История рождения KolibriOS

Во второй половине 90-х годов некий финский студент по имение Вилле Турьянмаа занимался разработкой графической оболочки для DOS. Называлась она MultiRun Program for IBM-PC. При этом он так увлёкся, что и не заметил, как его программа сама мало по малу начала превращаться в самостоятельную операционную систему, способную запускаться с дискеты, что и не удивительно, ведь использование DOS как основы в то время уже не требовалось.

Получившая название MrOS новая операционная система была написана на Pascal и включала в себя набор из трёх десятков относительно простых программ. В общем, не будь в обиду сказано, была она довольно примитивной 16-битной ОС, а тут ещё как назло всё большее признание стали получать ещё новые в то время скриптовые языки, а также Java и XML. К тому же, разработчика смущало слишком медленное выполнение написанных на интерпретируемых языках программ.

И Вилле Турьянмаа принял решение создать самое быстрое в мире ядро, а заодно устранить все прослойки между «железом» и программным обеспечением. Для этого ему пришлось отказаться от использования популярных в то время языков программирования и обратиться к единственно подходящему для осуществления этой цели ассемблеру. Написанная на низкоуровневом языке программирования операционная система под названием MenuetOS практически сразу привлекла внимание независимых разработчиков, благодаря чему число её приверженцев стало быстро расти, а сама система начала быстро набирать популярность.

В 2004 году один из программистов сообщества, некто Иван Поддубный, до этого занимавшийся разработкой усовершенствованных русских редакций MenuetOS представил облегченное ядро системы, которое, несмотря на уменьшенный вес, обладало большей функциональностью. Это ядро и легло в основу дистрибутивов Kolibri 3 и Kolibri 3 SE. В то время Kolibri развивалась параллельно с MenuetOS, хотя и не считалась самостоятельным продуктом.

Надо сказать, появление Kolibri весьма раздражало Вилле Турьянмаа, для которого его детище оставалось главнейшим приоритетом. И он стал требовать, чтобы сообщество, уже порядком заинтересовавшееся новым проектом, отказалось от его продвижения и продолжало направлять свои силы в правильное, как это представлялось самому Вилле, русло. Так и случилось, что в команде Турьянмаа произошёл раскол.

Катализатором разрыва послужил переход главной ветки проекта MenuetOS на 64-битную разрядность с одновременным закрытием исходных кодов, что не могло не вызвать недовольства многих разработчиков, в отличие от Турьянмаа не обладавших 64-битными компьютерами. В результате оных событий часть программистов отказались от работы над MenuetOS и переключились на Kolibri.

KolibriOS сегодня

Работа над KolibriOS продолжается и по сей день. Участие в развитие проекта принимают около 30 человек из Европы и стран бывшего СНГ. На сегодняшний день Kolibri является самой маленькой и лёгкой операционной системой в мире. Вес установочного образа в формате ISO с системой, драйверами, играми и программами составляет каких-то 38,3 мегабайт, а минимальный объём требуемой для её запуска оперативной памяти — всего 8 Мб.

Работает система на архитектуре 86x, но также поддерживает и 64-разрядные процессоры. Основные файловые системы — FAT16 и FAT32, имеется ограниченная (только для чтения) поддержка NTFS, ISO 9660 и Ext2/3/4. Есть поддержка USB, многозадачности, TCP/IP-стека и некоторых сетевых карт.

Поставляется система с набором предустановленных программ, среди которых имеются простейший браузер, текстовый и графический редакторы, просмотрщик изображений, медиаплеер с поддержкой некоторых форматов аудио и видео, файловый менеджер, разные системные утилиты, а также специальные приложения-эмуляторы, благодаря которым на KolibriOS можно запускать приложения и игры, написанные для других систем. Более подробно ознакомиться с особенностями и техническими характеристиками этой операционной системы можно на официальном сайте.

Установка и запуск KolibriOS

Как в таковой в установке KolibriOS не нуждается и может запускаться точно так же, как и любой «живой» диск. Также систему можно запускать непосредственно с жёсткого диска компьютера с установленной Windows, а также на виртуальной машине VM VirtualBox или VMware Workstation. Правда, в последнем случае некоторые возможности KolibriOS могут быть недоступны по причине отсутствия поддержки ею расширений гостевых операционных систем.

Установка на VirtualBox

Процедура установки на VirtualBox элементарна. Тип операционной системы в окне мастера виртуальной машины можно установить Other и Other/Unknown.

Объём оперативной памяти выделить 64 Мб (хотя хватило бы и 8 Мб).

Тип носителя и размер виртуального диска оставить по умолчанию.

Если вместо образа ISO вы используете IMG, перед запуском машины придётся выполнить кое-какие настройки. В главном окне VirtualBox выберите «Настроить», перейдите в раздел «Носители», нажмите кнопку добавления контроллера и добавьте новый контролер типа Floppy.

Далее выделяем «Контроллер: Floppy», жмём по плюсику в правой части строки.

И через стандартный обзор добавляем файл IMG.

Запуск с жесткого диска из под Windows

На сайте разработчика, а также посвященных KolibriOS форумах можно найти описания разных способом запуска системы с жёсткого диска, но мы рассмотрим только один из них. Работает он на Windows Vista, 7 и 8,1.

1. Скачайте архив с файлами операционной системы, распакуйте его и скопируйте или переместите папку kolibri на диск C

2. Зайдите в неё, найдите файл kolibri.img и скопируйте его в корень диска C

3. Перейдите по адресу C:/kolibri/HD_Load/mtldr и скопируйте файл загрузчика mtldr в корень диска C

4. От имени администратора запустите файл vista_install.bat из папки с загрузчиком mtldr

Теперь, если вы перезагрузите компьютер, то попадете в меню выбора загрузки операционной системы.

Чтобы удалить загрузчик, запустите файл vista_remove.bat.

Примечание: описанный способ не проходил тестирование на компьютерах с UEFI, поэтому вполне возможно, что на ПК с этим интерфейсом он работать не будет.

Практическое значение KolibriOS

По вполне понятным причинам большого практического значения KolibriOS иметь не может, так как не поддерживает работу с программным обеспечением Windows, а её собственные приложения недостаточно функциональны. В первую очередь KolibriOS можно порекомендовать программистам, желающим попробовать свои силы в изучении ассемблера.

Также эту операционную систему можно использовать как «спасательный диск» для обеспечения полного доступа к файловой системе Windows. В более широком контексте KolibriOS можно рассматривать как инструмент развлечения, благодаря входящим в её состав эмуляторам, например того же DosBox, позволяющего запускать приложения и игры, написанные для MSDOS.

www.white-windows.ru

Разработчики "Колибри" об ОС на ассемблере

АрхивИнтерактив

автор: Андрей Письменный   16.11.2011

KolibriOS умещается на дискету и загружается за несколько секунд. Для неё есть около 200 приложений, и разработчики видят несколько удачных применений своей системе.

Мысль написать операционную систему целиком на ассемблере странна, но привлекательна. Её главные плюсы - исключительная производительность и малый объём исполняемого кода. Минусы тоже очевидны - сложность и жёсткая привязка к архитектуре компьютера. Тем не менее смельчаки всё же находятся.

Самый известный проект такого рода - это MenuetOS и её ответвление KolibriOS, разрабатываемое по большей части в России. История этих операционных систем не лишена интриг и разногласий, и на то есть причины: во-первых, проект свободный (лицензия - GNU GPL второй версии), то есть его участники трудятся не за прибыль, а за идею. Во-вторых, такие решения, как выбор процессорной архитектуры, в силу особенностей проекта имеют драматический характер. Группа разработчиков, решившая сменить платформу, обречена на практически полную переработку исходного кода.

По сравнению с другими операционными системами MenuetOS совсем молода. Она разрабатывается с 2000 года и успела стать известной в программистских кругах (читайте, к примеру, статью "Мал золотник, да дорог", написанную Яковом Уваровым для "Компьютерры" в 2005 году). KolibriOS ещё моложе - она отпочковалась от Menuet в 2004 году.

За это время разработчики успели написать около 7,5 Мбайт кода на чистом ассемблере. Примерно такой же размер имеют исходники Linux, написанные преимущественно на Си, и это только ядро, тогда как в дистрибутив KolibriOS входит графическая оболочка и небольшой набор прикладных программ (смеха ради отметим, что, по оценкам, основанным на знаменитой "утечке" 2004 года, код Microsoft Windows 2000 занимал около 1,5 Гбайт).

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

"Компьютерра" побеседовала с двумя разработчиками KolibriOS - Дмитрием Переверзевым и Игорем Солодухой.

- Что такое KolibriOS?

Переверзев: "Колибри" - это маленькая операционная система с богатыми возможностями. Можно сказать, это такой современный DOS.

- Как я понял, не просто маленькая, а вообще крошечная?

Переверзев: Ядро занимает около 80 Кб. То есть сопоставимо с размером MS-DOS последних версий. А возможностей гораздо больше.

- Какова история "Колибри"?

Переверзев: В 2001 году финский студент Вилле Турьянмаа написал свою операционную систему на ассемблере. В 2004 году он решил, что тридцатидвухбитные компьютеры погибли, и перешёл на разработку MenuetOS 64 шестидесятичетырёхразрядной версии своей операционной системы. Сообществу это не понравилось, и оно продолжило разработку тридцатидвухбитной версии своими силами. И когда более половины кода было изменено, проект получил название "Колибри" в честь одной из русских сборок систем.

- И кто этим занимался? Вы тогда уже тогда участвовали?

Переверзев: Я пришёл в проект позже где-то на год. Тогда этим занимался Марат Закиянов. Собирал дистрибутивы системы.

- Сейчас он тоже в команде?

Переверзев: Да, сейчас он в команде, разрабатывает ядро, файловый менеджер (свой клон Total Commander), файловые диалоги и просмотрщик графики - замечательный zSea.

- Каков сейчас статус разработки?

Переверзев: Cейчас мы ожидаем выхода новой версии, но с номером ещё не определились. Прошлая была 0.7.7.0, а эта будет не то 0.8, не то 0.9. Считается, что по сравнению с прошлой версией изменений очень много. Например, появится поддержка устройств USB. Около года прошло со времени последнего релиза.

- Какая вообще у вас команда? Сколько человек активно помогают?

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

- А география какая? Разработчики в основном из России?

Переверзев: В основном СНГ, хотя есть и из Бельгии разработчики, русскоязычные из Англии. Я сам из Ставропольского края.

- Какие у "Колибри" особенности по сравнению с другими системами, в том числе по сравнению с другими минималистичными системами?

Переверзев: По сравнению с другими минималистичными системами "Колибри" самая минималистичная! К тому же из систем той же весовой категории "Колибри" самая функциональная. Например, есть неплохая система, Visopsys, она тоже компактная и умещается на дискету, но ничего не умеет.

- Какие главные отличия "Колибри" от "больших" операционных систем? Чего пока нет, и что из этого собираетесь добавить?

Переверзев: Поддержка интернета очень важна в современном мире. TCP/IP и драйверы сетевых карт в "Колибри" уже есть. Сейчас мы работаем над браузером, все участники так или иначе что-то делают для его появления. Пока что есть только текстовый, с ограниченной поддержкой графики. Ему, конечно, ещё далеко до совершенства.

Солодуха: Наличие браузера - это новые пользователи и популярность системы.

- Возможно, такая система вообще была бы популярна в качестве аналога Google ChromeOS - минимальная прослойка ОС плюс браузер. Как вы думаете?

Переверзев: Вполне возможно, тем более что минимальная реализация Flash у нас уже есть. Не совсем полноценная, зато на ассемблере.

- Какие ещё удачные применения вы видите?

Переверзев: Встраиваемые системы, системы сбора информации и управления производством, тонкие клиенты. К тому же "Колибри" может быть неплохой ОС для устаревших компьютеров.

Солодуха: Ещё системы, которые разрабатываются под своё "железо". Для них проектируют платы с нуля, для них сейчас пишется ветка "Колибри А".

- Какие у Колибри плюсы, кроме легковесности и быстродействия?

Солодуха: К примеру, "Колибри" можно загружать не только без диска, но и вообще без BIOS. Включаешь компьютер, и после теста оборудования сразу появляется "Колибри". В любом случае загрузка занимает три-четыре секунды после включения.

- Какие архитектуры сейчас поддерживаются?

Переверзев: Сейчас только процессоры x86, то есть начиная с 486 и до последних Core i7. Но только в тридцатидвухразрядном режиме.

- Шестидесятичетырёхразрядная версия существует, или она так и погибла?

Переверзев: MenuetOS 64 существует, но очень сильно отдалилась от своего предка.

- Её другая команда разрабатывает?

Переверзев: Её вообще разрабатывает один человек. Все тот же студент, но уже далеко не студент, наверное. У нас же сейчас есть эксперименты по запуску на многоядерных системах. Тридцатидвухбитное ядро системы запускается на тридцатидвухбитном ядре, а второе ядро процессора работает в шестидесятичетырёхбитном режиме. Вот так вот, по-хитрому.

Солодуха: Да, аппаратно такое возможно.

- У вас ведь ещё real-time-версия есть?

Переверзев: Она не совсем реального времени, но сам автор ветки говорит, что при некоторых изменениях, над которыми сейчас очень активно работают, "Колибри" можно использовать для встраиваемых систем, где важно гарантированное время отклика.

Солодуха: И сейчас уже очень малое время отклика. У нас на форуме можно посмотреть на результаты теста одной и той же программы, работающей напрямую с оборудованием, в Windows XP и в "Колибри". В "Колибри" выходит гораздо быстрее. Сейчас для реализации настоящей "риалтаймовости" нужно обеспечить гарантированное время отклика.

- Как у "Колибри" с поддержкой различных чипсетов (в том числе видео)?

Переверзев: VESA поддерживают все современные видеокарты, а ещё у нас есть порт линуксового драйвера ATI, и он поддерживает даже последние видеокарты ATI. Он, конечно, тяжеловат - 100 с лишним килобайт занимает, но позволяет использовать любые видеорежимы и даже аппаратное ускорение. К тому же регулярно обновляется.

- А из периферии что поддерживается?

Переверзев: С периферией тоже неплохо - есть поддержка USB, то есть клавиатуры и мышки работают.

- Что ещё планируется добавлять в обозримом будущем?

Переверзев: Трудно сказать, тут всё зависит от личного времени разработчиков.

Солодуха: Cейчас, например, на форуме появился человек, который вроде бы хотел реализовать Unicode, по крайней мере, поднимал такой вопрос.

- А сейчас какая кодировка?

Переверзев: Сейчас в системе де-факто 866, изменённая для поддержки русского, украинского, эстонского, латышского и ещё нескольких языков. Но в файловой системе используется Unicode, так что потихоньку переходим на него.

- Кстати, какие файловые системы поддерживаются?

Переверзев: FAT12, 16 и 32 - для записи и чтения, плюс ISO 9660 (это компакт-диски), и на чтение поддерживается NTFS, Ext2 и Ext3.

- Как в "Колибри" реализована многозадачность?

Переверзев: Можно создавать потоки, а вот процессов как таковых нет. Процесс - это множество потоков с общим адресом пространства.

- А защищённая память?

Солодуха: Есть стандартная для архитектуры x86 защита страниц.

- Межпроцессорное взаимодействие как-то реализовано?

Переверзев: Есть IPC и есть расшаренная память. То есть можно создать образ общей памяти и обмениваться данными между приложениями. Есть ещё общесистемный буфер обмена.

- Вы упомянули, что для "Колибри" существует около двухсот программ...

Переверзев: На самом деле их гораздо больше. Двести актуальных, которые хорошо работают.

- Что это за программы?

Переверзев: По статистике, больше всего игр - больше ста.

- Какие игры?

Солодуха: По большей части небольшие логические игры.

- Портированные с каких других систем?

Солодуха: Нет, это написанные для "Колибри".

Переверзев: На самом деле, написать игру гораздо проще, чем сделать что-то серьёзное вроде текстового или графического редактора. Поэтому программисты часто пробуют свои силы на небольших играх.

Солодуха: Есть аналоги игр с других систем - "сапёры", пасьянсы и так далее. Они написаны для "Колибри" с нуля. Но есть и полезные программы - несколько файловых менеджеров, включая клон Windows Explorer, клон Far Manager и Total Commander.

- Из известных игр что-нибудь портировали?

Переверзев: Есть Quake и Doom. Из эмуляторов есть DOSBox и эмулятор Nintendo. Кстати, в DOSBox можно запустить Windows 98 - я пробовал. Есть реализация языка Lua самой последней версии - 5.2. Есть рендер шрифтов Freetype и Mesa 3D - реализация библиотек OpenGL. Очень важная вещь: есть кодеки ffmpeg. Интересный факт: на несильной машине запускали двадцать-тридцать видеороликов одновременно, и загрузка процессора не превышала 50 процентов. В "Колибри" вообще оказалось довольно сложно загрузить процессор полностью.

- На чём в основном пишут программы?

Переверзев: На ассемблере.

- На высокоуровневых языках вообще не пишут?

Переверзев: Иногда пишут или портируют что-нибудь на Си или Паскале. Есть несколько программ на Lua.

Солодуха: Я ещё могу вспомнить, что кто-то из ребят пишет на таком языке, как Sphinx C--.

Переверзев: Кстати, это любопытный язык. Это такой Си, каким он мог бы когда-то быть. Когда-то давно Си был транслятором в ассемблер, а C-- им и остался, просто добавился синтаксический сахар в стиле языка Си. На нём написано много интересных программ.

- Я слышал, была реализация Python.

Солодуха: Есть tinypy, но программ на нём пока нет, и на нём не выйдет запустить произвольную программу на Python без изменений. Там нет некоторых важных особенностей языка - к примеру, генераторов и кортежей.

- Виртуальные машины есть? Не было ли идей, к примеру, портировать Java?

Переверзев: Сейчас ведутся разговоры о целесообразности этого. В принципе, технически это возможно. Вообще эталонную реализацию Sun я даже компилировал сам в "Колибри", но лицензия не позволяет её кому-нибудь показывать.

- Есть ли какие-нибудь идеи о коммерческом применении "Колибри"?

Солодуха: Мы сотрудничаем с израильской компанией Green Gadgets, которая выпускает компьютеры eBox и Edubook. Основной профиль компании - это маломощные гаджеты, которые могут работать даже от батареек. Например, eBox-3300, на котором мы показывали "Колибри", потребляет всего около 4,5 Ватт. У него нет ни жёсткого диска, ни вентиляторов, он совсем бесшумный.

Please enable JavaScript to view the comments powered by Disqus.

old.computerra.ru

KolibriOS - первый взгляд | Записки линуксоида Vlsu

Предисловие

Создано множество дистрибутивов, которые носят гордое звание "миниатюрный". Почти все они основаны на ядре Linux и занимают десятки мегабайт. Примерами могут послужить уже описанные в рубрике "Первый взгляд" операционные системы SliTaz и Slax. Но есть и исключения. Такие, как KolibriOS.

Что это?

KolibriOS является форком MenuetOS и не имеет связи ни с семейством UNIX, ни со стандартом POSIX. Система написана на свободно распространяемом многопроходном ассемблере fasm. Этот факт обеспечивает миниатюрность, высокую скорость и низкие требования к оборудованию. Загрузочный LiveCD занимает около 7-ми мегабайт, а основные компоненты способны уместиться и на дискете (1,44 МБ). 

Но малый вес вовсе не означает отсутствие функционала. Здесь реализован пользовательский интерфейс на основе VESA, присутствует набор драйверов, браузер, текстовый процессор, графический редактор и просмотрщик, средства разработки, простенькие игры и множество других программ. Из файловых систем полностью поддерживаются FAT12, FAT16, FAT32, а частично (только чтение) - NTFS, ISO9660, Ext2, Ext3, Ext4.

Системные требования

  • CPU: Intel Pentium / AMD 5x86 / Cyrix 5x86 без MMX с частотой 100 MHz
  • RAM: 8 Mb
  • Видеокарта: поддерживающая VGA (режим 640*480*16) или Vesa
  • Клавиатура: AT
  • Мышь: COM или PS/2

Поддерживаемые загрузочные устройства

  • Floppy 3.5
  • IDE HDD LBA
  • CD/DVD
  • USB Flash

Загрузка

Из языков доступны английский, русский, итальянский и испанский.

Установка

  1. Скачиваем универсальный образ
  2. Распаковываем его в любую папку
  3. Записываем образ
  • из-под Linux:
  • из-под Windows:
  • На жёсткий диск (с использованием GRUB или GRUB2):
    1. Скачиваем универсальный образ
    2. Распаковываем его в папку kolibri в корне диска
    3. Настраиваем загрузчик
    • GRUB. В menu.lst добавляем строки:
    • GRUB2. В grub.cfg добавляем строки:
  • На USB-флешку:
    1. Скачиваем универсальный образ 
    2. Распаковываем его в любую папку
    3. Устанавливаем загрузчик
    • из-под Windows:
      • Запускаем файл  HD_Load\USB_Boot\inst.exe
      • Копируем kolibri.img в корень флешки
    • из-под Linux:
      • Устанавливаем GRUB2 на флеш-карту: grub-install /dev/sdb
      • Последующие действия аналогичны установке на жёсткий диск
  • На CD-диск:
    1. Скачиваем Загрузочный LiveCD
    2. Записываем его на носитель 
    На самом деле существует множество способов установки системы на жёсткий диск или флешку. Я указал лишь самые популярные и ориентированные на то, что уже имеется любой другой Linux-дистрибутив.

    И да, чуть не забыл: (hd0,0), UUID и /dev/sdb являются переменными. Поэтому Вам следует заменить эти значения на свои. Вот как их узнать:(hd0,0). Первое число - номер винчестера. Второе число - номер раздела на искомом винчестере. Счёт ведётся с 0.UUID. Идентификатор для нужного раздела. Получить его можно командой ls -l /dev/disk/by-uuid в терминале любой Linux системы./dev/sdb. Файл устройства в linux. Узнать его можно как из файлового менеджера, так и из консоли или утилиты разметки дисков. Имеет вид /dev/sdX для SATA-устройств и /dev/hdX для дисков, подключённых к IDE.

    Надеюсь, что с установкой Вы успешно разобрались.Если у Вас возникли какие-либо вопросы/проблемы, то задавайте их в комментариях.

    А сейчас пришло время осмотреться в KolibriOS.

    Скриншоты

    Примечание: нажмите на изображение для его увеличения

    Старт загрузки KolibriOS
    Выбор видеорежима из списка поддерживаемых
    Предложение запомнить настройки. Особенно актуально при запуске на очень старых машинах, которые не поддерживают стандартные параметры
    Процесс загрузки системы. Никаких сплешскринов ждать не стоит. Прогресс отображается в процентах
    Рабочий стол
    Главное меню
    Содержимое меню "Игры" > "Логические"
    Содержимое меню "Игры" > "Аркады"
    Содержимое меню "Демки" > "Трехмерные" (демонстрация возможностей графической системы)
    Содержимое меню "Графика"
    Содержимое меню "Мультимедиа"
    Содержимое меню "Разработка" > "Примеры"
    Содержимое меню "Система" > "Настройка"
    Содержимое меню "Система" > "Системные сенсоры"
    Содержимое меню "Система" > "Работа с файлами"
    Содержимое меню "Система" > "Тестирование"
    Содержимое меню "Система" > "Спец. возможности"
    Содержимое меню "Обработка данных"
    Содержимое меню "Сеть" > "Серверы"
    Содержимое меню "Сеть" > "Клиенты"
    Содержимое меню "Разное"
    Двухпанельные файловые менеджеры KFM и KFAR.
    Терминал и файловый менеджер Eolite. Терминал, кстати, имеет всего лишь 25 команд: about, alias, cd, clear, cp, date, echo, exit, free, help, history, kill, ls, mkdir, more, ps, pwd, reboot, rm, rmdir, shutdown, sleep, touch, uptime и ver
    Калькулятор и текстовый редактор
    Судоку, сапёр, шашки
    Трёхмерные демонстрации. В виртуальной машине с 64 МБ оперативной памяти и 6 МБ видеопамяти модели двигались с хорошей скоростью
    Табличный процессор
    Системный монитор. Открывается нажатием на нечто красное в трее
    Часы, калькулятор и... Периодическая система Д. И. Менделеева!
    Окно завершения работы

    Особый интерес вызывает интерфейс системы. Ведь её размер крайне мал и может возникнуть мысль, что интерфейс убог. Но это не совсем так. Здесь нужно рассматривать такие критерии как внешний вид и функциональность. Внешний вид порадовал: он воспринимается наравне с оконными менеджерами в Linux системах.

    Итоги

    Мне KolibriOS понравилась. Да, мало кто станет использовать её в качестве основной операционной системы. Но для меня она стала символом упорства, веры в свои силы и успех. Вот уже 9 лет ведётся разработка колибри на ассемблере fasm. Сделано уже многое, но проект продолжает жить и развиваться. Недавно, например, появилась поддержка USB. И каждый день(!) выходят ночные сборки, реализующие новые функции. Одним из самых главных недостатков является отсутствие привычных программ. А это не есть хорошо. Но зато можно скачать архив с набором программ, в котором есть Dosbox, Doom, Quake :-)

    В любом случае KolibriOS заслуживает внимания и уважения. И её разработчики тоже. Большинство из них, кстати, из стран бывшего СССР.

    vlsu.blogspot.ru

    Загрузка Kolibri OS с флешки

    Как известно, Kolibri OS — Операционная Система, написанная на ассемблере. KolibriOS ответвилась от MenuetOS, когда MenuetOS начал переход на 64 битную версию.

    Kolibri OS — небольшая ОС. Хороший кандидат для изучения некоторых внутренностей платформы x86. Я занимаюсь экспериментами, и мне захотелось посмотреть как Kolibri устроена. Я скачал с svn исходники, полистал форум, мне стало интересно загрузить Kolibri OS на реальном железе.

    После некоторого количества поисков, я выяснил следущее. Разработчики Kolibri OS как оказалось реализовали довольно экзотическую систему загрузки, свойственную скорее не классической, а embedded системе. Операционная Система написана на ассемблере. Поэтому размер ядра и приложений пока не большой. Это позволяет поместить стандартную инсталляцию Kolibri на дискету.

    Однако в современном мире дискет уже не найдешь. Это уже экзотика. Разработчики Kolibri решили эту проблему замечательным образом: при загрузке с «большого» носителя, например с флешки или жесткого диска, в корневой директорий кладется не только ядро Kolibri, но и файл с виртуальной дискетой, на которую записаны необходимые программы стандартной инсталляции. Специальный загрузчик, грузит в оперативную память данные дискеты, затем грузит ядро и передает на него управление.

    Загрузчиков есть несколько вариантов. Kolibri может таким образом грузиться с дисков, на которых установлен Windows. Т.е. в корень диска C: записывается специальный модуль mtldr, изменяется конфигурация стандартного загрузчика Windows и Kolibri становится одним из вариантов загрузки.

    Я этот вариант подробно рассматривать не буду. Поскольку проводя первый эксперимент, не хотелось бы подвергать свой компьютер большой опасности. Ошибка где-нибудь в конфигурации загрузчика, боюсь мне может дорого обойтись. Поэтому, я пробую настроить загрузку с флешки.

    Я сам писал загрузчик с флешки c FAT32. Для начала я попробовал его. Загрузчик загрузил ядро Kolibri, оно вывело загрузочное меню на этом все остановилось. Чтобы загрузка продолжилась в память нужно загрузить еще image дискеты.

    Поиск по форуму и svn дал следующее. В svn, здесьsvn://kolibrios.org/programs/hd_load/usb_boot есть всё необходимое для загрузки с флешки.

    У меня на флешке уже записан загрузочный MBR взятый из статьи MBR загрузчик в режиме LBA. Поэтому MBR я трогать не стал. Остальное взял из svn:

    • BOOT_F32.ASM скопилировал с помощью fasm, получил 512 байтный файл, записал его на флешку предварительно замержив содержимое BPB (BIOS Parameter Block см. статью Чтение FAT32 под Windows, в ней описана структура FAT32 и загрузочного сектора ).
    • mtldr.asm скомпилировал с помощью fasm, получил файл, который переименовал в MTLD_F32 и скопировал файл в корневой директорий флешки. Этот файл содержит в себе вторичный загрузчик, выполняющий всю работу. Первичный загрузчик грузит не ядро непосредственно, а этот файл и передает на него управление.
    • Скачал с http://builds.kolibrios.org/rus/ (Хранилище ежедневных сборок) последнюю сборку latest-img.7z, распаковал и полученный файл скопировал на флешку в корневой директорий с именем KOLIBRI.IMG
    • Собрал в ядро из исходников с помощью build.bat. На вопросы ответил, сказал, что собираю только ядро и язык eng. Скопировал ядро из директория /bin в корневой директорий флешки.

      В итоге на флешке получились такие файлы:

      С флешки загрузился на своем ноутбуке и получил замечательный экран, скриншот сверху. Скриншот, конечно уже не с реальной машины, а с виртуальной. Но на реальной все выглядело примерно также.

      Чтобы загрузиться с виртуальной машины, просто подключил KERNEL.IMG как виртуальный флоппик к VMWare Player и протестировался.

      Кроме перечисленных файлов, в указанном директории svn://kolibrios.org/programs/hd_load/usb_boot лежит еще readme и исходники утилит для записи boot сектора и mbr. Я пользовался собственными тестовыми средствами, однако, думаю упомянутые утилиты могут пригодиться.

      Другие статьи по OSDev…

      Понравилось это:

      Нравится Загрузка...

      Похожее

    dev64.wordpress.com

    операционная система в миниатюре — Нетипичные Разработки

    Большинство современных операционных систем, так или иначе, произошли от Unix. Unix-команды, X server, C++ — вот что объединяет вроде бы разные системы — будь то GNU/Linux, FreeBSD и даже Solaris. На этом фоне резко выделяется KolibriOS.Основанная на финском проекте — MenuetOS, она целиком написана на ассемблере и помещается на дискету. Чем же она так отличается?

    Ну хотя бы тем, что не имеет вообще никакого отношения ни к какой из существующих операционных систем. Даже не соответствует POSIX-стандарту. Скажу больше, на KolibriOS не распространяется кроссплатформенность некоторых программ. Заинтересовались?

    История KolibriOS

    Появлению KolibriOS предшествовала разработка системы Menuet OS финским студентом Вилле Турьянмаа, который начал ее еще в конце 90-х. С 2003 года энтузиастами из стран СНГ и Прибалтики велась разработка русскоязычной версии MenuetOS. Наконец, в 2005 году образовалось официальное ответвление, названное KolibriOS — за легковесность, позволяющую уместить дистрибутив на одной дискете. С тех пор система потихоньку развивается, хотя официальные версии дистрибутива давно не собирались. В основном, выпускаются «ночные сборки». Углубляться в историю не будем, это не учебное пособие и тем более не официальное руководство — достаточно просто знать, откуда ветер дует, образно говоря. Что касается MenuetOS, то и она продолжает прекрасно развиваться.

    Архитектура и поддержка оборудования

    KolibriOS написана на чистокровном ассемблере, что с одной стороны — затрудняет разработку программ, но с другой — возводит ее на принципиально новый качественный уровень. Считается, что этот язык хоть и сложен в освоении, но крайне логичный и эффективный. Могу ошибаться, с FASM не работал.

    Работает система на архитектуре x86, также есть поддержка 64-битных процессоров.

    Стандартные файловые системы для работы с Колибри — FAT16/FAT32, что не совсем хорошо, когда существуют более продвинутые ФС, рассчитанные на современные носители.

    Поддержка оборудования у KolibriOS довольно посредственная. И если распространенные чипсеты поддерживаются, то к примеру, о веб-камерах и сканерах можно только мечтать.

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

    Новомодные SATA3, PCI-E и подобные интерфейсы либо не поддерживаются вообще, либо имеют ограниченное применение, согласно документации. Хотя, стоит сделать скидку на то, что есть сомнения в актуальности информации.

    Сетевой стек находится в стадии разработки, поэтому можно не надеяться на то, что Wi-Fi адаптер успешно будет подхвачен каким-нибудь драйвером, неизвестно откуда взявшимся. Нет такого. Проводное соединение, вроде как, работает. Иначе бы не было столь широкого выбора сетевых программ. Всякие клиенты, да серверы… А единственный браузер в поставке по умолчанию работает в текстовом режиме.

    В общем-то, система легко запускается на оборудовании 2005-2006 гг, на котором я ее тестировал еще 5 лет назад. К слову, в те годы еще были в ходу 3,5-дюймовые дисководы. С дискеты и предполагается загрузка KolibriOS. Даже образ в формате img есть, чтобы создавать загрузочные дискеты без особого труда.

    В современных реалиях целесообразней будет установить систему на виртуальную машину, где можно не беспокоиться о поддержке оборудования. На железо 2013 года ни одна система ругаться не будет, для этого и нужна виртуализация.

    Установка KolibriOS в VirtualBox

    1. Загрузите дистрибутив KolibriOS с официального сайта и распакуйте полученный архив куда-нибудь на диск.

    2. Укажите имя, тип и версию операционной системы. Введите «Kolibri OS», затем выберите «Other» и «Other/Unknown» соответственно.

    3. Укажите требуемый объем оперативной памяти. Вообще-то для работы системы достаточно 8 МБ, но для простоты согласитесь на то, что предлагает VirtualBox — 64 МБ. Таким образом, помех для гостевой системы не будет, сколько бы физической памяти у вас ни было. С другой стороны, если дать системе 256 МБ не в тягость, то давайте. Можно будет нагружать ее по максимуму.

    4. Когда программа попросит выбрать жесткий диск, просто откажитесь — выберите пункт «Не подключать виртуальный жесткий диск». KolibriOS целиком помещается на дискету и не требует наличия других носителей в принципе. Добавить диски, конечно, не возбраняется, но для целей тестирования делать это не будем.

    5. Теперь все готово к установке системы, нажмите на кнопку «Создать».

    6. Перейдите в главное окно VirtualBox и откройте контекстное меню созданной виртуалки, выберите пункт «Настроить…». Здесь нас интересует лишь вкладка «Носители». Нажмите кнопку «Добавить контроллер», затем из списка выберите «Добавить Floppy контроллер». Выделите строку «Контроллер: Floppy» и нажмите на кнопку «Добавить устройство». Выберите на диске образ загрузочной дискеты, это файл kolibri.img.

    7. Сохраните изменения, нажав на «ОК».

    Теперь вы готовы к установке KolibriOS. Только вот устанавливать ее не придется, достаточно просто загрузиться с виртуальной дискеты (нажать на «Запустить»).

    Интерфейс KolibriOS и стандартные программы

    Внешне система чем-то напоминает LXDE, наверно излишней простотой оформления. Но если задуматься, что графический интерфейс сумели упаковать в 1,4 МБ дискового пространства, то становится понятно, что не всё так плохо. По крайней мере, окна перетаскиваются, мышь работает, контекстное меню доступно. Да и с быстродействием всё в порядке, программы запускаются без промедления. Только вот размер шрифта подкачал, слишком мелко на высоких разрешениях. Да и особой выразительностью шрифты не отличаются.

    Для KolibriOS написано не менее 250 программ, несколько десятков из которых удалось вложить в дистрибутив.

    Файловые менеджеры

    Целых три штуки, на любой вкус и цвет:

    Kolibri FAR (KFAR) — похож на Midnight Commander, хотя авторы считают его аналогом FAR Manager. Да что говорить, таких полно под любую платформу. Разве что в данном случае программа не отличается повышенной функциональностью и расширяемостью.

    Kolibri File Manager (KFM) — напоминает Krusader из KDE. Интуитивный интерфейс, хоть и не очень привлекателен внешне.

    Eolite File Manager (Eolite) — походит на Thunar из XFCE. Пожалуй, самый дружелюбный к неопытному пользователю, хотя настройка выполняется правкой файла Eolite.ini, что не очень-то просто для новичков.

    Мультимедиа

    MIDAMP — внешне напоминает одну из обложек Audacious. Рассчитан на воспроизведение midi-файлов, что и делает успешно, если звуковая карта поддерживается.

    CD Player — ни на что не похожий, простой плеер аудиодисков.

    FPlay — видеоплеер, который не запустился, к сожалению. Возможно, на реальных машинах он работает нормально.

    Работа с документами

    Tinypad — простой текстовой редактор, похожий на gEdit. Поддерживает поиск и замену, нумерацию строк, изменение внешнего вида. Позволяет запустить код в дебаггере или скомпилировать его.

    Table — табличный процессор для KolibriOS, поддерживающий основные формулы.

    Также предлагается Graph для постройки графиков и HeEd в качестве HEX-редактора.

    Графика

    Animage Graphics Editor — растровый графический редактор, не намного сложнее TuxPaint.

    KIV и zSea — созданы для просмотра графических файлов в форматах JPG, PNG, ICO и т. д.

    Image Filtering — позволяет обработать выбранную фотографию различными фильтрами.

    Сеть

    Эта категория представлена множеством мелких программ, которые в GNU/Linux можно заменить буквально одной-двумя. Загрузчик файлов в отрыве от браузера — «прекрасная» логика.

    Среди серверов представлен лишь FTP, зато клиентов установлено предостаточно — IRC, FTP, TFTP, Telnet и многие другие. Конечно же не обошли стороной Текстовый браузер и загрузчик HTTP Downloader.

    Разработка

    Система для разработчиков не обделена специализированным ПО для программирования. Главное приложение, пожалуй, это Flat Assembler, позволяющее непосредственно кодить. Также есть отладчик, упаковщик, компилятор, конвертер из разных систем счисления и т. д.

    На ассемблере не программирую, так что не в курсе, насколько удобны представленные инструменты.

    Разное

    Как и в любой операционной системе, в KolibriOS есть калькулятор, часы, календарь, архиватор, разные учебные программы и набор несложных игрушек. Существует также DosBox, позволяющий использовать программы, написанные для DOS. Системные настройки разбросаны по разным окнам, нет единого центра для выбора параметров.

    Достоинства и недостатки KolibriOS (субъективное мнение)

    Что понравилось:

    Запускается шустро, работает без тупых зависаний на пустом месте. Как говорится, «плазма не падает» ;) Понравилось, что разработчики стараются охватить как можно больше сфер применения, даже «Таблицу Менделеева» включили в дистрибутив. В конце концов, KolibriOS открывает широкое поле для самостоятельной разработки нужных программ. Вижу, что у системы есть огромный потенциал, который, правда, скрыт от глаз простого пользователя.

    Что не понравилось:

    Скудная поддержка форматов файлов, недостаточная поддержка оборудования. Ограниченный выбор программного обеспечения. Отсутствие программ, применимых в профессиональной деятельности, хотя от любительского проекта, не претендующего на славу GNU/Linux и FreeBSD, требовать мощные программные пакеты не стоит. Разве что в приложениях для разработки недостатка нет, что позволяет использовать KolibriOS в качестве учебной платформы. Кстати, о возможных сферах применения…

    Возможное применение KolibriOS

    1. Программировать на ассемблере. Лучше всего проводить разработку в системе, которая целиком написана на нем. Хотя, надо признать, можно и на C++ кодить, никто не запрещает.

    2. Учиться программировать. KolibriOS, не похожая на старые добрые Unix-подобные системы, может научить программировать, понимать логику работы программ.

    3. Встроенные решения. Если найдутся заинтересованные стороны, то система сможет работать в терминалах оплаты, банкоматах и прочих устройствах.

    4. Придумайте сами.

    Наконец, небольшое видео, которое позволит понять, что и себя предcтавляет эта ОС в реальной жизни:

    ssvarentsov.ru

    Board.KolibriOS.org - Index page

       Forum   Topics   Posts   Last post 
    International Community
      No unread posts English

    Post here questions, problems and suggestions in English language

    317

    2598

    PC/ 104 for kolibri os as a p…

    Sat Sep 30, 2017 2:58 pm

    baggacfreak View the latest post

    No unread posts Spanish

    Hable KolibriOS en español

    34

    185

    Re: Compiladores

    Thu Jun 15, 2017 10:28 am

    Pathoswithin View the latest post

    General discussion
      No unread posts News

    Events from the world of KolibriOS and its developers

    55

    1469

    Re: Google Code-in 2017 для о…

    Sat Oct 21, 2017 1:45 am

    Pathoswithin View the latest post

    No unread posts Coding

    Applications development, KoOS API questions

    Subforums: Assembler, HLL

    287

    6225

    Re: SysFn48.7:GetSkinMargins

    Sat Oct 21, 2017 2:35 pm

    Leency View the latest post

    No unread posts Drivers

    Devices programming

    Subforums: Video, Sound, Network, Periphery, Drive subsystem

    138

    6741

    Re: Что я хочу увидеть в Коли…

    Mon Oct 16, 2017 9:14 am

    Siemargl View the latest post

    No unread posts Kernel

    Internal structure and you change requests/suggestions

    Subforums: Boot-loader, Design, Graphics subsystem, Emulators

    243

    7499

    Re: SysFn 4

    Mon Oct 23, 2017 10:59 pm

    Pathoswithin View the latest post

    No unread posts Network

    KoOS network development

    60

    666

    Re: The new network stack

    Mon Sep 11, 2017 11:17 pm

    hidnplayr View the latest post

    No unread posts Design and decoration

    All that makes Kolibri beautiful outside while we are working inside

    58

    2292

    Re: Встраивание иконок в прил…

    Tue Oct 17, 2017 10:52 am

    GerdtR View the latest post

    No unread posts Polls

    Find out what others think about your ideas

    69

    1806

    Re: Возобновление blog.kolibr…

    Fri Jul 07, 2017 10:01 pm

    Kopa View the latest post

    No unread posts Miscellaneous

    Everything you can't fit into other forums

    420

    5335

    Re: Может ли Колибри видеть ф…

    Mon Jul 17, 2017 8:20 pm

    Pathoswithin View the latest post

    No unread posts Off-topic

    No comments

    140

    2603

    Re: Вопрос

    Mon Jul 24, 2017 2:59 pm

    0CodErr View the latest post

    Projects
      No unread posts Resources

    You can leave links to different KoOS-related sites and articles here

    47

    1251

    Re: Публикация приложений в K…

    Tue Oct 17, 2017 9:49 pm

    GerdtR View the latest post

    No unread posts Programs

    Your KolibriOS applications go here

    Subforums: Ideas, Multimedia, Network, Games, Utilities, Emulators, File managers, Compilers and programming, Data processing, System

    372

    14624

    Re: Netsurf

    Fri Oct 20, 2017 9:45 pm

    baggacfreak View the latest post

    No unread posts Distributives

    Share your distros and discuss others'

    44

    4038

    Re: На пути к KolibriN 10

    Sat Sep 23, 2017 9:00 pm

    0CodErr View the latest post

    No unread posts Application libraries

    Discussing libraries simplifying applications development

    67

    2709

    Re: box_lib.obj - библиотека …

    Fri Sep 29, 2017 2:27 pm

    0CodErr View the latest post

    No unread posts Embedded solutions

    Using Kolibri in embedded systems

    Subforum: Targets

    36

    2033

    Re: KolibriOS в BIOS ( corebo…

    Sun Oct 22, 2017 5:41 am

    olodar View the latest post

    board.kolibrios.org


    Смотрите также