No material, falamos sobre os recursos dessa ferramenta aberta e seus parâmetros técnicos. Também falaremos sobre projetos semelhantes sendo desenvolvidos nesta área.
Nas séries anteriores:
Fotos - Faris Mohammed - UnsplashO que Ă© essa ferramenta
O Jor1k Ă© um emulador de microprocessador construĂdo com base na microarquitetura
OpenRISC 1000 . Este é um chip de 32 bits que a comunidade aberta está desenvolvendo sob a licença LGPL. O dispositivo foi
usado na NASA para criar o nano-satélite TechEdSat.
O emulador Ă© escrito em JavaScript e funciona no navegador. O Jor1k
foi lançado em 2013 e, desde então, é suportado pelo autor. Eles foram feitos por Sebastian Macke. Ele foi assistido por vários colegas do workshop, incluindo
Gerard Braad , um engenheiro de software lĂder da Red Hat. Os autores do projeto
dizem que o lançaram para demonstrar os recursos do JavaScript.
A ferramenta pode ser usada como uma plataforma educacional nas universidades. Ele também serve como uma referência para testar mecanismos JS e pode ser uma maneira alternativa de transportar software antigo para sistemas modernos.
Acredita-se que o jor1k possa atuar como um nĂł para o
sistema TAILS , eliminando a necessidade de alocar uma máquina separada.
O que ele pode fazer
Existem várias imagens do sistema como demonstração - sua lista é apresentada na
subseção Demos no GitHub. A maioria deles Ă© construĂda no Linux 3.16, permitindo trabalhar com gráficos X.Org e Wayland / Weston, alĂ©m de executar vários aplicativos. Por exemplo, no jor1k, existem dois benchmarks internos - nbench e coremark. O primeiro foi desenvolvido nos anos 90 por especialistas da revista agora fechada em microcomputadores BYTE.
O nbench permite avaliar o desempenho da memĂłria, bem como da CPU e da FPU. Quanto ao
coremark , este é um conjunto de benchmarks para o processador em sistemas embarcados. Entre as tarefas dos testes estão: processar listas e matrizes vinculadas, além de calcular a quantidade de
CRC .
TambĂ©m no jor1k, vocĂŞ pode reproduzir vários vĂdeos e jogar jogos de computador. Entre eles estĂŁo Monkey Island , Doom e Frontier Elite II . Em particular, o Monkey Island Ă© lançado usando o utilitário ScummVM, desenvolvido especificamente para baixar jogos do LucasArts.
Embora seja interessante notar que o desempenho dos jogos deixa muito a desejar - o cursor responde aos movimentos do mouse lentamente, além de haver um atraso após o clique.

A imagem
é exibida usando um buffer de moldura emulado com uma resolução de 640x400 e suporte para a tela de toque LPC32xx. O sistema armazena dados em um disco
ATA virtual de 64 kilobytes e os processa com 32 megabytes de RAM. A entrada é organizada usando o driver do teclado virtual. O Jor1k possui um controlador Ethernet integrado que permite acessar a Internet a partir de um ambiente simulado por navegador. Um dos residentes do Hacker News em um tópico temático
observa que, nesse caso, os desenvolvedores redirecionam todas as solicitações por meio de seu próprio servidor.
O emulador suporta trabalhos multithread com dois, quatro, oito e dezesseis núcleos. Cada versão do emulador é baixada através de um link separado - elas podem ser encontradas
na subseção Demos do repositório oficial. Observe que, com um aumento no número de núcleos, o sistema começa a funcionar de maneira instável - no futuro, os desenvolvedores planejam resolver esse problema. Ao mesmo tempo, os usuários do Hacker News
observam que o emulador é mais rápido no Firefox do que em outros navegadores. Esse comportamento do sistema está associado a uma melhor otimização para seu compilador JIT.
Outros emuladores
O projeto JSLinux também
desenvolveu um emulador JavaScript para uma CPU de 32 bits (x86). Seu autor foi o matemático francĂŞs Fabrice Bellard, que escreveu uma biblioteca para decodificar arquivos de áudio e vĂdeo
libavcodec .
O emulador é baseado no tradutor dinâmico do projeto
QEMU . O sistema também usa matrizes JavaScript digitadas, que aumentam o desempenho e reduzem o consumo de memória ao trabalhar com dados de tamanho fixo.
Fotos - Ivy Barn - UnsplashO emulador JavaScript baseado em Linux também foi
trabalhado por engenheiros da RISC-V Foundation. O sistema deles era chamado riscv-angel e permitia executar o riscv-linux com um conjunto de utilitários
BusyBox .
É seguro dizer que, se essas soluções continuarem a melhorar, elas poderão se tornar uma nova rodada no desenvolvimento de tecnologias de terminal e soluções em nuvem. Sistemas especialmente relevantes como o jor1k serão para grandes empresas. Portanto, seus funcionários poderão acessar áreas de trabalho remotas usando um navegador comum.

No 1cloud.ru, oferecemos
serviços de aluguel de infraestrutura virtual . Há uma calculadora no site que ajuda a estimar o custo estimado dos recursos.

Os especialistas do nosso centro de competĂŞncia estĂŁo prontos para responder a perguntas adicionais - eles podem ser
chamados ou gravados nos correios .
O que mais temos sobre Habré: