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

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

О проекте

ad block

Закладки

Ранние подарки к Рождеству?

Вчера Christof Lutteroth послал в рассылку для разработчиков Haiku e-mail, где представил результаты двух успешных проектов университета Окланда последнего года. Оба проекта возглавлял он и его коллега Gerald Weber.

Первый проект очень впечатлил нас в IsComputerOn, и мы надеемся, станет целым направлением в работе над app_server. Проект делали Ahmed Al Hassani и Mohannad Hammadeh и он называется "Более управляемый многооконный интерфейс". Ahmed и Mohannad расширили app_server Haiku функционалом распределения и складывания окон. Теперь окна могут располагаться, не перекрывая друг друга, бок к боку или располагаться, подобно табам в браузере. Довольно слов, давайте посмотрим их скринкаст, там всё видно (впечатляет!! - ред.)

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

Второй проект называется "Многоплатформенные документо-ориентированные GUI" и выполнен Джеймсом и Джоном Кимом. Они взяли Окландскую Модель (Auckland Layout Model (ALM)), она уже есть в Haiku. И приделали ей новый функционал, который позволяет пользователям переключать GUI в "режим редактирования", в котором пользователь пожет редактировать GUI через WYSIWYG редактор. Изменять его под себя и сразу же пользоваться. Лейауты могут сохраняться и загружаться из XML файлов, которые могут использоваться на разных платформах (Java, .NET, Haiku). Давайте посмотрим скринкаст

окончание

* BeGeistert 019: Alphaville *

BeGeistert 019: Alphaville проводилась 10-12 октября 2008 в Дюссельдорфе, Германия. Я пришёл туда впервые за 4 года и ушёл с мини лаптопом с установленной на нём Haiku. BeGeistert обычно проводится в Германии для BeOS пользователей. Так было, по крайней мере во времена моего последнего визита. Последний раз я был на Begeistert012 в 2004.

Изумительно, как сильно могут меняться вещи за это время. Тогда я пришёл с новенькой, дорогущей камерой (Canon 10D). С тех времён Canon заменял её новыми моделями 4 раза и сейчас её нигде нельзя найти, кроме eBay. Мне удалось сделать ещё больше фотографий, поскольку имею привычку лезть со своей камерой везде и мешать всем ;-)

продолжение

5th/6th Milestone, части 1 достигнута.

Этот пост я хотел бы написать ещё весной 2007, когда начался наш первый Google Summer of Code.

После того, как удалось установить двустороннюю коммуникацию по l2cap, нужно было заставить мобильник начать какую-нибудь коммуникацию с Haiku. Конкретно, это была сессия SDP (service discovery protocol), в которой мобильник интересуется у Haiku, какие сервисы bluetooth она предоставляет.

продолжение

Скажите, что хотите от нас, но мы этого не хотим слышать... Или как низко мы пали ?

На прошлой неделе я получил письмо от MSI в котором они хотели услышать на их форуме, что бы я хотел видеть в их будущих продуктах. Честно, я и забыл, что вообще там регистрировался, для того, чтобы кому-то там помочь с вопросом о SMP в BeOS. Ну я пошел и написал им, что я, разработчик Haiku, ожидаю от производителя железа, с юмором, но убедительно объясняя, чем открытый hardware так для меня важен.

Потом я влез в другой пост, где кто-то отметил необходимость поддержки HDMI, с чем я не согласился из-за DRM, вопрос о доступности спецификаций. К сожалению, ни одного из этих постов вы уже не увидите: можератор счёл их "чушью" и поудалял скопом, очевидно, что он не использовал альтернативных ОС, никогда не писал драйверов, имея только линуксовский код без комментариев, никогда не жил во Франции и никогда не видел документацию к ТВ, выпущенному до 1980 года.

Поскольку мои взгляды там были не интересны, попробую доступно изложить их здесь, чтобы MSI (и другие) смогли его прочитать, если захотят. Заметим, что действия модератора, который мог быть из MSI, а мог и не быть, не отражают их собственную политику (надеюсь)

продолжение

Скоро смогу начать писать каталог железа для Open Source

У меня хорошие новости: я вскоре смогу начать писать каталог для дешёвого железа для Open Source разработчиков, думаю в середине следующей недели.

По лмчным предпочтениям, а также в виду спроса на него рынке, я буду писать на Python. У меня есть друг — эксперт в веб программировании, который сможет мне помочь в разработке схемы базы данных.

Также собираюсь рассмотреть имеющиеся библиотеки на Python, чтобы найти, что можно использовать из уже написанного.

продолжение

Дешёвые железяки для разработчиков Open Source

Matt Zehner, учитель из Branham High School в Сан Хосе, организовал программу SPARE по утилизации электронного мусора для школ: Students Promoting Awareness of Recycling and the Environment.

Они пытаются вернуть использованную аппаратуру обратно в дело, вместо того, чтобы её просто выбросить: в электронике полно токсичных материалов, вроде свинца и мышьяка.

Его клуб был анонсирован в статье в Cambrian Times' Клуб из Branham High School превращает отбросы в сокровища.

А ещё он мой сосед.

Michael Crawford. продолжение

Результаты Coding Sprint

Вау. Ну и неделька. Coding Sprint закончился и я с огромной радостью представлю наши совместные достижения! Haiku стала более удобной и гладкой, благодаря исправлениям и улучшениям. Например, я уже могу читать и посылать свою почту через Beam, очень важный для меня момент для перехода к повседневному использованию Haiku. Но это, конечно не всё. Дальше мы представим подробный список всех достижений.

Мы весело провели время, обновлённый Youth Hostel великолепен. Там был настольный футбол, как и на BeGeistert в Berlin, который мы время от времени использовали, чтобы накачать нас адреналином и слегка отдохнуть от кодинга. Но, в целом, кодинг доминировал. Он был по-настоящему интенсивным в среду, когда я вдруг осознал, что не выходил на улицу с вечера воскресения. Инго и Оливье строго вставали рано утром, даже если ложились очень поздно ночью. Бедный Инго искал баг большую часть спринта. Но после, он наконец-то смог отправить результаты своих тяжких трудов, и сейчас Haiku собирает Haiku вдвое быстрее, чем прежде. Баг состоял всего-лишь в пропущенном подчёркивании, поэтому он использовал неназванный автоблокировщик, который ничего и не блокировал… В общем, могу сказать, что этот coding sprint был по крайней мере таким же успешным, как и январский. И Haiku сделала огромный скачок к первому альфа релизу. Я хочу поблагодарить всех, кто был и многих разработчиков, которых не было, но которые усилили работу во время спринта. Это было очень побуждающе. Большое спасибо всем, приславшим свои патчи! Один из них, Clemens Zeidler, сам пришёл к нам на два вечера и работал с нами. Он подарил нам большой патч, который мне надо закоммитить как можно быстрее: он позволяет использовать тачпады Synaptic, с настроечным перфлетом и поддержкой скроллинга двумя пальцами! Ура!

Командная работа

  • Оливье Таппе и Инго Вейнхолд починили важную проблему с бинарной совместимостью BeOS приложений, которая вызывала кучу проблем, от обрушения некоторых программ при старте, до коварных ситуаций с пропаданием меню и т.д.
  • Майкл Оверхаген и Майкл Лотц разрешили проблемы в PCI_IDE модуле, которые херили доступ к диску и не давали многим системам грузиться, если раздел располагался начиная с определённого места на диске. Также система не видела разделы в partition map, располагавшиеся начиная с определённого смещения (128 GB, IIRC).
  • Оливье Таппе и Штефан Ассмус
    • Исправили проблемы, связанные с мышью в коде BWindow и app_server. Также починили важную проблему с drag&drop в Дескбаре для запуска файлов в некоторых приложениях.
    • Исправлен класс BTextView: обновление элементов fTextRect, пропадание скроллбара при ресайзе окна
    • Другая проблема с LineHeight() в том же BTextView, из-за чего текст в панели Find в Pe был мелковат при первом запуске.
  • Майкл Лотц и Инго Венхолд сделали команду tail в отладчике ядра и исправили его тройное падение
  • Аксель Дёрлфлер и Майкл Лотц вдвоём улучшили предугадывание ввода с клавиатуры для быстрого выбора папок в трекере
  • Инго Вейнхолд и Франсуа Револ исправили ошибку в ядре, из-за которой в SoundPlay не игрался второй трек плейлиста
  • Аксель Дёрлфлер и Штефан Ассмус работали над приложением StressTest для испытания app_server под нагрузкой и нашли ещё два дедлока и критические ошибки

Личные достижения

stippi

Впечатления от BeGeistert 019

Штефан Ассмус спросил, не мог ли бы я перевести свою статью о BeGeistert 019 на английский?
Разве я мог отказать? :) Вот она:

В эти выходные в Дюссельдорфе состоялся BeGeistert 019 и имел, как я уже говорил раньше, большой успех. Я уже дважды бывал на BeGeistert (вроде в 2002 и 2003) и на мой взгляд дух BeGeistert с тех времён не изменился. Возможно, тогда было больше непрограммистов среди гостей и больше внимания удилялось программам; это всё от того, что Haiku тогда было в OpenBeOS-овских пелёнках...

Сейчас всё основное внимания, без сомнения, было уделено разработке Haiku, находящейся сейчас в волнующем состоянии предвкушения первого альфа-релиза. Большинство европейских разработчиков-ядерщиков обсуждали свои проблемы и их возможные решения, которые они могли тут же реализовать и сразу перенести в репозиторий, поскольку в нашей комнате был (работающий большую часть времени) интернет.

Который особенно понадобился на следующей за BeGeistert неделе, когда каждый программировал как полоумный на Haiku Code Sprint.

оригинал

Реальность кусается

После почти трёх лет я наконец-то смог вздохнуть после завершения всех работ по дому, которые затянули меня с головой и отняли всё то время, которое я должен был посвятить семье, друзьям работе и обществу. Я также запустил Haiku на своём iMac в VirtualBox. Я работаю над чтением данных со старого UW SCSI диска в образ, на той машине, на которой я это сейчас пишу.

Это были хорошие новости.

Теперь плохие (для вас, не меня).

Кажется, надо извиниться за то, что не уделял Java больше времени. Я предполагал, что всё будет иначе, и не хотел бы чтобы оно пошло именно так. Я серьёзно запустил проект и очень об этом сожалею. Кусание локтей в этой ситуации не лучший выход, конечно же. Просто знайте, я этого не хотел.

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

Bryan Varner продолжение

Утверждён план по Haiku Alpha 1

Завершено голосование по плану выпуска Haiku Alpha 1 и вот его результаты. Принято предложение закрыть все известные баги, влияющие на целостность данных, доделать поддержку своп-файла, полностью интегрировать планировщик I/O, исправить драйвер ata, чтобы можно было назначить его дефолтным менеджером шины, и сделать gcc2/gcc4 гибрид, о котором так много говорили. Отвергнуты были (а под "отвергнуты" мы понимаем, что просто не имеют статус “блокирующего” для релиза Alpha 1): живое обновление, создание стартового пакета для новичков и добавление упреждающего чтения. Они могут быть всё же добавлены, если будут готовы к тому времени, а если нет, то не задержат релиз. Если говорить о тех программах, которые мы увидим в Альфе, то там уже будут установлены инструменты разработки (это хорошо, поскольку данный релиз нацелен на привлечение интереса разработчиков), также будут
включены Firefox (Bon Echo?), Vision, Wonderbrush (специальная версия, разлоченная только для Haiku), BePDF, CVS, Subversion, Pe, Yasm. Были исключены: браузер на базе Webkit, Git и MDR с SSL. Может, их
обратно и включат в Альфу, но они её задержат, если будут готовы, в отличие от всего остального. Также был исключён менеджер пакетов из TiltOS, «бокс». Это удобная штука, но поскольку никто не поручился, что она будет готова к «часу икс», она получила 0 голосов.
Большинством было определено, что Альфа будет доступна в виде образа для CD, образа для эмуляторов (vmware, QEMU, возможно, каких-то ещё?) и образа для USB-устройств.
Пара пунктов застопорилось, и по ним ещё будут обсуждения. Точная дата релиза Haiku Alpha 1 всё ещё не определена, но уже ясно, что он будет Уже Очень Скоро.

BeGroovy

R2 ОКР: The Filer

Будучи по натуре человеком деятельным, я умудрился сделать так, что ситуация вокруг меня превратилась в бардак. С наступлением отпуска, у меня появилась куча свободного времени, которое я решил посвятить работе над документом, который совместил бы два уже написанных мной RFC, которые можно найти тут и тут. Зная, что обсуждение юзабилити R2 получаются бесконечными и непродуктивными, я решил реализовать их в коде, перед тем, как публиковать, чотбы показать что большинство, если не все предлагаемые мной идеи, практичны, разумны и стоят того, чтобы быть реализованными во второй версии нашей любимой ОС. Первым из них, представленным публике, будет Filer.

продолжение

Как заставить Haiku грузиться

Эта статья рассказывает в сжатом виде, как работает загрузка вообще, где Haiku дублирует элементы стандартной загрузки и как заставить всё это работать вместе, если оно не работает автоматически. Оно точно так же работает при установке/загрузке большинства операционных систем, поэтому не является чем-то особенным и для Haiku.

продолжение

Чем помочь с m68k

По мере того, как порт для m68k начинает вырисовываться, возможно, кто-то из вас захочет протянуть мне руку помощи, поэтому я расскажу как установить рабочую среду. После того, как я объясню, почему я выбрал эту платформу, мы займёмся системой сборки и эмулятором для отладки выбранной платформы.

Почему бы не Мак? Я хочу это для моей Amiga! Готов отдать свой NeXT!

(Не отказался бы ;))

Выбор целевой платформы обусловлен наличием имеющихся эмуляторов m68k-машин. В QEMU есть режим m68k, но это все лишь ColdFire. Ни одна из существующих машин не эмулируется.

Большинство операционных систем той эры поддерживают CPU с 68000 по 68030. Это значит, что на самом деле MMU для 030 и выше не используется. Большинство машин используют дешёвые версии, вроде 68EC030, который плох и как FPU, и как MMU. Это справедливо для большинства Амиг, для которых, разумеется можно поставить процессорную плату с 040 или 060. Но для Haiku требуется mmu. У меня есть Mac LC III, в котором полноценный 030, однако Basilisk II не эмулирует MMU, насколько я знаю, поскольку раз на большинстве маков его нет, он и не используется, кроме как для свопинга в некоторых версиях.

Я не знаю ни одного эмулятора Next, если знаете - напишите.

Продолжение

Модифицируем отладчик ядра

В отличие от BeOS наше ядро содержит куски кода на C++, которые иногда причиняют кучу головной боли, года смотришь стек отладчиком ядра, потому что символы искалечены линковкой бинарников так, что надо использовать Decode__12CrypticCNamesPCc. Помню, видел private API для gcc4 по расшифровке символов в читаемые имена, но код, делавший это, из libsupc++, был написан без учёта реалий Kernel Debugging Land, и использовал вызовы malloc, realloc и free... Я всё ещё очень хотел видеть нормальные имена и не сдавался. Я также хотел иметь возможность получать ассемблерные дампы, потому что не у всех есть последовательный кабель для работы с внешним отладчиком.

статья полностью

Работа над ядром для 68k

Когда-нибудь я должен написать о начале работы над портом для 68k, есть о чём рассказать...
Сегодня^Wвечером^Wутром эээ, хм, хорошо, сейчас я попытаюсь сделать живой репортаж о том, на чём остановился в прошлый раз: как сделать, чтобы ядро грузилось корректно.

продолжение

Новости порта 68k

Я продолжаю работать над портом для 68k, как вы, наверное, уже знаете, все компилируется, но ядро всё ещё во многом не готово, нет драйверов, загрузчик пока не грузит.
Почти закончил установку, по крайней мере для эмулятора 040 ARAnyM.

прозрачная трансляция

Я провёл довольно много времени, пытаясь исправить ошибку, которая уходила корнями далеко вглубь ARAnyM. Управление памятью в 68030 и более поздних системах (кроме 68851, с которым идёт 020), используют функциональность, называемую прозрачной трансляцией. В сущности, это два регистра, которые называются TT0 и TT1 (на 040 на пространство данных и пространство инструкций), каждый из которых устанавливает в виртуальном пространстае окно в 16 мб, которое обходит трансляцию блока управления памятью. Для простоты я использовал их в загрузчике, чтобы соотнести первые 32 мб (включающие медленную память, ROM и начало быстрой памяти) один-в-один с виртуальным пространством, чтобы физические адреса страниц в дереве трансляции могли быть использованы как виртуальные при поиске.

продолжение

Архивы

Сентябрь 2007| Октябрь 2007| Январь 2008| Февраль 2008| Март 2008| Апрель 2008| Май 2008| Июнь 2008| Июль 2008| Август 2008| Сентябрь 2008| Октябрь 2008| Ноябрь 2008| Декабрь 2008| Январь 2009