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

Изменения в версии 10.1 за период с 13 января по 16 апреля 2020 года

  • добавлена поддержка чтения с файловой системы XFS форматов v4 (2013) и v5 (2020)
  • количество обрабатываемых прерываний увеличено с 24 до 56
  • добавлена обработка более одного I/O APIC
  • улучшен алгоритм перезагрузки: теперь используется Reset регистр из FADT таблицы, если он доступен
  • корректное определение звука на самых новых AMD-чипах
  • исправления в поиске дополнительной папки
  • текстовый браузер WebView вырос с версии 1.8 до 2.46: появился кэш веб-страниц, вкладки, он-лайн обновление, динамическое выделение памяти, ручной выбор кодировки, автоопределение кодировки, поддержка DOCX файлов, переход по якорям, читать стало удобнее
  • изменения в командной оболочке SHELL: улучшена вставка текста, навигация по редактируемой строке, вывод ошибок, добавлена подсветка папок в листинге
  • обновлена документация
  • другие мелкие изменения, улучшения и исправления

Что нового в Kolibri N10

Список изменений, приведенный ниже, описывает изменения в Kolibri N10 и охватывает период с 23 августа 2014 по 12 января 2020 года. Безусловно, он является далеко не полным и тем более не исчерпывающим — это лишь удобное представление основных изменений SVN.

Мировая практика

Искусственный интеллект дополняет и постепенно заменяет программистов не только в России. В июне 2020 г. CNews писал, что компания Amazon запустила сервис Honeycode для создания приложений без необходимости написания программного кода. Проект полностью бесплатный, и использовать его могут как обычные потребители, так и крупные компании. К примеру, Slack, разработчик одноименного мессенджера, уже заявил о готовности к использованию Honeycode в своей работе.

Amazon Honeycode

В конце июня 2021 г. корпорация Microsoft запустила сервис Copilot, представляющий собой виртуального помощника программиста на базе искусственного интеллекта.

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

Помощник программиста в действии

За месяц до запуска Copilot Microsoft создала инструмент для написания ПО без развитых навыков программирования. Проект получил название Microsoft Power Apps, и он пригодится тем, кто пишет на языке Power Fx. С его помощью пользователи могут разрабатывать программы в формате диалога с компьютером. Например, при разработке приложения в сфере электронной коммерции можно будет описать в диалоге желаемую цель на естественном английском языке, после чего Power Apps задействует алгоритмы искусственного интеллекта и предложит варианты преобразования этого запроса в формулу Microsoft Power Fx.

В октябре 2020 г. в открытом доступе появилось приложение Lobe для создания готовых моделей машинного обучения. Lobe дает возможность создавать такие модели даже тем, кто не умеет программировать — от пользователей нужно лишь загрузить в нее данные, а всю работу программа выполнит сама. Lobe полностью бесплатна. Результат ее работы затем можно использовать в сторонних ПО и устройствах. Разработала Lobe все та же Microsoft.

Впечатления от работы в ReactOS

Проработав в ReactOS несколько дней, мы пришли к пока что неутешительным выводам

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

Отказалась система распознавать и внешние накопители… К работе встроенного ПО особых претензий нет, но и толку от него, по правде сказать, немного.

Учитывая тот факт, что за 23 года своего существования ReactOS так и не вышла из стадии альфа-тестирования, ждать выхода стабильной версии этой альтернативной системы в ближайшие 2-3 года не предвидится. Объективно ReactOS отстает от Windows лет как минимум на 20, и шансы догнать раскрученный продукт Microsoft у нее ничтожно малы. Похоже, таковыми они будут оставаться и далее, если только в своем тесном кругу создатели ReactOS не придумают нечто и вправду революционное.

Кому и зачем нужен язык ассемблера?

Даже из нашего примера «Hello, World!» видно, что ассемблер не так удобен в разработке, как языки высокого уровня. Больших программ на этом языке сейчас никто не пишет, но есть области, где он незаменим:

  • На ассемблере разрабатывают встроенные программы для микроконтроллеров. Это миниатюрные компьютеры, установленные в системах сигнализации, пультах управления, датчиках, бытовой технике, модемах и во многих других устройствах. Микроконтроллеры используются даже в робототехнике и спутниковых навигационных системах. Объём памяти у этих мини-компьютеров ограничен, а ассемблер удобен для их программирования тем, что одна его команда транслируется в одну команду в двоичном коде. По исходному тексту программы можно определить время её исполнения и объём памяти для её хранения.
  • На ассемблере пишут драйверы устройств и некоторые компоненты операционных систем — например, ядро или загрузчик. Любительские операционные системы MenuetOS и KolibriOS полностью написаны на ассемблере. Ассемблерный код есть в программах для игровых приставок и мультимедийных кодеков.
  • Ассемблер применяется в реверс-инжиниринге — обратной разработке программ. Реверс-инжиниринг используют, чтобы понять, как работают программы, какой у них алгоритм. Это нужно в тех случаях, когда создатель по каким-то причинам не хочет публиковать исходный код. Обратной разработкой занимаются антивирусные компании, исследующие вирусы и трояны, создатели драйверов и операционных систем, а также просто любопытные. Ещё её активно применяют компьютерные злоумышленники всех мастей: взламывают программы, ищут уязвимости, пишут вирусы, генераторы ключей и тому подобное.

Три секунды славы

Согласно обещаниям разработчиков, KolibriOS делает или способна делать все нижеперечисленное — работать на IA32-совместимом процессоре с 8 Мб оперативной памяти, загружаться с различных устройств, включая NTFS-разделы, а также загружать себя непосредственно из Windows, поддерживать вытесняющую многозадачность, графику VESA, аудио AC97, файловые системы FAT/FAT16/FAT32, CDFS и частично NTFS/EXT2/EXT3.
Я тестировал эту операционную систему в VirtualBox поверх Ubuntu, хотя, теоретически, ее прекрасно можно было бы загружать на реальном железе, кроме того, в интернете можно найти множество статей, описывающих успешную настройку двойной загрузки KolibriOS с различными дистрибутивами Linux.
Я выделил 64 Мб оперативной памяти, что более чем достаточно для KolibriOS, и она должна была просто летать. Чтобы действительно показать вам, насколько она быстра, я записал процесс загрузки. Здесь показано простое загрузочное меню KolibriOS. Далее, я нажимаю клавишу Enter и вскорее оказываюсь в полностью загруженной системе. Насколько быстро это происходит? Вы можете сами оценить время загрузки, посмотрев видео, встроенное на этой странице, или перейдя на YouTube, если вы не любите встроенные клипы. Сконцентрируйтесь на видео, так как клип очень, очень короткий.

И здесь же для вас на клип на YouTube.

Я записал видео с помощью gtk-recordMyDesktop. Затем я конвертировал полученный файл .ogv в .avi, используя mencoder, и в конце удалил несколько лишних фреймов с помощью Avidemux.
Вы можете убедиться, что загрузка занимает менее 3 секунд, что свидетельствует об исключительной скорости работы операционной системы. Это производит очень сильное впечатление.

Немного истории

Чтобы яснее понять, что же представляет собой ReactOS, желательно совершить небольшой экскурс в историю. Всё началось в 1996 году, когда некто Джейсон Филби решил создать свободную операционную систему, не уступающую по функциональности стремительно набирающей тогда популярность Windows 95 и при этом лишенную многочисленных недостатков последней. Поскольку по замыслу Филби новая система должна была уметь то же самое, что и Windows 95, проект получил название FreeWin95.

Несмотря на то, что вокруг Филби собралось немало опытных разработчиков, дела подвигались медленно, к тому же между программистами возник спор на тему дизайна операционной системы, еще больше затормозившей развитие проекта. Спустя год разработчики, наконец, пришли к единому решению. Вместо Windows 95, в качестве образца решено было взять Windows NT, а название проекта изменить на ReactOS. Следующая задержка произошла в 2006 году, когда один из участников проекта заявил, что часть кода ReactOS получена путем дизассемблирования Windows.

В результате доступ к кодам операционной системы был временно закрыт, а спустя пару месяцев разработчики начали собственный аудит кода на предмет заимствовании у Microsoft. Подтверждений прямого клонирования компонентов Windows найдено не было и осенью 2007 года работа над ReactOS продолжилась в полном объеме. Итак, как следует из сказанного выше, ReactOS не является клоном Windows NT в привычном понимании этого слова. Это вполне независимая операционная система, совместимая с драйверами и программным обеспечением Windows и поддерживающая 32-битную архитектуру.

KolibriOS

KolibriOS 0.5.8.1, ванильные обои тогда были не в моде

Изменения в версиях 0.52 и 0.53 касались улучшения загрузочного экрана, вывода шрифтов на экран, обработки мыши, графического интерфейса ОС. Появилась поддержка MIDI-файлов. В версии 0.58 были серьезные изменения в работе с жесткими дисками (в том числе поддержка длинных имен файлов), появилась поддержка файловой системы CDFS и стандарта управления питанием APM. В версию 0.60 были включены улучшения работы в некоторых графических режимах, в работе с мышью и жесткими дисками, в ней также появилась поддержка вывода ASCIIZ-строк. Выход KolibriOS 0.63 был связан с внедрением поддержки внешних драйверов и динамических библиотек, поддержкой DMA для жестких дисков и формата музыкальных файлов mp3. В релиз 0.65 включена поддержка файловой системы NTFS (только чтение и запуск программ), нестандартных курсоров мыши и изменения в нескольких десятках программ.

Летом 2007 года было переписано ядро на использование плоской модели памяти с целью ускорения работы и стабильности приложений. Это изменение привело к невозможности запускать программы Menuet32 в KolibriOS, но мы мало что потеряли, поскольку Menuet32 практически не развивается.

Уже положено начало единой библиотеке элементов графического интерфейса, что ускорит разработку новых программ и их функциональность. В планах разработчиков: поддержка нормальных шрифтов; улучшение мультимедийных, офисных и сетевых программ; портирование компилятора языка Cи (уже есть наработки по Tiny C Compiler и Open Watcom); расширение функциональности в работе с файловыми системами; создание системного буфера обмена; поддержка USB.

Borland C++

  • Лицензия: утилиты командной строки бесплатны ( www.borland.com/bcppbuilder/freecompiler или поиск «Command-Line tools» по сайту), IDE коммерческая
  • Доступные библиотеки для Колибри: базовая, необходимая для работы (включает работу с многопоточностью, обёртки системных вызовов, работу с кучей, работу с файлами, но RTL нет).
  • Примеры программирования для Колибри: life2 (programs\demos\life2)
  • Генерируемые форматы: 32-bit PE
  • Средства разработки: командная строка в Windows; IDE для Windows
#include <kolibri.h>
#include <kos_heap.h>
#include <kos_file.h>

using namespace Kolibri;

const char header[] = "Colors";

bool KolibriOnStart(TStartData &kos_start, TThreadData th)
{
       kos_start.Left = 10;
       kos_start.Top = 40;
       kos_start.Width = 135;
       kos_start.Height = 80;
       kos_start.WinData.WindowColor = 0xFFFFFF;
       kos_start.WinData.WindowType = 0x34; // 0x34 - fixed, 0x33 - not fixed
       kos_start.WinData.Title = header;
       return true;
}

void KolibriOnPaint(void)
{
       // If button have ID 1, this is close button
       DrawButton(2,0xff0000, 10,40,50,20);
       DrawButton(3,0x00ff00, 70,10,50,20);
       DrawButton(4,0x0000ff, 70,40,50,20);
       DrawButton(5,0xFFFE00, 10,10,50,20);
}

void KolibriOnButton(long id, TThreadData th)
{
       switch(id){
       case 2:
               SetWindowCaption("Red");
               break;
       case 3:
               SetWindowCaption("Green");
               break;
       case 4:
               SetWindowCaption("Blue");
               break;
       case 5:
               SetWindowCaption("Yellow");
               //break;
       };
}
/*
int KolibriOnIdle(TThreadData th)
{
       return -1;
}
void KolibriOnSize(int window_rect[], TThreadData th) {}
void KolibriOnKeyPress(TThreadData th)
{
       GetKey();
}
void KolibriOnMouse(TThreadData th) {}
*/

Что-бы компилировать FASM версией выше 1.64 нужно пропатчить компилятор.
Пример файла window_cpp.bat:

Set NAME=window
Set BCC_DIR=..\..\..\bcc32
kos32-bcc -S -v- -R- -6 -a4 -O2 -Og -Oi -Ov -OS -k- -D__KOLIBRI__ -I..\..\..\bcc32\include %NAME%.cpp

echo STACKSIZE equ 102400> kos_make.inc
echo HEAPSIZE equ 102400>> kos_make.inc
echo include "%BCC_DIR%\include\kos_start.inc">> kos_make.inc
echo include "%BCC_DIR%\include\kos_func.inc">> kos_make.inc
echo include "%BCC_DIR%\include\kos_heap.inc">> kos_make.inc

echo include "kos_make.inc" > f_%NAME%.asm
t2fasm < %NAME%.asm >> f_%NAME%.asm
fasm f_%NAME%.asm %NAME%.kex
if exist %NAME%.kex kpack %NAME%.kex
if exist %NAME%.kex del kos_make.inc
pause

Как появилась KolibriOS

Многие из авторов «Колибри» до этого работали в другом проекте — MenuetOS, из которой и выросла эта птичка. Они заметили, что у всех операционок есть общая проблема — дико раздутое и уже потому ненадежное ядро. Еще в начале нулевых об этом писал Брюс Шнайер в книге «Секреты и ложь. Безопасность данных в цифровом мире». Тогда ему казалось, что у популярных в то время ОС — всевозможных клонов UNIX, Windows NT 4.0 и следующей за ней Windows 2000 (NT 5.0) — все очень плохо с безопасностью именно из-за огромного ядра.

«Когда система UNIX была написана впервые, считалось обязательным помещение несущественных кодов за пределами ядра. <…> Все имеющиеся сейчас разновидности UNIX в той или иной степени страдают распуханием ядра: у них либо слишком много команд в ядре, либо имеются непонятные утилиты, запускающиеся в случае корневого доступа, либо что-то еще.

Примерно тогда же группа программистов из Финляндии, Польши и стран бывшего СССР предприняла попытку создать принципиально новую операционку. Написать ее почти с нуля и сделать как можно компактнее — в идеале, чтобы она помещалась на дискету (флешек в те времена еще не было, и даже пишущий CD-привод казался диковиной).

Этой системой была MenuetOS. Идейным вдохновителем выступил Вилле Микаэль Турьянмаа. Когда-то он работал с MrOS — графической многозадачной оболочкой для DOS, со временем выросшей в отдельную операционку. Идеи MrOS легли в основу «Менуэта».

Поначалу 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). Это куда более простой способ создавать библиотеки, драйверы и программы.

Загрузка и установка

Загрузить установочный образ ReactOS можно с официального сайта проекта reactos.org/download. Есть образ для установки на жесткий диск, есть отдельно образ для запуска системы в режиме LiveCD. ReactOS имеет скромный вес и столь же скромные требования к ресурсам памяти,— 256 Мб ей хватит с головой. Процедура установки во многом напоминает установку ранних версий Windows: поэтапно вам нужно будет выбрать язык, согласиться с автоматически выбранными параметрами и произвести разбивку дискового пространства на разделы, если в этом есть необходимость. Для выбора используются клавиши-стрелки, для выполнения операций — клавиша ввода.

Затем последует предложение выбрать файловую систему. ReactOS версии 0.4.11 поддерживает FAT и BTRFS — файловую систему Linux. Выбираем FAT, производим форматирование, устанавливаем загрузчик на жесткий диск (MBR и VBR) и автоматически перезагружаемся. За сим выбираем в списке параметров загрузки ReactOS и через несколько секунд попадаем в мастер установки, а вернее настройки операционной системы. На следующем этапе вы можете изменить раскладку, создать пользователя и ввести пароль, дать имя компьютеру, установить время и выбрать тему оформления. После очередной перезагрузки компьютер будет готов к работе.

Где используют ассемблер в 2021 году

Сегодня ассемблер используют как минимум в четырёх направлениях.

Операционные системы и компиляторы. Современные операционные системы, например дистрибутивы Linux, пишут на C/C++, но там есть фрагменты на ассемблере. Некоторые фрагменты g++ и компиляторы для BASIC и Fortran тоже написаны на машинно-ориентированном языке.

Встроенные системы и драйверы. На ассемблере пишут драйверы под Windows для архитектуры процессоров x86 и программы для AVR-микроконтроллеров и Arduino.

Кибербезопасность и хакинг. С помощью ассемблера хакеры взламывают ПО, а разработчики пишут на нём защиту от взлома. Иногда встречаются и вирусы на ассемблере. Их тяжелее обнаружить, и они куда эффективнее высокоуровневых.

Виртуальные машины / эмуляторы. Виртуальные машины тесно взаимодействуют с ОС, поэтому частично написаны на ассемблере. Как, например, LLVM или Surface Duo Emulator.

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


Кадр: мультсериал «Губка Боб Квадратные Штаны»

Когда и как был создан ассемблер?

Это произошло ещё в сороковых годах прошлого века. Ассемблер был создан для первых ЭВМ на электронных лампах, программы для которых писали на машинном языке. А так как памяти у компьютеров было мало, то команды вводили, переключая тумблеры и нажимая кнопки. Даже несложные вычисления занимали много времени.

Проблему решили, когда ЭВМ научились хранить программы в памяти. Уже в 1950 году была разработана первая программа-транслятор, которая переводила в машинный код программы, написанные на понятном человеку языке. Эту программу назвали программой-сборщиком, а язык — языком ассемблера (от англ. assembler — сборщик).

Что нужно для начала разработки для Колибри ОС (КОС)?

тут

  • Форум, чтобы знать в каком направлении двигаться;
  • Вики, хотя к сожалению достаточно фрагментирована, но даст необходимый минимум обзорной информации;
  • Исходные тексты программ в хранилище Subversion (SVN);
  • Справочник по системным функциям на русском и английском языке , или на Вики;

Чем пользоваться для разработки и что для этого нужно:

  1. Подготовить рабочую среду или машину для запуска системы. Можно работать и на живом железе (возможно с проблемами поддержки оборудования). Лично я запускаю ОС в бесплатном для некоммерческого использования VMware Player, но Колибри работает и в QEMU и в VirtualBox, и в Bochs эмуляторе.
    Установить SVN-клиент по выбору – например для командной строки есть SlikSVN, визуальные RapidSVN, SubTile (нужен Firefox runtime), а есть в виде расширения Windows Exporer TortoiseSVN.
    Полный учебник по работе с SVN ищем в сети, приведу здесь примеры типовых команд для SlikSVN, находясь в нужном каталоге:
    Для загрузки исходных текстов с SVN пароль не требуется. Можно для просмотра кода Колибри и приложений пользоваться Web-возможностями сервера SVN, но в нем не видно русскоязычных комментариев в кодировке CP1251 (CP866 поддерживается).
  2. Ассемблер FASM, и редактор Tinypad идут в комплекте установленной системы, что естественно для системы, написанной на Ассемблере. Прямо из редактора можно открыть справочник по системным функциям, доску отладочных сообщений Board, оттранслировать программу и запустить ее независимо либо в системном отладчике Mtdbg. Пример программы тоже есть в ISO-образе, еще можно смотреть программы на SVN по пути SVN:/programs/demos.
  3. C—. Второй родной язык для этой системы, на котором написаны многие системные утилиты. Похож на С, но вместо стандартной С-библиотеки использует прямые системные вызовы и позволяет работать с регистрами процессора напрямую, за счет чего программа получается компактнее. , примеры программ, весьма кстати приятно написанных – SVN:/programs/cmm. Библиотека SVN:/programs/cmm/lib. Имеется работающий в Колибри и кросс компилятор для Windows. О нем есть более подробная статья на Хабре от Punk_Joker
  4. Кросс компилятор C/C++ GCC. Хостом может служить Linux или Windows. Лежит тут, нужно скачать msys-kos32 либо linux-kos32 и SDK с готовыми С-библиотеками для КОС. Кое-какие требуемые для запуска GCC dll под Windows, возможно придется подгрузить отдельно со страницы mingw, если у вас на машине еще его нет. Использует модифицированную для КОС библиотеку newlib, которую нужно скачать с SVN:/contrib/sdk/sources/newlib (рядом лежит и libstdc++-v3). В SDK имеется предсобранная libc.dll для динамической загрузки, а для статической компоновки библиотеку придется собрать самому.
    Единственное неудобство кросс-компиляции – нужно каждый раз копировать полученную программу в систему. Варианты – или через FTP если сервер заработает с вашей сетевой картой, или через USB-флэшку, или модифицируя ISO-образ системы (например с помощью Magic ISO Maker) и перезапуская ее. По этому компилятору есть статья на Хабре от pascualle, из которой можно взять makefile. В ближайшей перспективе (уже в тесте) выпуск порта версии gcc 5.4 от ion2
  5. Простой компилятор TinyC в виде родного и кросс-компилятора для Windows (можно собрать и для Linux). Взять полный комплект с примерами , проще всего его копировать вместе с программой в Колибри и там использовать. Поддерживает только чистый С, с поддержкой некоторых расширений языка от GCC, например атрибутов и ассемблерных вставок.

WARNING

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

Изменения в ночных сборках хоть и невелики, но за годы их накопилось достаточно. Обновленная «Колибри» может писать на разделы FAT16–32 / ext2 — ext4 и поддерживает другие популярные файловые системы (NTFS, XFS, ISO-9660) в режиме чтения. В ней появилась поддержка USB и сетевых карт, был добавлен стек TCP/IP и звуковые кодеки. В общем, в ней уже можно что-то делать, а не просто посмотреть разок на сверхлегкую операционку с GUI и впечатлиться скоростью запуска.

Как и предшествующие версии, последняя «Колибри» написана на flat assembler (FASM) и занимает одну дискету — 1,44 Мбайт. Благодаря этому ее можно целиком разместить в какой-нибудь специализированной памяти. Например, умельцы записали KolibriOS прямо во Flash BIOS . Во время работы она может целиком размещаться в кеше некоторых процессоров. Только представь: вся операционка вместе с программами и драйверами кеширована!

WARNING

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

Изменения в ночных сборках хоть и невелики, но за годы их накопилось достаточно. Обновленная «Колибри» может писать на разделы FAT16–32 / ext2 — ext4 и поддерживает другие популярные файловые системы (NTFS, XFS, ISO-9660) в режиме чтения. В ней появилась поддержка USB и сетевых карт, был добавлен стек TCP/IP и звуковые кодеки. В общем, в ней уже можно что-то делать, а не просто посмотреть разок на сверхлегкую операционку с GUI и впечатлиться скоростью запуска.

Как и предшествующие версии, последняя «Колибри» написана на flat assembler (FASM) и занимает одну дискету — 1,44 Мбайт. Благодаря этому ее можно целиком разместить в какой-нибудь специализированной памяти. Например, умельцы записали KolibriOS прямо во Flash BIOS . Во время работы она может целиком размещаться в кеше некоторых процессоров. Только представь: вся операционка вместе с программами и драйверами кеширована!

Применение KolibriOS. Часть 1: Обзорная

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

  • Компактное ядро с открытым кодом;
  • Минималистская простота и удобство графической подсистемы;
  • Достаточно развитый пользовательский интерфейс;
  • Приличный низкоуровневый системный сервис;
  • Поддержка наиболее популярных сетевых протоколов и файловых систем.

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

Прочее

Уменьшено время загрузки системы
Перевод системы автосборки на Tup (подробнее здесь). В результате почти все программы и игры из дистрибутива КолибриОС, написанные на ЯВУ, собираются из исходников (включая QUAKE и др.). Инструкция на английском языке находится здесь.
Почищен SVN, удалены дубликаты.
18 января были подведены итоги конкурса игр. Победители получили денежные призы: LaserTank, N-sider, Dungeons of Augastes, 21days.
Проведена кропотливая работа по упаковке данных и применены различные техники получения дополнительного свободного места в IMG образе: несколько конфигурационных файлов объединены в один app.ini, максимально сжаты изображения, ручное уменьшение использованых в картинках цветов без визуальной потери качества, использование сжатых ресурсов и т.д.
Вышла — смотрелка скинов Колибри под Windows. Удобно при разработке.
Вышел — эмулятор Колибри под Линукс

Идет разработка KEM (не путать с KEX:) — эмулятора Колибри под Windows x32, в нем уже можно запустить некоторые программы.
Поддержка кросскомпиляции для множества языков, включая даже Делфи

Смотрите статью Использование различных компиляторов в КолибриОС и обратите особенное внимание на BigSample — пример, в котором несколько исходников (uasm32, tasm32, goasm, nasm, fasm, as, c—, bcc32, dcc32) компилируются каждый с помощью своего инструмента. Затем полученные объектные файлы все вместе линкуются с помощью LD.

Заключение

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: