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

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

Software Básico Silvio Fernandes 2009.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.

Apresentações semelhantes


Apresentação em tema: "Software Básico Silvio Fernandes 2009.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula."— Transcrição da apresentação:

1 Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 09: Funções básicas dos carregadores 1

2 Introdução Programas-objetos (PO) contêm instruções traduzidas e valores de dados do programa original e especificam os endereços onde estes itens devem ser carregados na memória 1.Carga: coloca o PO na memória para ser executado 2.Relocação: modifica o PO de modo que ele possa ser carregado num endereço diferente 3.Link: combina 2 ou mais PO diferentes e gera informações que permitem a troca de referências entre eles 2

3 Introdução Loader é um software básico que realiza a função de carga Alguns permitem também a relocação e o link Na maioria dos casos, todos os tradutores de programas geram PO com o mesmo formato Assim, o loader e o link pode ser usados independentes da linguagem empregada no programa-fonte 3

4 Funções Básicas do loader As funções fundamentais são levar um PO para a memória e dar início à sua execução Um loader absoluto muito simples não precisa realizar funções de link nem relocação, então todas suas funções são executadas em uma única passagem O registro Cabeçalho é examinado para verificar se o programa correto está sendo submetido (e se cabe na memória disponível) 4

5 Funções Básicas do loader A medida que cada registro de Texto é lido, o código-objeto (CO) correspondente é movido para o endereço de memória indicado Quando o registro Fim é encontrado, o loader salta para o endereço especificado e inicia a execução 5

6 Funções Básicas do loader 6

7 O algoritmo para o loader de lógica simples 7

8 Um bootstrap loader simples Bootstrap loader é um loader absoluto que carrega o primeiro programa que deve ser executado pelo computador (geralmente um SO) A fig. a seguir mostra o código-fonte de um bootstrap loader muito simples 8

9 Um bootstrap loader simples 9

10 10

11 Um bootstrap loader simples O bootstrap se inicia no endereço 0 da memória Ele carrega o SO (ou outro programa) a partir do endereço 80 Cada byte do código-objeto a ser carregado é representado no dispositivo F1 sob a forma de 2 dígitos hexadecimais, que é sempre carregado em bytes consecutivos da memória, a partir do endereço 80 11

12 Um bootstrap loader simples A maior parte do trabalho é feita pela subrotina GETC, que lê um caracter do dispositivo F1 e o converte em ASCII para o valor do dígito hexadecimal representado por este caracter – Ex: o código ASCII do carater 0 (hexa 30) é convertido para o valor numérico 30 – ASCII de 1 a 9 (hexa 31 a 39) para 1 a 9 – Códigos de A a F (hexa 41 a 46) para 10 a 15 12

13 Um bootstrap loader simples O loop principal mantém no registrador X o próximo endereço de memória a ser carregado GETC é usada para ler e converter um par de caracteres do dispositivo F1 – Os 2 valores são combinados num mesmo byte que é armazenado no endereço atual do registrador X 13

14 Referências Leland L Beck. Desenvolvimento de software básico. 2ª ed. Rio de Janeiro: Campus, p. 14


Carregar ppt "Software Básico Silvio Fernandes 2009.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula."

Apresentações semelhantes


Anúncios Google