vak: (Default)
[personal profile] vak
Мне тут [personal profile] lxe сгрузил ссылок про килобайтную виртуальную машину Java. Накладу их здесь для постепенного изучения.

Общая информация:
http://www.expertglossary.com/java/definition/kvm-kilobyte-virtual-machine
https://en.wikipedia.org/wiki/K_virtual_machine
http://www.oracle.com/technetwork/java/index-141974.html
http://www.oracle.com/technetwork/systems/downloadkvm-156563.html
http://www.oracle.com/technetwork/java/cldc-141990.html
http://www.oracle.com/technetwork/java/index-jsp-138820.html

Практическая статья со стороны про KVM:
https://barrgroup.com/Embedded-Systems/How-To/KVM-J2ME-Java-Virtual-Machine

Еще, как выяснилось при внимательном осмотре, существует Java Embedded:
http://www.oracle.com/technetwork/java/embedded/overview/index.html

Надо прикинуть, помещается ли оно как-нибудь в микроконтроллер под RetroBSD или LiteBSD. Пока мне удалось найти три реализации Java для микроконтроллеров: HaikuVM, nanovm и uJ.

Date: 2018-02-08 04:15 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
А вот эта не влезет?
https://github.com/GaloisInc/HaLVM

Я таку и не понял размер ее, правда.

Date: 2018-02-08 04:34 (UTC)
x86128: (Default)
From: [personal profile] x86128
У OCaML есть официальный bytecode (примерно 140-170 команд), но есть ли реализации для микроконтроллеров не знаю. По идее должны быть.

Date: 2018-02-08 10:24 (UTC)
dmytrish: (qnxroot)
From: [personal profile] dmytrish
Эта вряд ли, это полноценный ghc, а "lightweight" в названии — это больше про Xen как противоположность "heavyweight" general-purpose OS.

Рантайм ghc, конечно, вовсе не такой прожорливый, как популярные JVM, но и до минимализма там далеко. Без всяческих наворотов современных процессоров это вряд ли будет работать приятно.

Date: 2018-02-09 01:51 (UTC)
x86128: (Default)
From: [personal profile] x86128
Круто. Всегда думал что под симбиан всё делалось нативно на плюсах.

А про какую версию симбиана тогда речь идет. Интересно spec почитать.

Наверное, интерпретатор байткода проще сделать чем компилятор СИ.

Date: 2018-02-08 04:27 (UTC)
x86128: (Default)
From: [personal profile] x86128
Еще тут вот есть любопытная реализация схемы/лисп машины для микроконтроллеров:
http://users.eecs.northwestern.edu/~stamourv/papers/picobit.pdf
http://users.eecs.northwestern.edu/~stamourv/slides/picobit-ifl09.pdf

Либо если ссылки не откроются можно на этой странице внизу увидеть http://users.eecs.northwestern.edu/~stamourv/

Там сборки на pic16 вроде как упоминаются. Крайне компактное ядро с TCP/IP выходит. Работает даже на AVR (правда там необходимо выносить TCP/IP в wiznet).

Еще замечательный проект: http://www.ulisp.com/

Что касается явы. Тоже думал на эту тему. J2ME сейчас ораклом делается только на заказ и та версия среды слишком урезана. Необходимо использовать отдельный тулчейн для сборки и отладки ява-кода на железе.

Date: 2018-02-10 01:59 (UTC)
pappadeux: (Default)
From: [personal profile] pappadeux
> Он даже покомпактнее будет

у него много наваяно, и если разделить фичи/память, то, возможно, самый эффективный лисп в округе

его использует для парсинга такой проект как Julia

Date: 2018-02-10 07:39 (UTC)
x86128: (Default)
From: [personal profile] x86128
Возможно из-за скобочной слепоты :D

Но если честно, боятся сборщика мусора.
Edited Date: 2018-02-10 07:41 (UTC)