En el material hablamos sobre las capacidades de esta herramienta abierta y sus parámetros técnicos. También hablaremos sobre proyectos similares que se están desarrollando en esta área.
En series anteriores:
Fotos - Faris Mohammed - Unsplash¿Qué es esta herramienta?
Jor1k es un emulador de microprocesador basado en la microarquitectura
OpenRISC 1000 . Este es un chip de 32 bits que la comunidad abierta está desarrollando bajo la licencia LGPL. El dispositivo fue
utilizado en la NASA para crear el nanosatelital TechEdSat.
El emulador está escrito en JavaScript y funciona desde el navegador. Jor1k
fue lanzado en 2013 y desde entonces ha sido respaldado por el autor. Fueron hechos por Sebastian Macke. Fue asistido por varios colegas en el taller, incluido
Gerard Braad , un ingeniero de software líder en Red Hat. Los autores del proyecto
dicen que lo lanzaron para demostrar las capacidades de JavaScript.
La herramienta se puede utilizar como plataforma educativa en las universidades. También sirve como punto de referencia para probar motores JS y puede ser una forma alternativa de portar software antiguo a sistemas modernos.
Se cree que jor1k podrá actuar como un nodo para el
sistema TAILS , eliminando la necesidad de asignar una máquina separada.
Que puede hacer
Hay varias imágenes del sistema como demostración: su lista se presenta en
la subsección Demos en GitHub. La mayoría de ellos están construidos en Linux 3.16, le permite trabajar con gráficos X.Org y Wayland / Weston, además de ejecutar varias aplicaciones. Por ejemplo, en jor1k hay dos puntos de referencia integrados: nbench y coremark. El primero fue desarrollado en los años 90 por especialistas de la revista ahora cerrada sobre microcomputadoras BYTE.
nbench le permite evaluar el rendimiento de la memoria, así como de la CPU y la FPU. En cuanto a
coremark , este es un conjunto de puntos de referencia para el procesador en sistemas integrados. Entre las tareas para las pruebas están: procesar listas y matrices vinculadas, además de calcular la cantidad de
CRC .
También en jor1k puedes reproducir varios videos y juegos de computadora. Entre ellos están Monkey Island , Doom y Frontier Elite II . En particular, Monkey Island se lanza utilizando la utilidad ScummVM, desarrollada específicamente para descargar juegos de LucasArts.
Aunque vale la pena señalar que el rendimiento de los juegos deja mucho que desear: el cursor responde a los movimientos del mouse con bastante lentitud, además hay un retraso después del clic.

La imagen
se muestra usando un framebuffer emulado con una resolución de 640x400 y compatible con la pantalla táctil LPC32xx. El sistema almacena datos en un disco virtual
ATA de 64 kilobytes y los procesa con 32 megabytes de RAM. La entrada se organiza utilizando el controlador de teclado virtual. Jor1k tiene un controlador ethernet integrado que le permite acceder a Internet desde un entorno simulado por navegador. Uno de los residentes de Hacker News en un hilo temático
señala que, en este caso, los desarrolladores redirigen todas las solicitudes a través de su propio servidor.
El emulador admite trabajos de subprocesos múltiples con dos, cuatro, ocho y dieciséis núcleos. Cada versión del emulador se descarga a través de un enlace separado; se pueden encontrar
en la subsección Demos del repositorio oficial. Tenga en cuenta que con un aumento en el número de núcleos, el sistema comienza a funcionar de manera inestable; en el futuro, los desarrolladores planean resolver este problema. Al mismo tiempo, los usuarios con Hacker News
notan que el emulador es más rápido en Firefox que en otros navegadores. Este comportamiento del sistema está asociado con una mejor optimización para su compilador JIT.
Otros emuladores
El proyecto JSLinux también
desarrolló un emulador de JavaScript para una CPU de 32 bits (x86). Su autor fue el matemático francés Fabrice Bellard, quien escribió una biblioteca para decodificar archivos de audio y video
libavcodec .
El emulador se basa en el traductor dinámico del proyecto
QEMU . El sistema también utiliza matrices JavaScript tipificadas, que aumentan el rendimiento y reducen el consumo de memoria cuando se trabaja con datos de tamaño fijo.
Fotos - Ivy Barn - UnsplashEl emulador de JavaScript basado en Linux también fue
trabajado por ingenieros de la Fundación RISC-V. Su sistema se llamaba riscv-angel y le permitía ejecutar riscv-linux con un conjunto de utilidades
BusyBox .
Es seguro decir que si tales soluciones continúan mejorando, pueden convertirse en una nueva ronda en el desarrollo de tecnologías de terminal y soluciones en la nube. Los sistemas especialmente relevantes como jor1k serán para grandes empresas. Por lo tanto, sus empleados podrán acceder a escritorios remotos utilizando un navegador normal.

En 1cloud.ru ofrecemos
servicios de alquiler de infraestructura virtual . Hay una calculadora en el sitio que ayuda a estimar el costo estimado de los recursos.

Los especialistas de nuestro centro de competencia están listos para responder preguntas adicionales: pueden
llamarse o escribirse por correo .
¿Qué más tenemos sobre Habré?