Виртуальные машины Java, которые не требуют операционной системы?

Я знаю, что BEA работал над LiquidVM, который не требовал базовой операционной системы, но хотел бы знать, работает ли кто-нибудь в сообществе открытого исходного кода над чем-то похожим.

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

8 ответов

Решение

Что тебе нужно?

Возможно, Sanos может дать вам небольшой кусок кода между оборудованием и JVM, который вы можете использовать?

http://www.jbox.dk/sanos/

В отличие от SANOS, операционная система JNode представляет собой полноценную операционную систему со многими поддерживаемыми устройствами, файловыми системами, сетевым стеком, стеком графического интерфейса пользователя, командной оболочкой и примерно 50 командами и многим другим. В настоящее время JNode работает на 32-разрядной платформе x86 с включенным одним процессором, но версии x86-64 и многопроцессорные находятся в стадии разработки. (JNode - это 99,99% Java. Портирование на новую архитектуру повлечет за собой переписывание 0,01% кода, который находится на ассемблере, создание / изменение специфичных для оборудования драйверов... и написание собственного компилятора кода для новой архитектуры.)

В настоящее время у нас есть ~7 активных разработчиков, но мы всегда ищем новых людей, чтобы присоединиться к команде, особенно людей, которые понимают генерацию кода Java AND, сборщиков мусора, драйверов и так далее.

(И для чего бы это ни стоило, мы используем последнюю версию библиотек классов OpenJDK: 1.6u24 по последним подсчетам.)

Существует проект Sun Squawk, который является виртуальной машиной, работающей на аппаратном обеспечении вместо базовой ОС. Полезно для встроенных устройств, таких как Sun SPOT, где Squawk является ОС.

Squawk распространяется по лицензии GPLv2.

Есть также Project Guest VM, которая является JVM, размещенной на гипервизоре Xen. В то время как домашняя страница, кажется, довольно легка в деталях, об этом проекте есть и Google Tech Talk.

JNode OS - операционная система, написанная в основном на Java.

Oracle, похоже, снова работает в этом направлении

Благодаря приобретению Oracle BEA Systems ... Oracle реанимировала авангардную технологию виртуализации: виртуальную машину Java, которая работает непосредственно на гипервизоре без операционной системы.

увидеть

JOE, Java On Everything, может запускать Java без ОС. Это все Java и https://github.com/joekoolade/JOE

JOE может запускать программу Java без операционной системы, встроив в программу операционную систему. Это упрощает настройку и развертывание программы. JOE может сделать любого Java-программиста разработчиком встраиваемых систем.

JOE - это виртуальная машина процесса, которая может запускать приложение Java без операционной системы. Он встраивает ОС в программу путем виртуализации ОС и оборудования. Это удаляет границы между ОС, оборудованием, пользовательским кодом и виртуальной машиной. Накладные расходы и сложности, связанные с переходом между пользователем и супервизором, защитой программ, защитой памяти, виртуальной адресацией и интерфейсом библиотеки JNI, заменены более простыми и эффективными механизмами, найденными в языке Java. JOE легко смешивает эти слои вместе, реализуя их все на Java. Эта виртуализированная среда Java обеспечивает безопасную, надежную, связную и согласованную объектно-ориентированную работу от приложения до оборудования.

Просто небольшой фрагмент, который я видел и слышал.

MIT в 60-х /70-х разработал машину Lisp, это была машина, которая по-настоящему понимала Lisp, я думаю, что они также начали ее коммерциализацию.

В 2002 году я слышал, что кто-то занимается разработкой JVM на чипе FPGA или ASIC.

История MIT/Lisp правдива, я видел ее в их музее, кто-нибудь знает, есть ли какая-то правда о JVM на чипе?

спасибо Мартин

Я очень новичок в Java, и у меня есть некоторые знания в области электроники.

JVM - это виртуальный Macjine, работающий над системой. Это может быть Windows или платформа Solares x86. Но насколько я знаю, сама JVM действует как система для байт-кода, который мы компилируем. Для байт-кода JVM виртуализирует свой собственный ALU, Heap, Stack extra. У него даже есть свой машинный и ассемблерный язык.

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

Таким образом, в этом случае JVM будет не ОС, а системой, которая непосредственно понимает байт-код Java.

Другие вопросы по тегам