Haiku — свободная операционная система для персональных компьютеров, первая версия которой нацелена на бинарную совместимость с операционной системой BeOS.

Haiku воплощает в себе основные идеи BeOS. Это будет модульная система, архитектурно решённая как «модульное ядро», способная динамически подгружать необходимые модули. К интересным особенностям системы следует отнести архитектуру трансляторов — системных интерпретаторов файловых форматов (например, JPEG).

О проекте

ad block

Закладки

Сводка работ по Haiku #5: 6-25 февраля 2008 года

Вот что у нас случилось за последние три недели. Аксель катался на лыжах, но работы из-за этого не останавливались (и Аксель отметился почти во всех разделах, которые вы увидите ниже).

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

SVN commit list

Майкл Лотц сообщил, что ему удалось забрать исходники Haiku из SVN, собрать их и запустить полученный образ в QEMU (с kqemu) - и всё это под Haiku. Компилятор, flex и QEMU были взяты из BeOS R5 в виде её родных бинарников. "Но это же почти самосборка" - как сказал Майкл. Это замечательная веха, но как верно отметил Майкл, "ещё не финиш" - есть утечки памяти, которые не дают сделать весь процесс в один заход, да и сами инструменты должны быть собраны под Haiku, чтобы добиться желаемой самосборки. Но даже в таком виде это хороший показатель стабильности, которой Haiku достигла в последнее время.

Ядро

Аксель исправил ошибку, когда запускались два экземпляра одного драйвера
Инго исправил несколько багов в новом оптимизированном коде системных вызовов
Инго исправил runtime_loader, который теперь правильно распознаёт уже загруженные библиотеки, что позволяет perl корректно работать (хотя некоторые тесты он до сих пор заваливает)
Майкл отправил полностью переделанныю реализацию heap для выделения памяти в ядре - теперь возможны множественные heap с динамическим изменеием размера. Это работает лучше и масштабирумее, чем старый распределитель. Он также добавил поддержку трейсинга для распределителя памяти, что позволит отслеживать утечки памяти.
Аксель и Инго сделали автоматические рестарты по вызову и улучшили обработку сигналов.
Инго добавил в thread_yield() булев параметр, чтобы управлять его поведением. Теперь, если больше нет других ожидающих нитей, то текущая нить не будет переназначаться, что ведёт к огромному ускорению в /dev/urandom/ и другом (perl, ssh, и т.д.)
Аксель исправил уведомление о блокировке файла, теперь sqlite работает в Haiku
Инго исправил работу ядра с группами процессов и setpgid() работает как описано в POSIX
Аксель начал работать над мониторингом директорий драйверов и файловых систем. Когда он закончит, поддержка новой периферии сведётся к перетаскиванию файла драйвера в нужную директорию.
Инго исправил бесконечные таймауты кое-где, вызывающие зависания
Исправлены обрушения по выходе из некоторых бинарников R5 (например SVN)

Система сборки

Самуэль Родригез Перес добавил поддержку записи в файловую систему из FreeBSD.
Инго почти закончил поддержку пакета разработчика из под haiku
Аксель и Инго добавили возможность делать образ для VMware за один проход, меняя в образе только изменённые файлы, и не трогая остальные.

Поддержка аппаратуры

У многодорожечных CD теперь монтируются все дорожки (CD с BeOS/Zeta будут работать)
Оливье Руи Дорантес продолжает работу над bluetooth
Маркус переписал распределение виртуальных шин в pci, и система стала нормально грузиться в некоторых конфигурациях.
Добавлен драйвер сетевой карты Intel ipro100

Сеть

Аксель исправил передачу больших кусков данных по TCP сокету за раз
Все сокеты-наследники теперь удаляются вместе с родителем, что раньше вызывало KDL при запуске Firefox
Поддержка системного рестарта добавлена в функции сетевых драйверов

Interface Kit/app_server

Стефан сделал кое-что с BTextControl и BTextView.
Рене Голен (автор знаменитой Vision) исправил кое-что в BListViews, например скорость получения координат элементов списка
Стефано исправил включение TermView в сторонние приложения и медленное выравнивание слов в BTextView.
Стефан поставил двойную буферизацию в app_server, если он запускается в 32 битном VESA режиме, что дало огромный прирост скорости. Также он улучшил механизм скрытия перекрывающихся областей (например курсор), исправил несколько багов и повторение кода.

Translation Kit

В сборку добавлены трансляторы изображений PCX, EXR (открытый формат HDR) и RAW. Джером сделал общий код трансляторов в виде разделяемой библиотеки и теперь все трансляторы используют её, а не копируют код.

Прочее

В одном из прошлогодних обновлений рассылки Glass Elevator я видел дискуссию о модели расположений Критофа Латтерота. Джеймс Ким взял модель за основу и сделал её совместимой с новой системой расположений Haiku. Кристов также внёс некоторые изменения в линейный построитель.
Итамар добавил в print_server поддержку адд-онов, позволяющих автоматически определять устройства (USB принтеры)
Стефано обновил bash до 3.2
Джулун отправил реализацию ref-counted BString-ов, что делает передачу копий BString в функции быстрее
Александр Декнер сделал патч для Keymap, увеличив скорость отрисовки и уменьшив мелькание.

Общий список рассылки

Дэвиду Макполу и друзьям удалось собрать версию nasm для BeOS
Была смешная перебранка по поводу emacs/vi (у нас тут настоящей ругани никогда не бывает, мы далеки от этого), которая закончилась тем, что Pe будет в BeOS редактором по умолчанию. Он приятен в использовании. сочетается с другими Haiku-приложениями и до сих пор выпускается - последнюю его версию можно скачать на Berlios
Также была дискуссия филосовского характера о нужности портирования библиотек, вроде wxWidgets: да, они принесут кучу готовых портов за короткое время, но не разрушат ли они целостность впечатлений от Haiku и не остановят ли людей от разработчки родных приложений?
Фредерик Холмквист сообщил об успешной сборке Firefox для GCC4-Haikuю Теперь у пользователей этой платформы тоже есть современный браузер, как и у пользователей дефолтной GCC2 сборки Haiku, которые могут взять сборку Firefox для BONE на bebits

Рассылка для разработчиков

В расслке для разработчиков видел обсуждение о том, как скоординировать усилия по портированию стандартных инструментов, вроде perl и autoconf. Юриас дал ссылку на проект BePorts (не видел его раньше), который, похоже, станет тем самым местом для координации.
Аксель сказал, что Haiku будет гораздо POSIX-совместимая, чем BeOS, посему в старых портах придётся убрать весь обходной кож, которых станет ненужным, что упросит их.
Раздел http://dev.haiku-os.org/ переехал на новый сервер, что должно поднять производительность багтреккера. Переезд вызвал баг, из-за которого мы не могли посылать тикеты, но Нильс его исправил
Джеральд Заяц сообщил, что закончил драйвер для графических карточек на чипах S3 семейств Trio и Virge
Состоялось обсуждение, нужно ли добавлять в меню Mail вызов Email Preferncies, которая переросла в дискуссию где место самим Prefercies... Также обсудили где должны быть About... и Quit в приложениях. Идея сделать отдельное меню приложения, возможно, представленного иконкой самого приложения, обсуждалась также, но решение пока не принято

Рассылка ядра

Крейг Маджина представил себя в рассылке - у него появилось свободное время и он хочет помочь Haiku. Добро пожаловать в проект, Крейг, надеюсь ты найдёшь себе что-то интересное.

Вебсайт

Хайку была показана недавно в двух местах - смотрите отчёт Коки на конференции CSaLE в Лос-Анжелесе и отчёт Франсуа на FOSDEM в Брюсселе.

Конец

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

До следующего раза...

2008/02/26
метки:

Архивы

Сентябрь 2007| Октябрь 2007| Январь 2008| Февраль 2008| Март 2008| Апрель 2008