Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouDiego Avilla Alterado mais de 10 anos atrás
1
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 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, 1993. 525p. 14
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.