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

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

О проекте

ad block

Закладки

Итоги 2007 Google Summer of Code

2007 год стал первым годом, когда Haiku участвовала в Google Summer of Code. Оглядываясь назад, можно смело сказать, что это был оглушительный успех. Нам дали 8 студентов. Почти закончен FireWire, большие улучшения в поддержке сети и много всего разного.

Модуль FireWire для Haiku
Студент: JiSheng Zhang
Наставник: Jérôme Duval
JiSheng провёл своё лето, портируя поддержку FireWire из FreeBSD в Haiku. Сейчас портированы модуль шины (OHCI + ядро firewire) и интерфейс пользователя. Работает передача DV в файл (пока только из командной строки). Поддержка устройств хранения информации (с SBP) в разработке. Код положен в наш репозиторий (подробности смотрите в 00README.haiku)

Сетевой префлет для Haiku
Студент: Andre Garzia
Наставник: Stephan Aßmus
Andre изготовил первую работающую версию сетевого префлета, через которую можно настроить сетевой интерфейс. Он подолжает работу над ним, добавляя дополнительные функции, такие как поддержка профилей. Код положен в наш репозиторий (подробности смотрите здесь)

Установщик пакетов (.pkg)
Студент: Łukasz Zemczak
Наставник: Ryan Leavengood
Łukasz продолжил начатую наставником работу по реверс-инженирингу формата pkg файлов, разработанных для системы SoftwareValet в BeOS. Многие из приложений в BeOS распространяются именно в этом формате. Łukasz сделал парсер для этого формата и программу для установки с GUI. Кроме того, он сделал систему для регистрации установочных пакетов, чтобы впоследствии их можно было просто деинсталировать. Вместе с Haiku Creative Design Team они разработали простой, но эффективный интерфейс пользователя для установщика и анинсталлера. Он также внёс изменения в Haiku GUI layout API для правильного отображения шрифтов.

Предкеширующий алгоритм в Haiku
Студент: Krishna Kishore Annapureddy
Наставник: François Revol
Krishna написал код упреждающего чтения в дисковом I/O. Код ещё не готов для репозитория, однако показывает уменьшения задержки до трёх раз при последоватльных чтениях с диска.Тесты чтения с CD-ROM также показали рост производительности.

Изосинхронные потоки USB
Студент: Salvatore Benedetto (emitrax)
Наставник: Oliver Ruiz Dorantes
Salvatore приступил к работе сразу, как узнал о своём участии в GSoC. Его работа включала все уровни USB архитектуры Haiku: контроллер UHCI, управление шиной USB. В нынешний USBKit добавлена поддержка изосинхронных потоков и установка дополнительных параметров. Для завершения потребовалось также внести изменения в драйвер usb_raw. Для тестовых целей он сделал простое приложение, читающее буфер вебкамеры. Проект удался, хотя часть кода всё ещё нужно закоммитить.

Создание планировщика нитей (threads) с привязкой к CPU
Студент: André Braga
Наставник: Axel Dörfler
André разработал и сделал для Haiku O(1) планировщик - правда на самом деле в ядро он пока не встроен. Планировщик прекрасно справляется с распределением процессорного времени на запущенные нити, учитывая их уровни приоритета. Привязка к CPU пока не совсем вырисовывается, но будет сделана после интеграции в ядро, над которой André будет работать несколько следующих недель.

Переработка сетевого стека: IPv6, ICMP, multicast и т.д.
Студент: Hugo Santos
Наставник: Axel Dörfler
Hugo начал работать над сетевым стеком до официального открытия GSoC и показал необычную скорость и высокое качество работы. Это, в свою очередь, послужило дополнительным побуждающим мотивом и он занялся вещами, напрямую к сети не относящимися (такими как механизм дефрагментации памяти), а также дал нам совместимость с сетевыми драйверами FreeBSD (пока на ранней стадии). Потом, к сожалению, он не смог нас радовать такой же производительностью: он переехал в другую страну, и у него дома не было интернета, так что он не смог дальше работать. У него осталась часть работы и он в ближайшие недели собирается закончить IPv6.

Реализация обработчика ошибок ICMP и их оповещиния
Студент: Ivo Vachkov
Наставник: Axel Dörfler
К сожалению, у Ivo не оказалось того времени для проекта, на которое он рассчитывал, поэтому он не справился с заданием и стал единственным нашим студентом, которому мы бы рекомендовали не оплачивать его труд. Ivo сожалеет о недостатке времени, но полностью согласен с нашим решением. Он прислал мне то, что он сделал - и это могло бы быть неплохим началом. Мы с Hugo постараемся в ближайшее время дописать и использовать это.

Поздравляем всех участников и до следующего года!

Архивы

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