?

Log in

BeOS, Haiku и другие [entries|friends|calendar]
Geek OS

[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

20 лет спустя [15 Sep 2011|12:39am]

maxim
18 Августа 2001 года. Именно этим днем датируется начало летоисчисления операционной системы Haiku как день, когда в списке рассылке было принято решение продолжать дело инженеров Be. 13 ноября 2001 года Palm завершила поглощение Be, Inc.

Сейчас уже трудно вспоминаются те времена, когда BeOS вдоновляла и когда компьютер действительно воспринимался персональным. Сейчас в эпоху Web и распределенных технологий нишу персонального компьютинга заняли мобильные телефоны, планшеты и нетбуки. Но я бы начинал летоисчисление платформы с того момента, когда собралась команда из Стива Сакомана, Жана Луи Гасье, Бенуа Шилингса, Боба Гарольда, Эриха Рингевальда ставшая основой компании Be, Inc. Это был 1991 год. Таким образом на самом деле платформе 20 лет. 10 лет Be, Inc. писала BeOS и делала компьютеры и 10 лет — возраст Haiku сообщества.

Человеку незнакомому с системой может показаться удивительным, зачем воссоздавать с нуля операционную систему, которая в конкурентной борьбе потерпела поражение. Однако такой ход энтузиастов говорит сам за себя. То что было создано оставило неизлечимый след в умах и сердцах людей которые способны написать ОС. Таких людей не очень немного, и кроме усидчивости нужно иметь кроме всего прочего и по-настоящему неплохую сведущесть инженерных делах.

Read more...Collapse )
1 comment|post comment

Haiku Platform [15 Sep 2011|12:16am]

maxim
The main purpose of this report is to show one of the ways how to design and build infrastructure around Haiku that will covers all the niches and OS weight categories. BeOS successor was chosen as one of very self motivated products that is proven to be such (Haiku community reimplemented BeOS kernel and subsystems with high quality code base: less that ten thousand closed bugs for such a big project). Also this document can be treated as investors guide or internal vision of Synrc Research Center, playing role of BeOS and Haiku advocate.

Read more...Collapse )
post comment

Haiku Chat [06 Sep 2010|02:26pm]

maxim
Haiku Chat is tiny, about 300KB XMPP client. It supports core XMPP protocol, multi-user chat, Google accounts, Psi bookmarks, In-band registration and other features. It is written for Haiku, free open-source operating system inspired by BeOS. Haiku Chat is simplest and smallest client that supports XMPP Advanced Client 2009 profile.



[1]. Project Home
[2]. Haiku Chat on Haikuware
[3]. Sources on Berlios
post comment

Haiku OS Alpha Release 2 [16 May 2010|07:15pm]

maxim
Со времён BeOS и Be, Inc. прошло много времени. Как сейчас помню как в 1998 году я купил диск на радио рынке с BeOS R3. Я тогда только начинал познавать мир UNIX и вручную реинженирить ntoskrnl.exe в Soft-Ice. Увиденное мной тогда навсегда поселило во мне что-то, что трудно передать словами, фактически все что я узнавал как инженер в системо-строении и программировании проходило через призму увиденного. Все, кто тогда вместе со мной открывал для себя BeOS до сих пор относятся к ней с нескрытой радостью, удовольствием и уважением к незагрязненности инженерной мысли. Все системы которые я видел и изучал включая Hurd, Chorus, Mach, NT, Plan9, QNX, TRON и десятки других embedded проектов стоят у меня всегда на втором месте, не смотря на доказанное временем их значение в мире индустрии. И дело не только в многопоточности, распаралелености, отзывчивости планировщика и чистоте самого кода, есть что-то в ней запредельное, что успокаивает и заставляет радоваться как ребенка.

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

Сейчас у меня ноубук на ремонте, поэтому я взял ноутбук жены (Acer Aspire 5520) и решил поставить незаментно для нее Haiku R1/alpha2 на ее ноутбук. Оказалось, что он не видит флешку для загрузки, не беда, я записал CD. Перед этим Acronis DiskDirector освободил 10ГБ партицию. Загрузился с CD и поставил на эту партицию, отформатировав ее прямо в инсталлере. Нажатие одной кнопки и система поставилась. Записал бутсектор партиции, записал загрузчик в MBR (все это тоже из инсталлера) и перегрузился. Загрузка Haiku залипла на третьей иконке, но я случайно нажал один раз на кнопку включения\выключения ноутбука, и загрузка пошла дальше. Всего загрузка системы длится 14 секунд на этом ноутбуке. Объем необходимой оперативной памяти 100МБ (можно даже без свопа, правда разработчики не рекомендуют пока его отключать). Правда вы можете использовать 48МБ оперативной памяти и 64 виртуальной памяти, все равно она будет работать :) Это нормально для Geek систем.



Сразу мы попадаем вот в такой мир. Именно этот экран обратил внимание моей дочери. "Какие красивые иконки, какая приятная штучка, можна я за ней посижу", -- попросила меня моя 9-летняя дочь. Что ж устами младенца глаголит истина. Через некоторе время малая уже баловалась вот такими штуками:



Но больше всего ей понравился графический редактор, который рядом не стоял с Paint. Шарит разные браши, поддерживает векторные пути и полигоны, разного рода растяжки и стили, такой себе nano-Photoshop смешного размера:



nForce сетка и звук поднялись сразу, но иногда сетка отваливается, а звук постоянно глитчится. Однако мне удалось запустить 12 видеороликов проигрывающихся одновременно без падения производительности до того как MediaPlayer выпал в gdb. Выглядит плеер очень мило. Я замаунтил NTFS диски и начал смотреть Хауса. Один диск удалось замаунтить как Read-Write и я создал там пару файлов, но потом почему-то диски перестали маунтится как read-write. Вот фото Гриши:



Даже если у вас не определится сеть по ряду причин, одна из которых отсуствущий работающий Wi-Fi WPA2, вы всегда сможете насладиться чтением оригинальной документации по API (BeBook) и прочитать про устройство системы используя родной браузер построенный на KHTML/WebKit, т.е. на самом современном движке который используют Google и Apple:



Для задротов с немытыми головами тут будет уютно, тут есть bash, binutils, fileutils, куча библиотек out of the box, многое потихоньку портируется, а что соотвествует идеологии -- включается в дистрибутив. Есть два gcc: 2.9.5 и 4.3.3. Это связано с тем, что Haiku поддерживает приложения своего оригинала -- BeOS R5 и должна иметь возможность запускать и разрабатывать приложения с gcc2.



API ядра очень сильно по простоте напоминает TRON, есть всего 5 объектов операционной системы: потоки, процессы, семафоры, области виртуальной памяти, порты сообщений. Но не смотря на свою простоту API достаточно мощное что бы реализовать POSIX. Линкуется API ядра как С библиотеки, хотя многое внутри ядра написано на С++, включая изящную кросплатформенную систему виртуальной памяти. Прочитать про API ядра можно здесь:

http://www.haiku-os.org/legacy-docs/bebook/TheKernelKit_Overview_Introduction.html

Be API прикладного уровня, является не менее мощным средством, чем Win32 и NeXT, спроектировано примерно в тоже время, что и NeXT Framework. Но в отличии от С API Win32, и ObjectiveC линковки Cocoa, библиотеки линкуются как с++ библиотеки со всеми вытекающими последствиями: простотой разработки, ненужно дополнительных прослоек (все и так красиво), привязка к ABI компилятора gcc. Именно объектность API BeOS и стала причиной распространения двух версий gcc с Haiku и возможностью запускать бинарники скомпилированные несовместимыми версиями gcc. В Haiku используется ELF формат. Если хотите написать лоадер для загрузки PE или COFF файлов других систем, чувствуйте себя свободно :)

http://www.haiku-os.org/legacy-docs/bebook/TheApplicationKit_Overview_Introduction.html

Писать под Be API одно удовольствие. Вы можете попробовать ненавязчивую среду разработки, которая состоит из маленького окошечка проекта и редакторов исходников, что бы убедится в этом:



Что мне в ней нравится:
- простота, чистота, код без наследия
- изящность, красота
- быстрота, грузится 15 секунд
- дизайн (архитектура микроядра и обслуживающих серверов)
- MIT лицензия, позволяющая стартовать коммерческие проекты
- изобильное использование объектов синхронизации на всех уровнях системы
- кроссплатформенность (ARM, PowerPC, x86_64)
- совместимость с BeOS R5 (ничего не надо учить я все уже знаю)
- WebKit браузер
- Практически полная POSIX совместимость
- поддержка UNICODE на всех уровнях (IBM ICU идет с системой)
- поддержка японского языка из коробки
- Gallium3D, в ней в будущем должны работать DRI драйвера для Linux
- в ней могут работать сетевые драйвера от FreeBSD 8
- совместимость с ноутбуком моей жены
- то что ей полностью хватает 100МБ памяти
- достаточно современная журнальная файловая система, что бы не было здесь вообще вопросов
- механизм Query, по типу Windows Search, Spotlight или Beagle
- куда не ткнись везде все сделано как надо и сделадно просто и понятно
- нравится детям
- имеет огромный педагогический потенциал (начиная от ребенка, заканчивая студентом)
- успокаивает нервы
- в ней можно красиво реализовать свои неоплачиваемые (пока) фантазии
- годится как в embedded сектор, сектор нетбуков, так и в сектор гиков

P.S. Чесно говоря, когда я в 2004 году зашел на канал #haiku на фриноде, у них не было ничего, что мне было интересно, я просто думал что они не потянут. В то время я разговаривал тогда напрямую с Тревисом Гейсельбрехтом, бывшим инженером Be, автором оригинального ядра NewOS (В Haiku ядро NewOS лишь немного зарефакторено). Хотел у него поспрашивать про IDE драйвер для его ядра NewOS, на что он сказал мол иди к ребятам из Хайку, у них есть. С тех пор слежу за проектом и хочу сказать, что ребята эти меня радуют. По крайней мере я и моя дочь получили удовольствие от тестировочной альфа версии системы.
10 comments|post comment

Демосцена [13 Apr 2010|01:48am]

maxim
Демосцена жива. Breakpoint 2010 проходила в этом году в Германии 2—5 апреля. Результаты здесь. Победители в номинациях:

PC Demo (64MB):



PC 64k Intro:



PC 4K Intro:

post comment

Операционная Система Бытия [13 May 2010|01:28am]

maxim
Как то зашел я в гости на кафедру к своему преподавателю, и он мне говорит, знаеш, что Максим, Украине нужна защищенная операционная система собвственного производства, кафедра тебя ждет. Я уже давно такие слова не воспринимаю серйозно, они подходят разве что для того, что бы молодняк заганять в институт. Есть же OpenBSD, что еще вообще надо? Но, с другой стороны я подумал, что по настоящему инновационные идеи давно уже нерождались. Последнее, что меня поразило на моей памяти была Операционная Система Бытия (харошее название), а документация там называлась Книга Бытия. Пройдемся сначала по Джобсовским задротам.

Стива Джобюса выгнали нахуй из Аппл за то, что он дохуя выйобывался, он тогда и жену свою послал нахуй беременную с которой ЛСД жрал, вообщем кризис у него был. Он что бы восстановиться создал новую компанию, назвал ее NeXT. Купил пацанчиков одних которые ObjectiveC придумали и начал думать как обустроить штаты американские. Но надо понимать, что такие люди как Джобс или Тео де Раадт зря не выйобуются. Трудно работать с дибилами -- это все знают. Дибилы в Аппл так были его заебали, что он решил начать все с нуля. Для этого он взял Mach UNIX, который служил прототипом для Windows NT. И начал делать то как он считал нужным. В Аппл контрразведчики тоже пытались съобезьянничать и инвестировали в аналогичный исследовательский проект деньги (OSF/1, MkLinux).

Вот что родил Стиви в 1992 году. На ролике он даже показывает фотку своего признанного сына, чем якобы доказывает, что он теперь в адеквате и с ним можно вести бизнес. Вообщем унылый ролик про распределенный документооборот для офисных крыс который в будущем стал основой для Mac OS X.



В это время в Microsoft допиливала первую версию Windows NT. (No Video)

Практически в это же время основалась еще одна компания, которая решила выебать и Apple и NeXT и Microsoft. Если вы внимательно посмотрите на ролики 1998 года вы увидите, что система опередила свое время на десять лет минимум:





Если бы видели сколько запускается Windows NT в то время на такой машине, и как работает видео-проигрывание, не говоря уже про OpenGL и акселерацию (в то время были Voodoo карточки 3dfx) вы бы поняли все моментально. Можно было запустить форматирование флопа, открыть ролик с CD и запустить паралельно проигрывание 4 роликов с диска, система не дергалась ни на милисекундочку. Планировщик этой системы воистину был чудесен. Слова smooth and responsive родились и воплотились в жизнь именно тогда. Сейчас же просто довольствуйтесь антикварными роликами.


Жан-Луи Гассье, глава и создатель Be, Inc.

Эта система должна была стать новым лицом Apple Computer, но вследствии того, что Стив показал фотку своего малыша и типа исправился, заключили контракт с ним, так как он все же был создатель компании как ни как. Be, Inc. потом долго кидало, Майкрософт ее давила и задавила, откупившись в суде около 20 миллионами. Так Be и умерла.

Но пару пацанчиков не бросили дело, продолжают дело, используя те же лекала. И вот что у них сейчас получилось (проект неккомерческий, но с MIT лицензией):

На этом ролике Haiku OS запускается на Zotac Ion-A with Atom 330 dual core, и проигрывает 7 видеороликов MPEG-4 (704x396px) одновременно. Для сравнения на Linux это железо проигрывает только 3 таких ролика без падения произвлдительности.



На этом ролике запускается 26 приложений (практически все что входит в поставку) за 10 секунд. Это в виртуальное машине VMware! :)



На этом ролике KHTML браузер WebPositive проходит HTML5 тесты созданные для IE9. Попробуйте их запустить на своих фаерфоксах :)



Система немного запоздала в свете современных Мультитач приколов, и Композит энжайнов, но сердце у нее бойкое, симметрично-мультипроцессорное, синхронизационно-мультипоточное, распаралеленное и готовое к мультиядерным окружениям и реальному времени, так что берегитесь. Raw Power идет. Готовьте DSP процессоры пачками. Если и есть система достойная Cell Broadcast Engine, то это определенно Haiku.
5 comments|post comment

Интервью с Артуром Выжинским [01 May 2010|01:27am]

maxim
Вчера зашел в IRC на канал #haiku@irc.freenode.net и распизделись с чувачком Артурчиком из Польши. В конце взял у него интервью по поводу его работы и планов. Надо понимать что ни я ни он английского не знаем.

Artur Wyszynski
Haiku OpenGL Kit

Maxim: Tell us about yourself ?
Artur: I'm a 27 years old, working as a game developer in GameLion Studios, long time BeOS user and almost 2-3 years Haiku developer :)

Maxim: What is current OpenGL state in Haiku ?
Artur: OpenGL state in Haiku OpenGL Kit is so simple that even Windows GL API beat us in that manner it was designed 10-12 years ago, without current GPU's multi-threading rendering etc. My plan if nobody beats me is to implement TTM memory menager in kernel, then port DRM on kernel side, provide a simple test cases which shows that it works and then rewrite from scratch Haiku OpenGL kit but as a base use Apple's OpenGL framework. It's mature, well designed and great :)

For example, current implementation of OpenGL Kit doesn't allow you to have more contexts, and for example, current engines uses multiple threads in their engines and in current design you can't divide application to use multiple context, for example one to render, one to process, one to physics etc.

Maxim: Tell us about Gallium3D in Haiku ?
Artur: softpipe in Ggallium3D takes a role of a reference driver. If you want to write driver for gallium you can take a look at softpipe. It's a pure software implementation, designed without performance in mind but as a reference. It doesn't touch GPU, and works only on cpu. There is a fork of softpipe, called llvmpipe, which uses LLVM to produce highly optimized multithreaded code, which on linux (pure software without GPU) can play Open Arena game at 32 fps on 800x600. It's pretty amazing, pure mesa have performance at 3-5 fps.

First I need to implement TTM and DRM, then I could focus on bringing OpenGL kit up to date. TTM is an API for managing memory on GPU's, DRM is a direct rendering manager, kernel side implementation of how to talk to graphics card, popular on Linux. I'm using code from FreeBSD and some parts from Linux. But lately I'm trying to get more from Linux as FreeBSD port of Mesa and GL stack at all isn't complete as much as Linux ones. But there are limits, for example linux GL stack on kernel side (DRM) is GPL'ed and on Haiku we are focusing on having much not GPL code as we can.

Maxim: You mentioned LLVM. Will you use it ?
Artur: LLVM is a Low Level Virtual Machine, it's another topic, but it allows to generate higly optimized code for cpu. Nope, i'm not planning to use it.

Maxim: What GPU will be accelerated first in plans ?
Artur: What GPU ? Which I have, nVidia :D If we're going to provide an OpenGL Kit, it should be a fully accelerated by GPU, not a software implementation. But really, my plans are first to use VMware vGPU driver and if it works, then try with real hardware. VMware vGPU is a virtual GPU architecture, which translates guests OpenGL calls into native calls from hosts, so you can get native performance from your nvidia card running on linux on your Haiku runned from VMware.

Maxim: Will Haiku support Linux DRM drivers ?
Artur: If we don't want to reinvent the wheel on haiku, we should implement DRM on our side and use stable, bug-free linux drivers. TTM and DRM are to be implemented as kernel mode code. And Haiku DRM will provide DRM API that is compatible on source level with Linux DRM drivers, similar as it was done by our colleages with FreeBSD network compatibility layer which we have for network drivers.
1 comment|post comment

Geek OS. Часть 4. Haiku [16 May 2005|01:23am]

maxim
Хотелось бы написать ответ на два открытых письма Майкла Фиппса «Почему Haiku еще актуальна сегодня» и «Вызовы которые стоят перед Haiku». Начать предлагаю с того что бы выяснить чем же Haiku является сегодня на самом деле, что из себя представляет проект, и есть ли успешные аналоги управление подобного рода проектами. ...Collapse )
4 comments|post comment

Geek OS. Часть 3. Последняя Geek система вопреки всему [16 May 2005|01:17am]

maxim
Я не даром привел здесь только Mach и NT и не касался Linux который тоже развивался в это время параллельно, а также BSD сообщество, которое в основном исповедовало принципы 70–х годов и сильно держалось наследного кода. Промышленные операционные многое изменили внесли то чего раньше не было. Во первых настоящие хакеры и geeks не воспринимали соборные закрытые монументальные архитектуры и быстро переключились с самодельных компьютеров на открытые операционные системы, в основном это были BSD и Linux. И только последний хакер Ричард Столман пошел по Правильному пути и выбрал Mach для реализации полной цепочки хакерского арсенала: операционная система (hurd), компилятор (gcc), средства разработки (emacs), отладчик (gbd). Представьте себе все это создано одним человеком! Все эти вещи – это репозиторий методов для решения повседневных задач и полигон воплощения собственных идей.

Однако речь здесь совсем не про него, а про маленькую компанию Be Inc где работали хакеры которые очень сильно повлияли на состояние дел. Здесь я попытаюсь раскрыть какие главные достижения сделанные инженерами Be. Для начала сделаем маленькую ретроспективу Be Inc. ...Collapse )
post comment

Geek OS. Часть 2. Эпоха больших систем [16 May 2005|01:13am]

maxim
Как правило, когда идет речь о BeOS, всегда начинают с истории компании Be Inc. Но я хотел бы начать рассказ этой истории с более ранних времен, иначе не ясно почему все произошло именно так и никак иначе.

После того как Стив Джобс покинул Apple в 1985 году началась новая история. Операционные системы стали значить намного больше для компьютера, чем это было раньше до этого. В конце восьмидесятых активно начало возникать философия открытого программного обеспечения, последний хакер Столман, который создал gcc, emacs, gdb, bfd и hurd основал GNU. Возникло два направления организации кода, «базар» (открытые open source проекты для многих людей) и «собор» (корпоративный код). Я бы еще выделил «наследие» (BSD проекты).

Я не даром называю десятилетия эпохой. В мире ИТ один год значит столько сколько в других десятки лет. За один год компания может сменить две философии и аппаратную платформу. Конец 80х годов ознаменовал собой эпоху промышленных операционных систем – компьютеры стали достаточно мощными для того что бы как быть персональными так и обслуживать отделы, сетевое оборудование, быть рабочими станциями для CAD/CAM/CAE систем. Поэтому системы стали несколько сложнее. Сообщество любителей отвергало такие рыночные отношения производителя и пользователя, и они с тоской вспоминали о временах 6502, M68000 и своими Atari, Apple II, Commodore 64.

Mach

Mach — яркий пример одного из немногих проектов, который вопреки своему большому влиянию на развитие индустрии, так мало знаком не только конечному потребителю, но и профессионалам, которые в силу узкой специализации так и не столкнулись со столь необычным детищем академической формализации профессоров университета Карнеги–Мэллоуна. ...Collapse )
post comment

Geek OS. Часть 1. Предыстория [16 May 2005|01:10am]

maxim
Как правило, когда идет речь о BeOS, всегда начинают с истории компании Be Inc. Но я хотел бы начать рассказ этой истории с более ранних времен, иначе не ясно почему все произошло именно так и никак иначе.

Первые хакеры

Все началось еще в MIT, когда Гринблатт и Госпер сидели по ночам за своим TX–0. Это поколение программистов, которое создало первые компьютерные игры, писали первые хаки (такие как, воспроизведение музыки дисководом), сражались бессонными ночами за сокращение программы на несколько байт, их по заслугам называют родоначальниками компьютерной эпохи настоящих хакеров. Все что было создано после этого является всего лишь повторение пройденного пути. Забегая вперед скажу что апогеем достижения первых хакеров стали ЛИСП машины – настоящие произведения искусства, которые как и все красивые вещи с невероятной силой отвергаются рынком информационных технологий.

В те дни были сформулированы первые базовые принципы свободного программиста, человека который полностью управляет компьютером, человека который не стеснен методами выражения своей творческой фантазии и стремлением сделать что–то неординарное для компьютера. Можно выделить, если хотите, «кодекс» первых хакеров: ...Collapse )
post comment

navigation
[ viewing | most recent entries ]