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

в 2:52, , рубрики: beos, Haiku, haiku-os, java, open source, openjdk, операционные системы, Песочница, метки: , , , , , ,

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

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

64 битная Haiku и порт OpenJDK уже не за горами
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 в самом ближайшем будущем.

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

Со времени моего последнего блогпоста, я в основном завершил работу над портом 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 и других можно здесь и здесь.

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

Автор: bob_ok


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js