След година и половина работа, публикувана е петата бета версия на операционната система Haiku R1. Първоначално проектът беше създаден като реакция на затварянето на ОС BeOS и се развиваше под името OpenBeOS, но беше преименуван през 2004 г. поради претенции свързани с използването на търговската марка BeOS в названието. Подготвени са няколко заредени Live образи (x86, x86-64 1.4 GB) за оценка на работата на новото издание. Изходните кодове на по-голямата част от ОС Haiku се разпространяват под свободна лицензия MIT, с изключение на някои библиотеки, медийни кодеци и компоненти, заимствани от други проекти.
ОС Haiku е насочена към персонални компютри, използва собствено ядро, построено на модулна архитектура, оптимизирано за висока реактивност на действията на потребителя и ефективно изпълнение на многопоточни приложения. За разработчиците е представен обектно-ориентиран API. Системата директно се основава на технологии от BeOS 5 и е нацелена на бинарна съвместимост с приложения за тази ОС. Минималните изисквания към хардуера: CPU Pentium II или AMD Athlon и 384 MB RAM (препоръчително е Intel Core i3 или AMD Phenom II и 2 GB RAM).
В качеството си на файловата система се използва OpenBFS, която поддържа разширени атрибути на файловете, журнализация, 64-битови указатели, поддръжка на съхранение на мета-тагове (за всеки файл могат да се запазят атрибути във формата ключ=стойност, което прави файловата система подобна на база данни) и специални индекси за ускоряване на търсенето по тях. За организиране на структурата на директориите се използват дървета 'B+ tree'. От кода на BeOS в състава на Haiku е включен файловия мениджър Tracker и панелът Deskbar, изходните кодове на които бяха отворени след оттеглянето на BeOS от сцената.
Основни нововъведения:
- В настройките на външния вид интерфейсът за избор на цветове е опростен. Вместо 30 параметъра по подразбиране, сега се показват три (фон на панела, цветът на статусната лента и цветът на табовете), а останалите се изчисляват автоматично спрямо избраните три стойности. При автоматичния избор на цветове се взема предвид изборът на тъма или светла тема (например, при активна тъма тема, се избират светли цветове за текста). Предвидена е отделна опция за възстановяване на показването на целия набор от параметри за ръчно редактиране.

- Направени са много корекции, целящи подобряване на поддръжката при избора на тъма тема.

- В редактора за икони Icon-O-Matic е добавена поддръжка за преобразуване на перспектива и показване на еталонен образ като фон (за повторение на контурите в иконата). Функционалността за копиране и поставяне е значително подобрена.

- При първоначалното стартиране, ако системата открие наличието на батерии, автоматично се инсталира панел с аплет PowerStatus, който показва състоянието на заряда и параметрите на батерията. Повишена е точността на информацията за нивото на заряда. За информиране на потребителя относно низкото ниво на заряда са добавени звуков сигнал и уведомление.

- В файловия мениджър Tracker е подобрена работата с директории и дискови дялове, достъпни в режим само за четене, които сега са ясно обозначени с по-тъмен фон (този фон преди се използваше за виртуални директории). За елементите на файловата система, които са само за четене, също са деактивирани елементите в менюто, изискващи достъп до запис.

- Продължава развитието на портовете на външни приложения. От предишното издание са портнати нови програми на KDE, разширен е броят на поддържаните GTK-програми, добавен е порт с отладчик GDB 15 (по-рано се доставяше GDB 6) и е реализиран експериментален порт на платформата .NET Core 9.

- Подобренa е работата на междинния слой за осигуряване на съвместимост с X11/Xlib. Предоставена е възможността за използване на графичния тулкит FLTK (от ограниченията се отбелязва липсата на поддръжка на функции, свързани с OpenGL).

- Добавена е поддръжка на звукови устройства с USB интерфейс (автоматично превключване на звуковия изход при свързване на USB устройство към момента не работи, поради което е необходимо презареждане на системните мултимедийни услуги за превключване).
- Добавен е драйвер за мрежови интерфейси TUN/TAP, който може да се използва за създаване на мрежови тунели и организиране на работа. VPN.
- Оптимизации в TCP стека значително увеличиха пропускната способност (производителността на TCP връзките се увеличи 8-10 пъти, а пропускната способност на loopback интерфейса (localhost) нарасна с няколко реда). Подобрено е воденето на броячи за натрупване на статистика. Намалено е количеството операции по копиране на буфери. Добавена е възможността за изнасяне на операцията по изчисление на контролните суми на пакетите на страната на мрежовите карти.
- Разширени са възможностите на терминалния емулатор, в който е добавена поддръжка на екранно поставяне от буфера за обмен, случай на използване в преносим текст с разцепени редове и специални символи. В настройките е добавена възможността за промяна на цветови схеми.
- Проведен рефакторинг на слоя TTY/PTY, унифицирован код TTY и PTY, добавена поддръжка на TTY разширения, като TIOCOUTQ.
- Оптимизирана производителността на ядрото и драйверите, добавена възможност за пакетно изпълнение на входно/изходни операции, оптимизирано използване на заключвания при стартиране на програми, подобрена ефективност на картографиране на файлове в паметта, намалена конкуренция между заключванията при картографиране на страници памет, повишена производителност на разпределението на временни буфери, добавени оптимизации в системата за вход/изход, в зареждача на изпълними файлове във формат ELF добавена поддръжка на DT_GNU_HASH.
- Преобразувана архитектура на механизма за заключвания user_mutex, близък по възможности до системата futex в Linux и използван за реализиране на повиквания pthread_mutex и pthread_rwlock. Новата архитектура реши предишно възникнали проблеми със състоянието на състезателни условия и повиши производителността (например, скоростта на компилация нарасна с 25%).
- Драйверът за файловата система FAT е заменен с нов вариант, пренесен от FreeBSD. Замяната на драйвера реши проблеми с съвместимостта с други реализации на FAT.
- Добавен е драйвер за файловата система UFS2 (Unix File System 2), използвана във FreeBSD. Драйверът в момента работи само в режим на четене.
- Реализирана е част от API за мултиплексиране на входно-изходни операции kqueue.
- Разширени възможности за трасировка и профилиране на процесите с помощта на утилити strace и profile.
- Подобренa е съвместимостта с POSIX спецификациите. Реализирани функции getentropy, arc4random, pthread_sigqueue, preadv и pwritev, както и добавена поддръжка за Unix сокети (AF_UNIX) SOCK_DGRAM.
- Проведена е значителна работа по повишаване на стабилността на цялата система. Устранени са много проблеми, довели до аварийни прекратявания и сривове в работата на ядрото и драйверите.
Източник: opennet.ru







