- PVSM.RU - https://www.pvsm.ru -

64-битная Haiku и порт OpenJDK уже не за горами

Алекс Смит [1], студент Haiku GSoC 2012, сообщает, что добился существенного прогресса [2] в работе над портированием ядра Haiku на платформу x86_64. Вся функциональность ядра, за исключением дебаггера, уже доступна, также он портировал некоторые драйверы, включая PCI, драйверы дисков, BFS и PS/2 ввод. Для большинства драйверов портирование заключалось в исправлении ошибок компилятора. С другими были проблемы, связанные с 64-битной разрядностью, что сделало их портирование более проблематичным. Например, стек USB потребует гораздо больше работы, поскольку сейчас везде использует 32-битный addr_t. Также Алекс добился некоторого успеха в портировании библиотек пользовательского пространства. Сейчас портированы libroot, libbe, bash и большинство утилит командной строки. В консоли, как правило, запущена интерактивная оболочка bash, которая в основном используется для отладки, если падает app_server.

64 битная Haiku и порт OpenJDK уже не за горами [3]
Haiku x64 с оболочкой Bash в виртуальной машине

64 битная Haiku и порт OpenJDK уже не за горами [4]
Haiku x64 с app_server в виртуальной машине

Теперь Алекс намеревается заставить работать app_server в 64-битной Haiku. Первые шаги на этом пути уже сделаны, портирован графический драйвер VESA. Драйвер работает так, что совершает вызовы в BIOS, который запущен в реальном 16-битном режиме. На платформе x86 эти вызовы происходят в процессорном режиме, который называется «virtual 8086», позволяющем 16-битному коду работать в 32-битном режиме. Однако, подобного просто не существует в 64-битном режиме, это значит, что работать с вызовами BIOS не получится. Решение заключается в использовании библиотеки x86emu из пакета X.org, эмулирующей реальный режим x86-процессоров для запуска BIOS-кода. Этот способ используется в X для решения точно такой же проблемы с x86_64. Алекс превратил библиотеку в новый модуль ядра, а затем изменил драйвер VESA так, чтобы тот использовал режим виртуального 8086.

После того, как app_server будет успешно перенесен на платформу x86_64, останется только портировать приложения и оставшиеся драйверы. У Алекса достаточно большой список нерешенных задач, с которыми он собирается справляться до конца «Лета Кодинга». Судя по уже пройденному этапу портирования, можно ожидать стабильно работающей 64-разрядной Haiku в самом ближайшем будущем.

Тем временем, о продвижении [5] в переносе на Haiku очень желанной и долгожданной OpenJava сообщает разработчик под ником Hamish [6]:

Со времени моего последнего блогпоста, я в основном завершил работу над портом AWT/Java2D на Haiku. Требуется еще немало времени уделить тестированию, но порт уже достаточно стабилен для того, чтобы запускать множество Swing–приложений без каких–либо изменений, настроек или костылей.

Поддержка drag'n'drop в AWT все еще отсутствует, поскольку в Haiku недостает кое–какой необходимой функциональности для того, чтобы реализовать перетаскивание мышью. Обсуждения по поводу создания более полноценного API для функции «переноса мышью» в данный момент идут в списке рассылки Haiku GSoC. В течение недели или двух я буду продолжать полировку AWT/Java2D порта с рассчетом на улучшение производительности и уничтожение оставшихся багов. Когда основные проблемы будут устранены, я собираюсь выложить бинарники для всех, кому будет интересно попробовать новый Java–порт собственноручно.

На половине семестра я начну работу над портом JSound, который обеспечит поддержку звука в приложениях, а также MIDI.

image
Java-приложения SwingSet и JEdit в Haiku

image
Офисный пакет ThinkFree Office в Haiku

Посмотреть на скриншоты ставших доступными в Haiku Java-приложений, таких как ThinkFree Office, Opera Mini, Arudino, NetBeans, Pixelitor, FidocadJ, Jajuk Music Manager, Makagiga, Memoranda и других можно здесь [7] и здесь [8].

Дорогие читатели, прежде чем составлять жалобы на недостающие компоненты, недостаточную поддержку аппаратного обеспечения, нехватку программ и общую «сырость» операционной системы, помните, что разработкой и развитием Haiku занимается очень маленькая группа программистов, посвятивших себя воссозданию в открытых кодах одной из самых многообещающих операционных систем появившихся на рубеже веков. Если этот проект вам интересен, то команда Haiku будет рада любой помощи и вашему участию в совершенствовании системы.

Автор: bob_ok


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/12738

Ссылки в тексте:

[1] Алекс Смит: https://www.haiku-os.org/user/xyzzy

[2] существенного прогресса: https://www.haiku-os.org/blog/xyzzy/2012-08-04_x86_64_port_three_quarter_term_report

[3] Image: http://dl.dropbox.com/u/5314114/Haiku-Userland.png

[4] Image: https://dl.dropbox.com/u/5314114/app_server.png

[5] продвижении: https://www.haiku-os.org/blog/hamish/2012-06-22_openjdk_port_quarter_term_report

[6] Hamish: https://www.haiku-os.org/user/hamish

[7] здесь: http://haiku-os.pl/node/1501

[8] здесь: https://www.haiku-os.org/community/forum/apps_i_use_haiku_openjdk