Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais * SISTEMAS OPERACIONAIS Aula 3 – Montadores, Ligadores e Carregadores. Prof. Cristiano Stocco Gaigher Sistemas Operacionais Sistemas Operacionais * * Roteiro Montadores Ligadores Carregadores Sistemas Operacionais * * Montadores Montagem é o processo que realiza a tradução de cada instrução assembly para o código de máquina correspondente. Obviamente, esse o processo de montagem seria maçante e sujeito a erros se executado manualmente. A motivação para a existência de montadores é exatamente tornar esse processo tão mecânico como possível. Sistemas Operacionais * * Montadores O papel do montador é analisar cada instrução do programa em linguagem simbólica, traduzindo-a para a sequência de bits correspondente à instrução de máquina. Sistemas Operacionais * * Montadores Processo simples. Entrada: linguagem de montagem. Saída: linguagem de máquina Sistemas Operacionais * * Montadores A linguagem de montagem está diretamente ligada às características da arquitetura do processador. Em função disto, este tipo de linguagem é diferente para cada computador, pois a linguagem de máquina e, consequentemente, a linguagem de montagem são características específicas do processador. Sistemas Operacionais * * Montadores Um montador, ou assembler, é um programa cujos dados de entrada são sequências de caracteres obtidas de um arquivo fonte que constituem o programa assembly e cujo resultado é um conjunto de palavras de máquina (instruções, dados) gravadas em um arquivo binário constituindo um módulo que será posteriormente utilizado pelo carregador. Sistemas Operacionais * * Montadores O uso de um montador também permite facilitar a codificação assembly, de modo que o programador não precise mapear explicitamente a alocação de segmentos e variáveis à memória. Sistemas Operacionais * * Roteiro Montadores Ligadores Carregadores Sistemas Operacionais * * Ligadores Programas capazes de unir parcelas de código, compiladas separadamente, em um único arquivo de programa executável. Através de símbolos e posições relacionados em tabelas de símbolos geradas pelos compiladores, os ligadores são capazes de unir trechos de código existentes em diferentes arquivos objeto em um único arquivo executável. Sistemas Operacionais * * Ligadores (a) (b) (c) (d) (e) (f) Sistemas Operacionais * * Ligadores O resultado da execução do Ligador é o código final pronto para ser executado pelo computador, chamado módulo de carga ou código executável. Sistemas Operacionais * * Roteiro Montadores Ligadores Carregadores Sistemas Operacionais * * Carregadores Os carregadores são os programas responsáveis pelo transporte dos arquivos de programa executáveis das estruturas de armazenamento secundário (unidades de disco ou fita) para a memória principal. Sistemas Operacionais * * Carregadores Principais tarefas: Verificar se o programa existe. Dimensionar a quantidade de memória necessária. Solicitar ao sistema operacional a memória necessária. Copiar código executável do arquivo para a memória. Sistemas Operacionais * * Carregadores Tipicamente integrado ao Sistema Operacional. Sistemas Operacionais * * Carregadores Tarefas básicas de um carregador: Alocação – aloca espaço na memória. Ligação (link) : resolve referências simbólicas cruzadas entre os códigos-objeto.. Carregamento: carrega segmentos (instruções e/ou dados) nos endereços de memória reservados e inicia execução. Sistemas Operacionais * * Carregadores
Compartilhar