LINUX.ORG.RU

Вышла четвертая бета-версия ОС Haiku

 , , ,


3

5

Тихо и незаметно…

После полутора лет разработки опубликован четвёртый бета-выпуск операционной системы Haiku R1. Изначально проект был создан как реакция на закрытие ОС BeOS и развивался под именем OpenBeOS, но был переименован в 2004 году из-за претензий, связанных с использованием в названии торговой марки BeOS.

Для оценки работы нового выпуска подготовлено несколько загрузочных Live-образов (x86, x86-64). Исходные тексты большей части ОС Haiku распространяются под свободной лицензией MIT, исключение составляют некоторые библиотеки, медиа-кодеки и компоненты, заимствованные из других проектов.

ОС Haiku ориентирована на персональные компьютеры, использует собственное ядро, построенное на основе модульной архитектуры, оптимизированное для высокой отзывчивости на действия пользователя и эффективного выполнения многопоточных приложений. Для разработчиков представлен объектно-ориентированный API. Система напрямую базируется на технологиях BeOS 5 и нацелена на бинарную совместимость с приложениями для данной ОС. Минимальное требование к оборудованию: CPU Pentium II и 384 МБ ОЗУ (рекомендовано Intel Core i3 и 2 ГБ ОЗУ).

В качестве файловой системы используется OpenBFS, поддерживающая расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения мета-тэгов (для каждого файла можно сохранить атрибуты в форме ключ=значение, что делает ФС похожей на БД) и специальных индексов для ускорения выборки по ним. Для организации структуры директорий используются «B+ tree» деревья. Из кода BeOS в состав Haiku включён файловый менеджер Tracker и панель Deskbar, исходные тексты которых были открыты после ухода BeOS со сцены.

Основные новшества:

  • Улучшена работа на экранах с высокой плотностью пикселей (HiDPI). Реализовано корректное масштабирование интерфейса, не ограничивающееся изменением размера шрифтов. При первой загрузке Haiku теперь пытается автоматически определить наличие HiDPI-экрана и выбрать необходимые размеры для масштабирования. Выбранные параметры могут быть изменены в настройках, но для их применения пока требуется перезагрузка. Параметры масштабирования поддерживаются в большинстве родных приложений и в некоторых портированнных, но не во всех. Примеры: Стандартное DPI и HiDPI (200%).

  • Предоставлена возможность использования внешнего вида с плоским декоратором окон и плоским оформлением кнопок, вместо оформления с активным использованием градиентов. Плоское оформление поставляется в пакте Haiku Extras и включается в разделе настроек внешнего вида. Примеры: Light Theme и Dark Theme.

  • Добавлена прослойка для обеспечения совместимости с библиотекой Xlib, позволяющая запускать X11-приложения в Haiku без запуска X-сервера. Прослойка реализована через эмуляцию функций Xlib при помощи трансляции вызовов в высокоуровневый графический API Haiku.

  • Подготовлена прослойка для обеспечения совместимости с Wayland, позволяющая запускать тулкиты и приложения, использующие данный протокол, в том числе приложения на базе библиотеки GTK. Прослойка предоставляет библиотеку libwayland-client.so, основанную на коде libwayland и совместимую на уровне API и ABI, что позволяет запускать приложения Wayland без изменений. В отличие от типовых композитных серверов Wayland, прослойка не запускается в форме отдельного серверного процесса, а загружается как плагин к клиентским процессам. Вместо сокетов в сервере используется нативный цикл обработки сообщений на основе BLooper.

  • Благодаря прослойкам для совместимости с X11 и Wayland удалось подготовить рабочий порт библиотеки GTK3. Из приложений, которые можно запустить при помощи порта отмечены GIMP, Inkscape, Epiphany (GNOME Web), Claws-mail, AbiWord и HandBrake. Пример: GTK приложения.

  • Добавлен рабочий порт с Wine, который можно использовать для запуска Windows-приложений в Haiku. Из ограничений отмечается возможность запуска только в 64-разрядных сборках Haiku и способность выполнения только 64-разрядных приложений Windows. Пример: Wine в Haiku.

  • Добавлен порт текстового редактора GNU Emacs, работающий в графическом режиме. Пакеты размещены в репозитории HaikuDepot. Пример: Gnu Emacs в Haiku.

  • В файловый менеджер Tracker добавлена поддержка генерации и показа миниатюр изображений. Миниатюры сохраняются в расширенных атрибутах файлов. Пример: Миниатюры в Tracker.

  • Реализован слой для совместимости с драйверами FreeBSD. Из FreeBSD портированы драйверы для поддержки беспроводных USB-адаптеров с чипами Realtek (RTL) и Ralink (RA). Из ограничений отмечается необходимость подключения устройства до загрузки (после загрузки устройство не определяется).

  • Из OpenBSD портирован беспроводной стек 802.11 с поддержкой 802.11ac и драйверы iwm и iwx с поддержкой беспроводных адаптеров Intel «Dual Band» и «AX».

  • Добавлен драйвер USB-RNDIS, позволяющий организовать работу точки доступа через USB (USB tethering) для использования в качестве виртуальной сетевой карты.

  • Добавлен новый драйвер NTFS, основанный на библиотеке от проекта NTFS-3G. Новая реализация более стабильна, поддерживает интеграцию со слоем для кэширования файлов и обеспечивает хорошую производительность.

  • Добавлен транслятор для чтения и записи изображений в формате AVIF.

  • Браузерный движок HaikuWebKit синхронизирован с актуальной версией WebKit и переведён на сетевой бэкенд на базе библиотеки cURL.

  • В загрузчик добавлена поддержка 32-разрядных систем с EFI и предоставлена возможность установки 64-разрядного окружения Haiku из 32-разрядного загрузчика EFI.

  • Улучшена совместимость со стандартами POSIX. Продолжена замена вызовов стандартной Си-библиотеки, ранее перенесённых из glibc, на варианты из musl. Добавлена поддержка потоков C11 и методов locale_t.

  • Улучшен драйвер для накопителей NVMe, добавлена поддержка операции TRIM для информирования накопителя об освобождённых блоках.

  • Обеспечена возможность сборки ядра и драйверов новыми версиями GCC (включая GCC 11), для сборки системы из-за привязок к старому коду для совместимости с BeOS по-прежнему требуется GCC 2.95.

  • Проведена общая работа по повышению стабильности всей системы.

Всех заинтересованных милости просим в наш чатик в телеграмме.

>>> Подробности



Проверено: hobbit ()

Ответ на: комментарий от X512

Надо потратить условно полдня привыкнуть. Главный кайф — реально легче писать, рука не напрягается.

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

spqr ★★★ ()
Ответ на: комментарий от EXL

Вот в Linux популярные ФС подобных фич не имели и проекту KDE пришлось накручивать такие убогие и жирные костыли, за которые его матерят до сих пор. Да-да, я про всякие там MySQL базы данных которые тянули и наверное до сих пор тянут за собой простенькие PIM-программки типа Kontacts, KMail и даже плееры вроде Amarok.

когда в кедах прикрутили MySQL и когда в линуксовых ФС появились атрибуты?

kott ★★★★★ ()
Ответ на: комментарий от R_He_Po6oT
>touch Clara\ Botters
>setfattr -n user."META: city" -v Whelton Clara\ Botters
>getfattr -n user."META: city" Clara\ Botters
# file: Clara Botters
user.META: city="Whelton"

то что этим особо не пользуются в зоопарке ДЕ - это да

kott ★★★★★ ()
Ответ на: комментарий от hateyoufeel

Win/Super никогда в качестве Command не использовалась. Это вообще отдельная штука.

Работаю в локализации, перевожу сайты и мобильные приложения в браузерной софтине заказчика. Софтина, если у тебя не Windows, подсовывает маковские хоткеи. Некоторые линуксоиды приловчились использовать Win. Меня такой вариант не устроил. Во-первых, хрен попадешь в эту Win влепую. Во-вторых, половина хоткеев конфликтует с системными. Подсовываю UI с десяточкой.

В общем, использовались они и до сих пор используются, потому что баг больше полгода не фиксят.

Vidrele ()
Ответ на: комментарий от BydymTydym

Заставишь, только захотеть. Ну, этот вопрос выше уже исчерпан. Я просто писал с лагом в джве страницы

pihter ★★★★★ ()
Ответ на: комментарий от X512

ReactOS пытается сделать доскональный клон Windows с воспроизведением внутренних часто недокументированных интерфейсов.

Пусть сперва утечки памяти в Memory Manager’е победят. Хотя, безусловно, сложность ROSовского менеджера памяти определяется перечисленными вами причинами, тоже.

tiinn ★★★★★ ()

Значить, докладаю: решил водрузить сабж на реальное железо, вынул сподкровати старенький моноблочик времен икспухи (acer aspire r3700), записал нсталяшку на флешку, бац-бац и установил.

Ч че б вы думали? Оно подхватило встроенный вай фай! Ввел пароль, вуаля – и я уже счастливый обладатьель вима из потртов без проводов.

Общем – я очень, очень впечатлен. Все просто прекрасно, тока графоний тормозит, но я читал тред и знаю что так и надо. Только не пойму почему в кэму так летала

pihter ★★★★★ ()
Ответ на: комментарий от beos
Welcome to the Haiku shell.

~> listdev

device Bridge (Host bridge) [6|0|0]
  vendor 8086: Intel Corporation
  device a000: Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge

device Multimedia controller (Audio device) [4|3|0]
  vendor 8086: Intel Corporation
  device 27d8: NM10/ICH7 Family High Definition Audio Controller

device Bridge (PCI bridge, Normal decode) [6|4|0]
  vendor 8086: Intel Corporation
  device 27d0: NM10/ICH7 Family PCI Express Port 1

device Display controller (VGA compatible controller, VGA controller) [3|0|0]
  vendor 10de: NVIDIA Corporation
  device 0a64: GT218 [ION]

device Multimedia controller (Audio device) [4|3|0]
  vendor 10de: NVIDIA Corporation
  device 0be3: High Definition Audio Controller

device Bridge (PCI bridge, Normal decode) [6|4|0]
  vendor 8086: Intel Corporation
  device 27d4: NM10/ICH7 Family PCI Express Port 3

device Network controller [2|80|0]
  vendor 1814: Ralink corp.
  device 3090: RT3090 Wireless 802.11n 1T/1R PCIe

device Bridge (PCI bridge, Normal decode) [6|4|0]
  vendor 8086: Intel Corporation
  device 27d6: NM10/ICH7 Family PCI Express Port 4

device Network controller (Ethernet controller) [2|0|0]
  vendor 10ec: Realtek Semiconductor Co., Ltd.
  device 8168: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

device Serial bus controller (USB controller, UHCI) [c|3|0]
  vendor 8086: Intel Corporation
  device 27c8: NM10/ICH7 Family USB UHCI Controller #1

device Serial bus controller (USB controller, UHCI) [c|3|0]
  vendor 8086: Intel Corporation
  device 27c9: NM10/ICH7 Family USB UHCI Controller #2

device Serial bus controller (USB controller, UHCI) [c|3|0]
  vendor 8086: Intel Corporation
  device 27ca: NM10/ICH7 Family USB UHCI Controller #3

device Serial bus controller (USB controller, UHCI) [c|3|0]
  vendor 8086: Intel Corporation
  device 27cb: NM10/ICH7 Family USB UHCI Controller #4

device Serial bus controller (USB controller, EHCI) [c|3|20]
  vendor 8086: Intel Corporation
  device 27cc: NM10/ICH7 Family USB2 EHCI Controller

device Bridge (PCI bridge, Subtractive decode) [6|4|1]
  vendor 8086: Intel Corporation
  device 2448: 82801 Mobile PCI Bridge

device Bridge (ISA bridge) [6|1|0]
  vendor 8086: Intel Corporation
  device 27bc: NM10 Family LPC Controller

device Mass storage controller (IDE interface, PCI native mode control [1|1|8f]
  vendor 8086: Intel Corporation
  device 27c0: NM10/ICH7 Family SATA Controller [IDE mode]

device Serial bus controller (SMBus) [c|5|0]
  vendor 8086: Intel Corporation
  device 27da: NM10/ICH7 Family SMBus Controller

   device Unclassified device (Non-VGA unclassified device) [0|0|0]
     vendor 0000: Unknown
     device 0000: Unknown
~> 
pihter ★★★★★ ()
Ответ на: комментарий от pihter

О, сразу видно, что чукча какая-то делала вывод команд)

Clayman ★★ ()

Кстати, интересно, а насколько геморно под гайку писать на чём-то кроме плюсов? Есть кошерные биндинги под питон/го/tcl и более другие ЯП?

Clayman ★★ ()
Последнее исправление: Clayman (всего исправлений: 1)
Ответ на: комментарий от pihter

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

Хм, странно, у меня был другой экспириенс. В виртуалке и QEMU графика не тормозила, но так себе двигалась, а на голом железе офигел от скорости отрисовки окошек. И это программный рендер.

Правда у меня не NVidia как у тебя, а беспроблемная встройка от Intel была. А Wi-Fi и звук подхватились тоже без каких-либо проблем.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Мне неизвестны случаи в мировой истории, когда сложные атрибуты хранили бы в ФС. Причина проста - создатели приклада и создатели ФС - это очень сильно разные люди и потребностей друг друга не понимают. Атрибуты на уровне ФС обычно это всякая примитивная параша, к которой сложную логику приклада хер прикрутишь. Потом опять же, кто поручится, что это будет работать лучше реляционной СУБД? Да никто. А реализовать СУБД на уровне ФС пока что яиц ни у кого не хватает.

В качестве примера можешь попробовать сделать хранение атрибутов уровня сложности банального аудиоплеера в ФС. О приключениях расскажешь =)

Clayman ★★ ()
Последнее исправление: Clayman (всего исправлений: 1)
Ответ на: комментарий от Clayman

Мне неизвестны случаи в мировой истории, когда сложные атрибуты хранили бы в ФС.

Классические Mac OS. Там в аналоге расширенных аттрибутов хранилось дохрена всего сложного, например, диалоги приложения, иконки, формочки, текст, курсоры, палитры:

https://github.com/EXL/2048/blob/master/2048-Carbon/ProjectBuilder/2048-Carbon.r

А в более ранних версиях вообще исполняемый код.

Список огромен: https://en.wikipedia.org/wiki/Resource_fork#Major_resource_types

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Там ещё оперативы гиг всего: надо наскрести по подстольным коробкам - добросить.

И при том браузер чтоб на лор писать…

Но я уже готов специально под неё железо заводить. Моя любовь растёт)

pihter ★★★★★ ()
Ответ на: комментарий от Clayman

В качестве примера можешь попробовать сделать хранение атрибутов уровня сложности банального аудиоплеера в ФС. О приключениях расскажешь =)

В Haiku вроде как раз была сделана какая-то базовая функциональность в аттрибутах ФС касательно фонотеки из музыкальных файлов по типу дублирования информации из ID3-тегов, но лично мне лень проверять насколько оно там хорошо работает. Но уж наверняка лучше тормозной идиотии с MySQL которая похоронила Amarok.

EXL ★★★★★ ()
Ответ на: комментарий от Clayman

Мне неизвестны случаи в мировой истории

Как плохо ты знаешь историю… ResEdit был такой забавной прожкой - хочешь локализацию? тебе сюда. Ну и куски кода там же, правда я тогда на Маке код не писал и что именно туда компилятор совал не знаю.

BydymTydym ()
Ответ на: комментарий от EXL

лично мне лень проверять насколько оно там хорошо работает

Я тебя сильно удивлю - лень вообще всем. Потому что легче открыть мегатонны документации по СУБД, чем разбираться что там нафантазировал писатель ФС.
И потом думать, как эту шляпу портировать на другие ФС =)

Но уж наверняка лучше тормозной идиотии с MySQL которая похоронила Amarok.

Для того чтобы это так смело утверждать - нужно сравнение. Его ни у кого нет.

Clayman ★★ ()
Последнее исправление: Clayman (всего исправлений: 1)
Ответ на: комментарий от Clayman

В каких программах?

Во всех. В стандартных прикладных, в системных, в сторонних прикладных и др.

Даже сторонние IDE по типу Code Warrior от MetroWerks помещали в проектные файлы какие-то расширенные аттрибуты из-за чего их так просто нельзя было никуда перемещать.

EXL ★★★★★ ()
Ответ на: комментарий от Clayman

Для того чтобы это так смело утверждать - нужно сравнение. Его ни у кого нет.

Да вот у нас есть реальный мир, где Amarok под стероидным MySQL выкинули чуть ли не из самого KDE, а его древнюю версию с компактной БД форкают до сих пор во всякие Clementine и Strawberry.

KMail и прочее PIM-программы набора KDE тоже испытывают далеко не лучшие времена и их пытаются заменить на всякие там Kube. А значит использование тяжёлой артиллерии в виде СУБД в прикладных программах как минимум не выгорело, а как максимум вообще погубило это ПО.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Во всех. В стандартных прикладных, в системных

Блин, не сомневаюсь. Когда ты создаешь ФС - ты же будешь писать под неё нужные программы. Я думал это очевидно и не стоит упоминания.

в сторонних прикладных

А вот этого мы не наблюдаем в реальности.

сторонние IDE по типу Code Warrior от MetroWerks помещали в проектные файлы какие-то расширенные аттрибуты

Слушай, никто не сомневается, что это возможно. Если у тебя есть место хранения - там можно что-то хранить. Только для сложной логики _никто_ так не делает. Да там можно хранить разную лапшу ключ-значение, но не более. Проверить крайне просто - спроектируй систему, которая будет хранить сложные метаданные в ФС. Критерий минимальной сложности я тебе привёл.

Clayman ★★ ()
Ответ на: комментарий от Clayman

Я не знаю такой программы. Давай ссылку. Ну и при чем тут локализация и компилятор непонятно.

Ты что-то потерял нить обсуждения. Речь шла про классические Mac OS где очень активно использовались расширенные аттрибуты в ФС. Программа ResEdit из того самого мира классического Mac OS: https://en.wikipedia.org/wiki/ResEdit

при чем тут локализация непонятно

Как я выше писал, локализация программы сохранялась в расширенных аттрибутах ФС и её можно было редактировать как раз этой программой и кучей других альтернативных. Этот ResEdit просто самый популярный был и стандартный от самого Apple.

при чем тут компилятор непонятно

Как я выше писал, расширенные аттрибуты в классическом Mac OS использовались настолько активно, что компилятор помещал в них даже исполняемый код.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Это не сравнение, а измышлизмы. Для сравнения у тебя должны быть 2 сущности - с СУБД и с атрибутами ФС.

Clayman ★★ ()
Ответ на: комментарий от Clayman

А вот этого мы не наблюдаем в реальности.

Как мы этого не наблюдаем в реальности, если я тебе примеры этой самой реальности и привожу вот уже несколько постов подряд? Историческую операционную систему, где расширенные аттрибуты ФС использовались ОЧЕНЬ активно и вовсе не для лапши ключ-значение, а для ОЧЕНЬ сложных вещей.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от Clayman

Я не знаю такой программы

Так узри же, смертный - https://en.wikipedia.org/wiki/ResEdit
При чем? При всём. Ты просто не видел что на классике в ресурсы пихали. Пихали туда чуть меньше, чем всё (но не все).

BydymTydym ()
Ответ на: комментарий от X512

О! Пользуясь случаем хочу выразить респект за порт Wine'а! :) И вопрос: есть ли в планах отправить свои наработки в апстрим?

X-Pilot ★★★★★ ()
Ответ на: комментарий от X-Pilot

Вряд ли. Там C++ ибо Haiku API на C++. А в Wine C++ не любят:

Wine is written entirely in C. No C++ code is allowed. Furthermore, C code must be recognizable by all sane compilers, including notably the Microsoft Visual C compiler. In practice this means code must conform to C89, with some C99 features allowed. To be somewhat more specific, we allow inline functions, variadic macros, and designated initializers, but not variable-length arrays or mixed declarations and code. We also do not use C++ comments (i.e. those beginning with //).

https://wiki.winehq.org/Developer_FAQ#Does_Wine_allow_C.2B.2B.2C_Objective_C.2C_or_other_code.3F

X512 ★★★★ ()

Желаю успехов этому самобытному проекту. Пару месяцев назад установил сабж на свой ноутбук 2018 года и был приятно удивлен, что все завелось из коробки(кроме видеокарты от зеленых). Хотя такого даже на более популярных BSD не было и приходилось танцевать с бубном.

eyrell ()
Ответ на: комментарий от dk__

А линукс нахрена? Тем более, что даже корпорации из линукса так дружелюбное сделать не смогли, так, удобоваримое.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от slepoy_pew

А есть ли сборки Линукс, ЦА которой это старичьё, соскучившееся по Windows 3.11 для рабочих групп?

Udacha ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.