A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Construção de um protótipo de uma máquina virtual para execução de código binário Aluno: Wlysses Sebastião Pereira Orientador: Marcos Alberto Lopes da.

Apresentações semelhantes


Apresentação em tema: "Construção de um protótipo de uma máquina virtual para execução de código binário Aluno: Wlysses Sebastião Pereira Orientador: Marcos Alberto Lopes da."— Transcrição da apresentação:

1 Construção de um protótipo de uma máquina virtual para execução de código binário Aluno: Wlysses Sebastião Pereira Orientador: Marcos Alberto Lopes da Silva Curso: Ciência da Computação Uberlândia, 27 de Julho de 2013

2 Objetivo da apresentação Descrever modelos de execução de códigos executáveis. Falar sobre alguns ambientes de execução virtual. Descrever estruturas e módulos usados em ambientes de execução.

3 Objetivo da apresentação Apresentação do estudo de caso. – Protótipo de máquina virtual para execução de código binário. – Compilador assembler para criação de código binário a partir de código fonte de entrada. – Demonstração da execução de códigos binários.

4 Modelos de execução Execução direta de código binário em hardware: 0x01 0x0A... X86/ARM Código executável. Hardware nativo.

5 Modelos de execução Interpretação textual: PRINT XInterpretadorX86/ARM Código executável. Hardware nativo. Le o conteúdo de texto do arquivo e efetua as ações.

6 Modelos de execução Processadores/máquinas virtuais: 0x01 0x0A... Processador/máquin a virtual X86/ARM Hardware nativo. Código executável. Hardware virtual.

7 Alguns ambientes de execução virtual Máquina virtual java (JVM): 0xCAFEBABE... JVMX86/ARM Arquivo CLASS. Máquina virtual Java. Ambiente hospedeiro.

8 Alguns ambientes de execução virtual Plataforma.NET: (CLI).NETX86/ARM Arquivo.exe Plataforma.NET Ambiente hospedeiro.

9 Alguns ambientes de execução virtual Parrot: 0x01 0x0A ParrotX86/ARM Código executável. Máquina virtual Parrot Ambiente hospedeiro.

10 Estruturas e módulos usados em ambientes de execução Opcode (Código de operação): InstruçãoValor numérico MOV EAX, DWORD PTR [EBP+8]0x7C90EBC2 MOV ECX, DWORD PTR [EBP+4]0x7C90EBC5 PUSH 10x7C90EC34...

11 Estruturas e módulos usados em ambientes de execução Carregador de Opcode: Memória Código executável Área de código OPCODES

12 Estruturas e módulos usados em ambientes de execução Just in Time i++;JITADD [01], 1

13 Estudo de Caso Protótipo de Máquina virtual ProcessadorMemória R0, R1, R2, R3, R4, R5, R6, R7, CS, DS, SS, IP, SP, BP, FLAG_Z, FLAG_S byte 2 bytes

14 Protótipo de Máquina virtual Código binário para execução Opcode de três bytes – De ( ) até (FF FF FF) W16CSDSSSCÓDIGO0xFFDADOS0xFF 1 byte 2 bytes 3 ou N bytes 1 byte 0 ou N bytes 1 byte

15 Protótipo de Máquina virtual Memória CódigoDadosPilha

16 Protótipo de Máquina virtual Execução de um código Memória Código executável Área de código OPCODES

17 Protótipo de Máquina virtual Executado pelo executor de Opcodes. Exibido os valores dos registradores e das áreas da memória.

18 Estudo de Caso Compilador assembler – Linguagem parecida com assembly. – Sem diferenciação entre maiúsculo e minúsculo..VAR $variavel.PROGRAM MOV R0 2 ST0 0x0A.END

19 Demonstração da execução de códigos binários

20 Conclusão A máquina virtual executa com satisfação mesmo sendo sobre um ambiente virtual. Mostrado na prática o desenvolvimento e execução de um ambiente virtual.

21 Sugestões de trabalhos futuros Desenvolvimento de uma linguagem de alto nível para criação de programas na máquina virtual. Expandir a máquina migrando-a para alguma linguagem de baixo nível, como por exemplo C++.

22 Perguntas

23 Obrigado


Carregar ppt "Construção de um protótipo de uma máquina virtual para execução de código binário Aluno: Wlysses Sebastião Pereira Orientador: Marcos Alberto Lopes da."

Apresentações semelhantes


Anúncios Google