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 2009.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 12: Características independentes da máquina 1

2 Introdução A carga e o link costumam ser vistos como serviços do SO A ligação do programador com estes serviços não é tão próxima como com o assembler durante o desenvolvimento do programa Portanto, a maioria dos loaders é mais padronizada e oferece menos recursos variados 2

3 Introdução No aspecto dessa independência da máquina discutiremos – Pesquisa automática em biblioteca – Opções que podem ser selecionadas em tempo de carga e link 3

4 Pesquisa automática em biblioteca Vários linking loaders podem incorporar de maneira automática as rotinas de uma biblioteca de subprogramas ao programa que está sendo carregado Na maioria dos casos há um biblioteca padronizada com esta finalidade Isso permite que seja usado subrotinas de uma biblioteca quase como se fizessem parte da linguagem 4

5 Pesquisa automática em biblioteca As subrotinas chamadas serão acessadas automaticamente na biblioteca, linkadas com programa principal, e carregadas O programador só precisa mencionar o nome das subrotinas como referências externas Os linking loaders que suportam a pesquisa automática devem acompanhar os símbolos externos referenciados, mas não definidos, no fluxo principal de entrada do loader 5

6 Pesquisa automática em biblioteca Uma solução simples seria entrar com os símbolos de cada registro de Referência na tabela de símbolos (ESTAB) se os símbolos já não estivessem Esses itens seriam assinalados de modo especial e quando a definição fosse encontrada, o endereço seria preenchido na tabela 6

7 Pesquisa automática em biblioteca No final da Passagem 1, os símbolos de ESTAB sem definição representam referências externas não resolvidas O loader pesquisará as bibliotecas especificadas e processará as subrotinas como se fizesse parte do fluxo principal de entrada Observe que as subrotinas nas bibliotecas também podem conter referências externas, assim é preciso repetir o processo até que todas as referências sejam resolvidas 7

8 Pesquisa automática em biblioteca Esse processo permite ao programador ignorar as rotinas standard da biblioteca, utilizando suas próprias rotinas em lugar delas EX: se o programador define uma subrotina SQRT (mesmo nome da subrotina da biblioteca), ao fim da Passagem 1 do loader, SQRT já estaria definida, e portanto não seria incluída por pesquisa da biblioteca 8

9 Pesquisa automática em biblioteca Na maioria dos casos, as bibliotecas são construídas utilizando-se uma estrutura de arquivo especial – Diretório que dá nome a cada rotina e guarda um ponteiro que indica o endereço da rotina dentro do arquivo A pesquisa à biblioteca se transforma, na prática, em uma pesquisa ao diretório, seguida pela leitura do programas-objetos Essa pesquisa se aplica a qualquer referência externa e não apenas a subrotinas 9

10 Opções do Loader Vários loader permitem que o usuário especifique opções para modificar os procedimentos do loader – Linguagem de comandos especial – Arquivo de entrada – Instruções embutidas no fluxo principal – Instruções no programa-fonte (assembler ou compilador os inclui no programa-objeto) 10

11 Opções do Loader Utilizaremos a abordagem de linguagem de comandos Uma das opções é a escolha de dispositivos de entrada alternativos – INCLUDE nome-programa(nome-biblioteca) Instrui o loader a ler o programa-objeto designado em uma biblioteca e tratá-lo como se fosse parte da entrada principal do loader – DELETE nome-csect Elimina símbolos externos ou seções de controle inteiras 11

12 Opções do Loader – CHANGE nome1, nome2 Faz com que o símbolo externo nome1 fosse transformado em nome2 sempre que aparecesse nos programas-objetos Ex: Considerando o programa-fonte e o programa-objeto a seguir, onde há um programa principal (COPY) que utiliza 2 subrotina (RDREC e WRREC). 12

13 Opções do Loader 13

14 Opções do Loader 14

15 Opções do Loader 15

16 Opções do Loader Se o prog. passasse a utilizar READ e WRITE de uma biblioteca em substituição a RDREC e WRREC Como solução temporária, uma sequência de comandos poderia ser empregada para fazer a alteração sem a necessidade de remontar o programa 16

17 Opções do Loader No programa-objeto haveria os seguintes comandos INCLUDEREAD(UTLIB) INCLUDEWRITE(UTLIB) DELETEREDREC, WRREC CHANGERDREC, READ CHANGEWRREC, WRITE 17

18 Opções do Loader Esses comandos fariam com que o loader incluísse as seções de controle READ e WRITE da biblioteca UTLIB Eliminasse as seções RDREC e WRREC O 1º CHANGE faria com que todas as referências externas ao símbolo RDREC fossem transferidas para READ E o 2ª CHANGE de WRREC para WRITE 18

19 Opções do Loader Um comando para especificar o uso de bibliotecas alternativas, ao invés de inclusão automática – LIBRARYMYLIB As bibliotecas especificadas pelo usuário costumam ser lidas antes das bibliotecas standard do sistema – NOCALLrotina1, rotina2 Instrui o loader a ignorar as referências externas especificadas 19

20 Opções do Loader Outra opção é a saída do loader Por exemplo, ele poderia imprimir ou não um mapa de carga e qual o nível de detalhamento Uma opção bastante comum é permitir especificar o endereço onde a execução do programa deverá ser iniciada Outra possibilidade é definir se o loader tentará executar o programa caso sejam detectados erros durante a carga 20

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


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