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

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

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


person McGovernTheory    schedule 18.04.2009    source источник
comment
для какой системы вы собирались писать приложения?   -  person Kevin Williams    schedule 18.04.2009
comment
Ха-ха, хороший вопрос. Мне нравится слышать о таких проектах. В качестве небольшого отступления я помню, как читал о проекте с открытым исходным кодом, в котором CPython (стандартная реализация Python) работал на «голом железе» и работал над созданием ОС на Python :) К сожалению, я я потерял ссылку с тех пор.   -  person Falaina    schedule 17.07.2009
comment
Помните это? en.wikipedia.org/wiki/JavaOS   -  person skaffman    schedule 31.07.2009


Ответы (9)


Что вам нужно?

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

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

person Thorbjørn Ravn Andersen    schedule 18.04.2009
comment
Поддерживает ли Sanos JDK 1.6 и/или 64-разрядную версию? - person McGovernTheory; 19.04.2009
comment
Насколько я знаю, нет. Последняя версия 1.4. Это с открытым исходным кодом, поэтому, если вам это нужно, не стесняйтесь присоединиться. - person Thorbjørn Ravn Andersen; 19.04.2009
comment
Значит, SANOS умрет из-за того, что не вызвала достаточного интереса сообщества? - person McGovernTheory; 27.05.2009
comment
Без понятия. Спросите у разработчика проекта :) - person Thorbjørn Ravn Andersen; 27.05.2009

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

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

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

person Stephen C    schedule 17.07.2009

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

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

person Rene    schedule 18.04.2009
comment
Обратите внимание, что Squawk в значительной степени мертв и не особенно нов (я думаю, что он все еще находится в версии 1.3), поэтому я бы не рекомендовал его для каких-либо новых разработок. - person Cel Skeggs; 15.11.2014

Существует также гостевая виртуальная машина проекта, которая представляет собой JVM, размещенную на гипервизоре Xen. . Хотя на главной странице мало подробностей, есть Google Tech Talk о этот проект тоже.

person andri    schedule 18.04.2009
comment
Это действительно очень интересный и перспективный проект. Вы должны отредактировать свой ответ, а также добавить ссылку на maxine: maxine.dev.java.net - person ivan_ivanovich_ivanoff; 18.04.2009

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

person jsight    schedule 19.04.2009
comment
Есть какие-нибудь мысли о том, как JNODE сравнивается с SANOS? - person McGovernTheory; 27.05.2009

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

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

видеть

person asmaier    schedule 25.08.2010

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

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

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

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

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

person martsbradley    schedule 18.04.2009
comment
Некоторые процессоры ARM имеют arm.com/products/multimedia/java/jazelle.html - хотя я не знаю, полнофункциональная ли это JVM или нет (моя интуиция говорит, что, вероятно, нет) - person andri; 18.04.2009
comment
Jazelle — это не полнофункциональная JVM, это просто поддержка, которая позволяет ЦП выполнять некоторые инструкции байт-кода и, таким образом, упрощает написание производительной JVM. - person Joachim Sauer; 31.07.2009

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

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

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

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

person Community    schedule 28.05.2010

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

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

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

person Joseph Kulig    schedule 08.10.2020