Главная

Haiku: ламповая гик-ОС

Автор материала — Hugeping.

На днях прочитал на OpenNet новость о переходе Haiku в статус бета–версии. «Гайка», одна из тех «гиковских» ОС которая мне всегда нравилась. Вообще, среди всех альтернативных ОС она казалась самой «человеческой». Смотрел я её последний раз года 3 назад и думал, что разработка «угасала». Так что новость, конечно, порадовала и я решил посмотреть как дела у ребят на данный момент…

Если вы вообще не знаете, что это за система, то это попытка воссоздать BeOS. Лично я никогда не пользовался оригинальной BeOS, поэтому для меня проект представляет интерес просто как пример «гиковской» ОС для души. Причём эта ОС изначально позиционируется как ОС для пользователей, в которой GUI — это неотъемлемая часть системы. Это очень здорово. Итак, что я увидел…

Главное. Haiku при желании можно использовать на реальном железе. Я пробовал загружаться с USB флешки на ноутбуке (Thinkpad на i3) и на рабочей машине. Система грузится. Сеть, Wifi, звук — работают. Это важное свойство. Я люблю запускать системы на реальном железе. Это мотивирует, в том числе, и разработку для этой ОС.

Система стартует просто реактивно! Я думаю, если искать практическую ценность проекта, то если у вас где–то на полке пылится дохлый нетбук — это хороший кандидат для установки на него «гайки».

Оконная система оставляет приятное впечатление. В ней есть встроенное средство делать «табы» из окон. Достаточно нажать кнопку “win” и перетащить окно за ярлычок к другому окну. Также, окна можно цеплять друг к другу в режиме тайлинга. Вот как это выглядит.

Теперь, система собирается и для 64 битных платформ. Раньше, система была привязана к gcc2. Это было обусловлено целями проекта — бинарная совместимость с оригинальной BeOS. Мне это казалось ненужным ограничением в наше время. И к счастью, теперь гайка собирается в том числе и gcc 7й версии! Для 32 и 64 бит. Но есть вариант сборки с gcc2. Я ставил 64 битные сборки.

В системе есть прекрасный пакетный менеджер и дерево портов. Это значит, что установка и обновление софта делается просто: pkgman update. Естественно, не обязательно делать это из консоли, но мне так привычней. Сама пакетная система тоже интересная. Пакеты — это образы, которые монтируются ядром прозрачным образом. Это реально очень круто! И похоже, позволяет просто откатываться к нужным состояниям пакетов.

Система не Unix–подобная. Более того, она однопользовательская. Но есть слой POSIX совместимости, что даёт возможность собирать многие привычные программы и библиотеки: bash, mc, git, qt5, sdl2 и другие. Сейчас в репозитории больше 4000 пакетов.

Если забрать из git исходный код гайки, и посмотреть сколько занимают исходные коды базовой системы (ядро + окружение), то это будет около 150Мб. Это нереально круто! Например, для сравнения распакованное ядро Linux 4.14 это … 775Мб.

Строго говоря, в гайке используется не микро–ядро. Но и монолитом его сложно назвать. Не смотря на то, что сеть, драйверы и файловая система (sys/add–ons/kernel)выполняются в режиме ядра, в модульном смысле они отделены от «микро–ядра». Размер которого не превышает 5Мб (sys/system/kernel). Часть сервисов выполнены уже в традициях микро–ядерной архитектуры и выполняются в режиме отдельных процессов (servers/).

В общем это всё напомнило мне ядро Windows NT. Его тоже можно было бы назвать гибридным, по крайней мере в начале, когда графическая подсистема ещё не стала частью ядра, а OS/2 и Win32 были просто службами.

Ядро написано на cpp и это очень чистый и приятный в эстетическом плане код. Кстати, ядро Haiku развивалось как форк NewOS. Ядро NewOS написано бывшим инженером BeOS Тревисом Гейсельбрехтом, ныне работающем в Google над ОС Fuchsia. Ядро которой (Zircon) уже является настоящим микро–ядром. Но об этом в другой раз.

Конечно, первым делом я попытался перенести на гайку INSTEAD. SDL и SDL2, luajit и libiconv уже были в портах, поэтому сборка не представляла проблем. Правда, сборка с SDL2 имела дефекты со звуком (трекерная музыка) и курсором. Поэтому, я откатился на SDL1.

Дальше я уже попытался сделать полноценный порт. Мне помогали ребята с Telegram канала. В целом, способ работы с деревом портов тоже очень удобный. Работа автоматизирована с помощью haikuporter. Вот каким получился файл–рецепт для INSTEAD. Я также написал небольшой код, реализующий диалог выбора файлов и изменил место хранения настроек и игр в соответствии со стандартами Haiku.

Потом я вошёл во вкус и исправил небольшие ошибки в портах SDL и SDL2, которые тоже были смержены в дерево портов.

Вообще, Haiku это как раз тот проект, который прямо манит меня, чтобы стать еще одним проектом «для души».

Если говорить о проблемах, то их, конечно, достаточно:

  • нестабильный веб–браузер WebPositive;
  • отсутствие suspend to ram/disk (правда, система грузится настолько быстро, что это можно не считать реальным недостатком);
  • незрелая поддержка USB3;
  • отсутствие 3d ускорения видео;

Однако, я никогда не понимал людей, подходящих к таким проектам с точки зрения выполняемых функций. Я помню времена, когда я занимался ядром Windows NT и Linux 2.xx показался мне убогой поделкой. Да, ядро было объективно хуже. Система (я не помню точно, что это был за дистрибутив. KSI Linix?) вызывала рвотные позывы в течении месяцев. Однако было чувство чего–то неизведанного, красивого, ОТКРЫТОГО. Чего–то принципиально иного, принадлежащего не корпорации а нам — программистам! Поэтому я работал с системой, изучал её и … это стало моей новой работой. Потом, через год или два мой мозг уже стал мыслить в соответствии с Linux. Поэтому уже Windows NT стала вызывать рвотные позывы… Однако, это всё дало бесценный опыт. Я знал как работают ядра этих систем.

Если бы я рассуждал с точки зрения функциональности, честно, я бы пользовался Windows и сейчас. Если рассуждать с точки зрения функциональности, нужно быть с мейнстримом и точка. Поэтому мне очень близки гиковские проекты. Они собирают вокруг себя людей с пытливыми умами. А это и есть черта настоящих хакеров. Если человек снова затевает старую песню: «а вот у вас тут чего–то нет». Или: «А лучше Б, потому что мне так удобней»… Мне становится скучно. Посмотри, что хорошего в системе. За что её любят разработчики? Что нового ты можешь узнать.

О, смотри, она работает! Круто! Давай попробуем сделать это!

Гиковские проекты снова открывают нам радость исследования, эксперимента, написания кода мечты. Это так отличается от прагматического подхода написания кода в корпорациях.

Да, Linux стал мейнстримом и востребованным в промышленной сфере. И уже новое поколение «фанов» часто смотрит свысока на другие хакерские системы. Примерно так же, как раньше смотрели на Linux. Какая ирония! Ребята, да вы проиграли сами себе! Конечно, это относится только к части «фанатов». Большинство разработчиков, все–таки, не растеряли духа свободы.

В общем, Haiku прекрасная система. Её есть за что любить. С ней приятно иметь дело и в роли разработчика, и в роли … пользователя. Сейчас, когда многие любительские проекты закрываются, хочется пожелать «гайке» не сдаваться. А разработчикам — не забывать о свободе и радости творчества. Помните, как называлась книга Линуса Торвальдса? :)

Источник:
https://www.zerogate.tk/1HVhvrompfwLstJExofKAQ5mMss7YivVDj/?Post:15:Haiku:+ламповая+гик–ОС
https://medium.com/@hugeping/haiku-os-ламповая-гик-ос–f9c1a7053b9d

Запустил

Запустил потестить, между делом портировал движок игрух, подправил либы. Все бы так :)

Но в целом

Но в целом обзор какой–то странноватый…
------------------------------–
BeOS 5.0.5 BONE mini version, Celeron 500 MHz, RAM 320 Mb, GeForce 5200 128 Mb

О! Дигер! А мы

О! Дигер! А мы тебя тут на канале вспоминали недавно. Айда к нам в телегу — https://t.me/HaikuOS_RU_chat.
А что странного–то в обзоре?

Телега

Телега не поддерживается на кнопочных телефонах! :)

В статье куча недосказанностей. Автор полстатьи ковыряется в исходниках и либах, но про пользовательский опыт говорит мало.
«Если говорить о проблемах, то их, конечно, достаточно: нестабильный веб–браузер WebPositive;" — а подробности где? И так далее.

------------------------------–
BeOS 5.0.5 BONE mini version, Celeron 500 MHz, RAM 320 Mb, GeForce 5200 128 Mb

Есть клиент

Есть клиент Телеграм на десктопе, в том числе и в Гайке

Шо маемо,

Шо маемо, то маемо.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
t
w
F
r
L
T
Enter the code without spaces and pay attention to upper/lower case.