Схожість операційної системи calibri os з windows. Політ «Колібрі». На що здатна ОС, повністю написана на асемблері. А географія яка? Розробники переважно з Росії

KolibriOS— це не черговий клон Linux, а унікальна розробка. Єдине, що ріднить її з Linux, - це відкритий вихідний код та фінське коріння.

Як з'явилася KolibriOS

Спочатку MenuetOS розвивалася такими ж малими кроками, якими були характерні для французького танцю, на честь якого вона названа. Перелом настав у 2001 році, коли на сайті OSNews було опубліковано інтерв'ю з розробником. Незабаром до проекту приєдналися інші програмісти, а після портування FASM подальший код можна було компілювати прямо в MenuetOS.

Згодом склад команди розробників постійно змінювався. Чергові розбіжності призвели до того, що в 2003 році група вирішила зробити свій форк. Під час розробки він називався MENUETOS RE, але на етапі релізу було перейменовано на Kolibri 0.1.0.0. Назва була запропонована Станіславом "VaStaNi" Валійських. За задумом воно має відображати легковагість та швидкість роботи операційки. Офіційно «Колібрі» вийшла у травні 2004 року. Повноцінним форком вважається KolibriOS 0.50 - саме в ній більше половини коду відрізнялося від MenuetOS.

Сьогодення та майбутнє KolibriOS

Зараз «Колібрі» поширюється на умовах GPLv2, тоді як її попередниця MenuetOS стала пропрієтарною у 64-бітній версії.

Крім базового дистрибутива KolibriOS існує і розширена версія. У ній доступна утиліта встановлення драйверів DrvInst та інші додаткові компоненти. DrvInst дозволяє встановити драйвери пристроїв, які відсутні в образі IMG. Наприклад, драйвер SATA з підтримкою AHCI, драйвер відео для процесорів Intel, відеокарт AMD та віртуалки VMware.

Поступово у «Колібрі» з'являється розширений набір шрифтів та функція їх згладжування. Це буде не зайвим, оскільки вбудований набір був оптимізований для старих екранів з низькою роздільною здатністю.

«Колібрі» вже увійшла в історію науки та кіберпанку. Співробітники Колумбійського університету та Нью-Йоркського геномного центру записали у ДНК операційну систему KolibriOS (PDF) разом з іншими даними загальним обсягом 2342 Кбайт.

Основне призначення KolibriOS залишилося тим самим - програмування на асемблері в чистому середовищі без будь-яких програмних прошарків. Однак розробник може писати свій код для KolibriOS та мовами високого рівня (С/С++, Modula, Fort, Pascal). Це набагато простий спосіб створювати бібліотеки, драйвери та програми.

Сьогодні і вдома і на роботі використовуються потужні комп'ютери з величезною кількістю пам'яті, операційні системи займають не один гігабайт, а програм розміром менше 500 кбайт стає все складніше і складніше знайти. Але колись було зовсім по-іншому!.. Колись давним-давно ОС вантажилися з магнітних дисків, а розміри ОЗУ обчислювалися кілобайтами. Зараз часи "дискетних дистрибутивів" давно пішли, і, здавалося б, такі ОС зникли назавжди, але... ні - історія триває!

KolibriOS – передісторія однієї маленької пташки

Будь-яка ОС повинна мати якусь особливість, яка б виробила її з натовпу численних х86-побратимів, інакше у неї практично немає шансів бути поміченою. Вважається, що змістити повноцінну ОС з графічним інтерфейсом на звичайний 3,5" диск неможливо. І в абсолютній більшості випадків це дійсно так, але є один виняток. У численних сучасних мов програмування є старенький дідусь на ім'я Assembler. Міцний такий дідусь старого загартування. Справа в тому, що програми, написані цією мовою, відрізняються дуже компактними розмірами та високою швидкістю роботи.

Інші мови програмування (C, С++, не кажучи вже про Turbo Pascal, Basic та багато інших) містять безліч надлишкового програмного коду, призначеного для спрощення роботи програміста, що уповільнює роботу всієї системи загалом. Машинна мова асемблера більш " зрозумілий"для комп'ютерного" заліза" через відсутність " зайвихкоманд.

І тому одна операційна система, всім на зло, вмістилася таки на дискетку, не забувши при цьому прихопити з собою цей графічний інтерфейс. І називається героїня цієї статті KolibriOS.

KolibriOS – історія

Тернистий шлях цієї маленької ОС розпочався 2000 року у Фінляндії. Її творець Віллі Туржанмаа(Ville Turjanmaa) задумав зробити однокористувальну ОС для однопроцесорного комп'ютера, написану однією мовою, а саме Асемблері(Assembler). Вибрана мова програмування, на його думку, найкраще підходила для створення нової ОС, насамперед через велику швидкість виконання коду.

Подібна ідея була дуже ефектною та оригінальною, що відіграло чималу роль у поширенні дистрибутива. Подібний підхід застосовувався і раніше, наприкінці 80-х, але попередники - MenuetOSбули маловідомі і не мали ліцензію GPL (Вільне безкоштовне поширення).

General Public Licence (GPL)- відкрита ліцензійна угода, принцип розвитку та існування багатьох ОС (наприклад, Linux та FreeBSD). У найпростішому наближенні суть цієї ліцензії полягає в тому, що кожен має необмежену право вивчати, довільно модифікувати або змінювати ПЗ, що має ліцензію GPL без будь-яких обмежень, але результат такої зміни також має бути викладений під ліцензією GPL.

Спочатку MenuetOS не призначалася для повсякденної роботи користувачів. Базовим принципом існування таких ОС є вільне творче програмування, реалізація власних ідей. Система створена для вивчення роботи комп'ютерної х86-архітектури на найнижчому рівні та плідного спілкування між розробниками з різних країн.

Але MenuetOS швидко набула графічного інтерфейсу, підтримки звукових карт, стандартних файлових систем FAT та безліч інших базових можливостей. 5 вересня 2001 року після публікації інтерв'ю з Віллі Туржанмаа на відомому web-порталі, MenuetOS 0.54 набула широкого розголосу в Інтернеті, що призвело до стрімкого зростання популярності нового дистрибутива.

Численні шанувальники нової ОС швидко створили web-сайти рідними мовами, що підігрівало інтерес у звичайних користувачів, які не володіють англійською мовою. Через пару місяців популярність пішла на спад і незабаром з проектом залишилися лише найвідданіші фанати, які вважали MenuetOS найкращим інструментом для реалізації своїх творчих ідей.

А що таке АтомОС?

Проект АтомОСстворили наші співвітчизники, що найпершими відокремилися від MenuetOS. Було їх троє і на форумах вони були відомі під Protopopius, Transі VaStaNi.

Мета проекту була аналогічна негласним завданням KolibriOS – створити життєздатну операційну систему на асемблері. Ось тільки створювати її передбачалося з нуля. Кажуть, що хлопцям вдалося залучити ще кількох людей і навіть зібрати кілька тестових збірок ядра. Але, на жаль, трапилося те, що часто осягає некомерційні проекти - розробники просто втратили інтерес до свого дітища.

З 2005 року всі розробки були повністю припинені. У мережі залишилося, по суті, тільки це.

А що було у нас?

Хвиля популярності дистрибутива не оминула і нашу країну. Перша група розробників прагнула внести безліч оригінальних нововведень та доповнень до молодого дистрибутиву (зокрема, ідею поділу ядра системи та графічного інтерфейсу)

Але, на жаль, вітчизняні ідеї були "прохолодно" сприйняті засновником проекту і, як наслідок, напрацювання російських програмістів просто не були включені до офіційного дистрибутиву. Це викликало падіння інтересу та розпад першої команди розробників. Друга хвиля програмістів сформувалася після появи статей у комп'ютерних журналах і існує й досі.

До середини 2003 року настали лихоліття - автор проекту втратив інтерес до свого дистрибутива і вирішив присвятити себе новому проекту Menuet64- 64-бітної операційної системи на асемблері, що докорінно відрізняється від MenuetOS. Через рік проект був остаточно покинутий автором ... У обставинах частина російської команди пішла з проекту і почала розробку свого проекту - АтомОС.

Варто відзначити, що і цього разу досягнення вітчизняних програмістів вкрай неохоче і мляво включалися до офіційного дистрибутиву MenuetOS, що призводило до різних конфліктів між "нашими" та зарубіжними розробниками. Новий керівник проекту Майк Хіббет (Mike Hibbett)з Англії спочатку зняв напруженість, відкривши доступ російським напрацюванням для публікації в офіційному дистрибутиві, але 2005 року, пославшись на зайнятість і він пішов зі своєї посади.

І все повторилося заново – новий керівник Ярослав Пельчарна нетривалий час оживив розробку MenuetOS, з'явилися нові рішення та … все. На сьогоднішній день у міжнародних масштабах робота над проектом практично зупинилася. Невже це був кінець?.. На щастя, спільнота розробників із країн колишнього СРСР не забажала розлучитися з власними досягненнями і вирішила зайнятися розробкою нової гілки MenuetOS самостійно.

Даній гілці було дано символічну назву - KolibriOS. У результаті маленький дистрибутив знайшов свою другу батьківщину в Росії, знайшов нову назву та продовжує розвиватися далі. Російський web-сайт постійно оновлюється і в міру готовності викладаються нові дистрибутиви.

Наші програмісти суттєво доопрацювали базовий дистрибутив, а також додали безліч нових можливостей. Список підтримуваного обладнання було доповнено новими принтерами та відеокартами. На сьогоднішній день, можлива робота з розділами в FAT12, FAT16і FAT32, а також читання з NTFS-розділів. За словами розробників, функціональність KolibriOS досягла рівня Windows 95, але суттєво випереджає останню за розмірами та стабільністю.

У російському дистрибутиві було подолано ряд обмежень на використання USB, але реальне застосування цієї шини поки що неможливо. Колишнім координатором проекту Майком Хаббетом було додано можливість використання стандартного мережевого протоколу TCP/IPз усіма можливими можливостями у вигляді підтримки HTTP, FTP, TELNET, E-mail та IRC.

Для реалізації цих можливостей достатньо встановити відповідне ПЗ, скористатися мережевою картою, що підтримується, і налаштувати мережевий протокол. Незважаючи на безліч досягнень маленької Колібрі, не варто забувати про те, що дистрибутив спочатку створювався програмістами для програмістів і є перш за все платформою для технічної творчості компетентних фахівців.

Проект відноситься до дослідницьких ОС і на даний момент не призначений для повсякденного використання як настільна система. Можливості MenuetOS знайшли і практичне застосування – американська фірма GridWorks використовує дистрибутив для організації онлайнових Інтернет-сервісів.

Чи познайомимося ближче з KolibriOS?

Перше знайомство з KolibriOSпроходить дуже легко і швидко – достатньо записати образ на дискетку та завантажитись з неї. Процес запуску KolibriOSтакий:

Зате ця програма показала, що KolibriOS працює з DNS-сервером, а значить, теоретично майбутнє у інтернет-додатків у цій ОС може почати вже дуже скоро. Що ж - чекатимемо повноцінної реалізації мережевих можливостей у найближчих версіях.

А чи віруси у вас є?

Думаю, багатьом подібне питання здасться, як мінімум, дивним, але ні, відповідь на нього буде ствердною. Є в KolibriOS і вірус, котрий перекочував з MenuetOS. Називається вірус Menuet.Oxymoronі детектується багатьма популярними антивірусами, наприклад Антивірусом Касперського.

Як і належить, кожному вірусу має бути протиотрута, і ним є MenAV, якщо можна так висловитись антивірус з одним єдиним записом в базі. Цікавий той факт, що знову ж таки багато популярних антивірусів, наприклад, Dr.Web вважають вірусом (точніше троянським конем) саме MenAV і називають його MeOS.Xymo. Ось така історія.

Продовжимо розмову

Ознайомитись із вмістом будь-яких дисків можна у стандартному файловому менеджері X-TREE, написаному спеціально для Колібрінашим співвітчизником Павлишиним Євгеном. Тут варто згадати, що при завантаженні ОС автоматично монтує жорсткі диски і, як наслідок, у X-TREE Ви зможете побачити розділи Вашого вінчестера (є підтримка FAT32 та NTFS).


Файли відкриваються одним клацанням мишки пов'язаною програмою. Хотілося б відзначити, в KolibriOS годинник на курсорі не передбачений - все спрацьовує миттєво або не спрацьовує взагалі.

Незважаючи на "дискетний розмір", маленьких ігор у дистрибутиві достатньо - тетрісом та арканоїдами всі будуть забезпечені. Причому ігри справді маленькі, наприклад, непоганий тетріс займає менше 1125 байт. Дуже вражає навіть якщо порівнювати з "мініатюрними" Java-іграми для мобільних телефонів.

Загалом інтерфейс програми приємно тішить свіжими квітами та симпатичним точковим шрифтом. Налаштування мовних параметрів не потрібне – для більшості сьогоднішніх розробників російська мова є рідною. А тому KolibriOSрозмовляє російською відразу після запуску.

Невигубне плем'я текстових редакторів живе споконвіку у кожному комп'ютері, місцевий текстовий абориген називає себе TinyPad 4.0.4.

Особливо порадував Гімн Росії, який був життєрадісно відтворений за допомогою мініатюрного MIDI-плеєра у шкірці Winamp.

Багато в чому відчувається "російська" рука програмістів. Спеціально для російського дистрибутива було створено KFAR (Kolibri FAR)схожий зі своїм Windows-аналогом FAR - популярним твором Олександра Рошаля, автора не менш легендарного WinRAR.

Прямий конкурент KFM (Kolibri File Manager)виявився набагато слабшим KFAR хоча б тому, що просто відмовився копіювати і переглядати вибрані файли.

Прямо на дискетці викладено вичерпну кількість документації по системі, є навіть керівництво до гри. Фараон". У демонстративних цілях на дискетці викладено безліч мережевих програм (сервери МРЗ, HTTPS, SMTPS), програм моніторингу (тест швидкості графіки, Ghost monitor), в'ювер графіки, редактор іконок.

Для розробників у меню виділено цілий розділ: НІХ-редактор, пакувальники, налагоджувачі та приклади програм. Для демонстрації можливостей 2D та 3D-графіки викладено безліч симпатичних " демок- міні-програми, що показують плоскі та тривимірні композиції з різних об'єктів.

KolibriOS – замість ув'язнення

Загалом система створює приємне враження – гарний інтерфейс, компактні програми, висока швидкість. Особливо тішить " російський слід", на кшталт російського гімну прямо у дистрибутиві. Мимоволі з'являється гордість за рідну країну, за вітчизняних розробників, через те, що вони зробили для маленької ОС.

Мабуть кожен, хто цікавиться KolibriOS, знає, що єдиним способом вийти в глобальну мережу був і є і досі текстовий браузер, написаний одним із наших розробників практично з нуля. Цей браузер мабуть є однією з «визначних пам'яток» ОС, і тому було вирішено розповісти його історію: як він з'явився, розвивався і які плани на найближче майбутнє. Кому цікаво, ласкаво просимо під кат.

Пост створювався у тісному співробітництві з автором програми Leency, і тому оповідання йде від його особи.

Якби я не був таким наївним дурнем, ніколи б не взявся писати браузер! Ще diamond(@grechnik), навчений досвідом програміст, говорив, що в житті не зважився б на таку авантюру. Але я був молодим і відчував, що на порозі великих відкриттів. Це невимовне відчуття, ніби весь світ лежить біля моїх ніг - варто лише простягнути руку і він весь твій. Тому першою програмою, яку я вирішив написати був файловий менеджер аля Провідник Windows, а другий - браузер. Так сказати, "Hello World" заняття для слабаків, круті програмісти починають із браузерів.

Все це нещастя почалося теплим липневим днем ​​2008 року через півроку після того, як Костя Veliantскинув мені вихідники переглядача HTML, можливості якого, за винятком відсутності підтримки мережі, практично дорівнювали поточному на той момент браузеру Колібрі HTTPC.

Ця програма називалася просто «HTML Viewer in C--». Я почав з того, що адаптував код програми під нову версію бібліотеки (menuet.h-- → kolibri.h--), покращив дизайн, додав підтримку клавіш управління, скролл коліщатком. З мінусів - текст виводився у вікно за однією літерою:)

Нижче скріншот першої версії 0.00001, що вийшла 20 червня 2008 року.

Вже через 2 дні відбулося оновлення до версії 0.1 у списку змін якої було:

  • більш менш повна підтримка тегів: b, strong, i, u, s, br, pre, title, li, p;
  • підтримка вкладених тегів;
  • смуга адреси (EditBox) від Lrz;

У версії 0.2 текст став виводитися не буквально, а рядками, додано схлопування двох і більше пробілів, що йдуть поспіль, в один.

Подальший розвиток програми йшов еволюційним шляхом: покращувалась підтримка тегів, запрацювала кнопка «Назад», з'явилася підтримка відносних шляхів, кількох параметрів тега, багаторівневих списків та деяких інших фіч.

До речі, зауважу, що весь цей час програма була не браузером, а лише відображала сторінки HTML, звідси і назва HTMLv (HTML Viewer). Переломний момент стався у версії 0.48.5 за що дякую barsuk"у:

«Я взяв HTTPC, відрізав відображення HTML і прикрутив динамічне виділення пам'яті під веб-сторінку. Якщо цю штуку об'єднати з HTMLv, вийде браузер.

Що було зроблено. Обрізаний HTTPC назвали завантажувачем файлів і перейменували на downloader. А ось перші скріншоти сторінок, завантажених браузером через downloader:

Зв'язка «HTMLv+downloader» працювала дуже швидко: якщо адреса сторінки починається з "http://", то HTMLv запускав downloader з параметром адреси сторінки. Downloader скачував файл, HTMLv смиренно чекав. Коли downloader закінчував, зберігав сторінку в "/sys/.download" і закривався. HTMLv палив цей момент і відкривав збережену сторінку.

Так, це дико милице, але це працювало! Це був перший реальний спосіб вийти в Інтернети з Колібрі і важко прочитати там щось. Це може здатися смішним, але це був важливий психологічний момент – тепер у Колібрі є вікно у відкритий світ.

До речі, про хаки… Хто знайомий з Колібрі, чудово знає, що в ній завжди існувала проблема зі шрифтами: їх системних лише два: моноширинний та… немоноширинний. У 90% використовується моноширинний розмір літери в ньому дорівнює 6х9 пікселів. Ніякого напівжирного та курсивного накреслення. Але воно є у браузері! Жирний шрифт - це два рядки тексту, накладені один на одного зі зміщенням в один піксель по осі Х. З курсивним дещо цікавіше. Перша версія була реалізована lev"ом у версії 0.63: спочатку у вікно виводився звичайний текст, потім екран скринився в пам'ять і потім виводився заново у вікно зі зміщенням |||| → //////

Новики наступних версій стосувалися додавання меню ПКМ, підтримки якір, системи кешування зображень.

Ось скрін тестової сторінки acid_0.1.html, яка довго використовувалась для перевірки браузера.

Але чим далі, тим більше складалося враження, що я йду не тим шляхом…

Із цим треба було щось робити. Пам'ятаєте початок статті? Тому першою програмою, яку я вирішив написати був файловий менеджер аля Провідник Windows, а другий - браузер. Так ось, код Eolite був переписаний еволюційним шляхом: крок за кроком, шматочок за шматочком і згодом став логічним, читабельним і простим. Код HTMLv же, як і раніше, залишався неструктурованим і його складно було модифікувати і підтримувати, а додавання нової фічі неминуче призводило до безлічі проблем. З жалем усвідомивши цей момент, я взявся упорядковувати його. Першою ластівкою в цій нелегкій справі став HTMLv 0.99.

HTMLv 0.99 було реалізовано малювання в буфер. Тобто. Раніше рядок тексту виводився так: у вікно малюється прямокутник фонового кольору, поверх виводиться текст. Тепер у пам'яті створювався „малюнок“, заливався фоновим кольором, у нього малювався текст і лінії й зрештою у вікно виводився цей готовий малюнок. Це збільшило швидкість і дасть нові можливості у перспективі.

Версія 0.99.1 отримала підтримку тегів і, а також align="center" і align="right"

У версії 0.99.31 відбулася знакова подія:
З цієї версії компонент WebView, що відображає вміст сторінки HTMLv, винесений в окремий модуль і може бути скомпільований у складі іншого проекту на С--. Робилося це для відображення вмісту листа у поштовому клієнті Liza та з метою покращення структури коду.

Починаючи з версії 1.0 beta 1 програма була перейменована на WebView. Зроблено це було не дарма, адже програма за останні кілька версій помітно зросла. У цій же версії повз нове ім'я програма отримала:

  • нативну підтримку роботи з мережею за допомогою HTTPlib написаної hidnplayr на FASM'і (downloader більше не був потрібний)
  • новий дизайн
  • відображення процесу завантаження сторінки через прогрес бар
  • відображення адреси у статусі барі при наведенні курсору на посилання
  • підтримку скінів

У наступних версіях було покращено підтримку тегів та виправлення проблем, а також допилювання нового функціоналу. Наступну значну зміну було зроблено у WebView 1.0 Beta 4: перегляд вихідного коду сторінки у браузері з підсвічуванням синтаксису.

Останньою на сьогодні версією є WebView 1.0 Beta 6.1. У ній було проведено значну роботу з оптимізації програми.

Невеликий відео огляд:

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. Записуємо образ
  • з-під Linux:
    • dd if=kolibri.img of=/dev/fd0

  • з-під Windows:
    • rawrite2 -f kolibri.img -d A

  • На жорсткий диск (з використанням GRUB або GRUB2):
    1. Завантажуємо універсальний образ
    2. Розпаковуємо його в папку kolibri в корені диска
    3. Налаштовуємо завантажувач
    • GRUB. У menu.lst додаємо рядки:
      • label KolibriOS
        root ( hd0,0)
        kernel /kolibri/HD_Load/memdisk
        initrd /kolibri/kolibri.img

    • GRUB2. У grub.cfg додаємо рядки:
      • title KolibriOS
        search --no-floppy --fs-uuid --set=root UUID
        linux16 /kolibri/HD_Load/memdisk
        initrd16 /kolibri/kolibri.img

  • На 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


    Вибір відеорежиму зі списку підтримуваних






    Вміст меню "Ігри" > "Логічні"


    Вміст меню "Ігри" > "Аркади"


    Вміст меню "Демки" > "Тривимірні" (демонстрація можливостей графічної системи)


    Вміст меню "Графіка"



    Вміст меню "Розробка" > "Приклади"


    Вміст меню "Система" > "Налаштування"


    Вміст меню "Система" > "Системні сенсори"



    Вміст меню "Система" > "Тестування"


    Вміст меню "Система" > "Спеціальні можливості"


    Вміст меню "Обробка даних"


    Вміст меню "Мережа" > "Сервери"



    Вміст меню "Різне"





    Судоку, сапер, шашки




    Системний монітор. Відкривається натисканням на щось червоное в треї



    Вікно завершення роботи

    Особливий інтерес викликає інтерфейс системи. Адже її розмір вкрай малий і може виникнути думка, що інтерфейс убогий. Але це зовсім так. Тут потрібно розглядати такі критерії як зовнішній вигляд та функціональність. Зовнішній вигляд порадував: він сприймається нарівні з віконними менеджерами в системах Linux.

    Підсумки

    Мені KolibriOS сподобалася. Так, мало хто буде використовувати її як основну операційну систему. Але для мене вона стала символом завзятості, віри у свої сили та успіх. Ось уже 9 років ведеться технологія колібрі на асемблері fasm. Зроблено вже багато, але проект продовжує жити та розвиватися. Нещодавно, наприклад, з'явилася USB-підтримка. І щодня(!) виходять нічні зборки, що реалізують нові функції.
    Одним із найголовніших недоліків є відсутність звичних програм. А це не є добре. Зате можна Архів Інтерактив

    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.

    - Який зараз статус розробки?

    Переверзів:Зараз ми очікуємо на вихід нової версії, але з номером ще не визначилися. Минула була 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, тобто клавіатури та мишки працюють.

    - Що ще планується додавати в найближчому майбутньому?

    Переверзів:Важко сказати, що тут все залежить від особистого часу розробників.

    Солодуха:Зараз, наприклад, на форумі з'явилася людина, яка начебто хотіла реалізувати 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 Ватт. Він не має ні жорсткого диска, ні вентиляторів, він зовсім безшумний.

    Поділитися: