Buscar

Aula02_Principais_Software


Continue navegando


Prévia do material em texto

Sistemas
Operacionais
Tópico 02 
Aula 02 – Principais utilitários dos sistemas operacionais
Como podemos avaliar o desempenho de processadores?
 Diversas variáveis devem ser consideradas como
 Intervalo de tempo entre os pulsos de um sinal de Clock;
A frequência do clock é o inverso do ciclo de clock;
Ciclo de clock indica o número de pulsos elétricos;
Desempenho de um processador pode ser avaliado:
 Comparação dos tempos que processadores distintos;
 Este tempo denominado UCP;
Analisado entre o tempo que uma instrução é executada e o tempo de espera em operações de E/S;
Antes de começar...
Existem softwares que executam serviços complementares do sistema operacional estes são denominados utilitários
Os softwares desenvolvidos pelos usuários são denominados aplicações
Os softwares representam as diversas tarefas e aplicações que torna o trabalho dos usuários mais simples
Softwares
Nos primeiros sistemas operacionais os programas eram desenvolvidos em linguagem de máquina e carregados diretamente na memória principal;
Tradutor
Depois das primeiras linguagens como o Assembly e as linguagens de alto nível a preocupação do programador diminuiu
Tradutor
Normalmente esses programas não ficam prontos diretamente para serem executados pelo processador e para isso precisa de uma etapa de conversão denominada Tradutor
O módulo gerado pelo tradutor é denominado módulo objeto, existem dois tipos
Montador é o utilitário responsável por traduzir um programa fonte em linguagem de montagem em programa-objeto
Tradutor
Compilador é o utilitário responsável por gerar um programa escrito em uma linguagem de alto nível como Pascal, Fortran, COBOL ou C em um programa de linguagem de máquina não executável.
Tradutor
Interpretador
Um tipo de tradutor que não gera módulo-objeto
Um interpretador é escrito em linguagem de alto nível.
Os programas desse tipo traduz a instruções e as executa imediatamente.
Normalmente depende de um outro programa para execução das instruções 
Exemplos:
Javascript, HTML, Perl entre outros
Utilitário responsável por gerar a partir de um ou mais módulos objetos, um único programa executável
Principais funções são as referências simbólicas entre os módulos e reservar memória
As bibliotecas são arquivos que contém vários módulos-objeto
Outra função do linker é a realocação, que determina a região da memória no qual o programa será carregado para execução
Em sistemas multi-programáveis essa tarefa é de difícil implementação que pode permitir que o programa seja carregado em locais diferentes da memória
Linker
Loader
São utilitários responsáveis pela carga na memória principal um programa para ser executado
O Loader pode ser classificado como sendo do tipo:
Absoluto - Loader necessita conhecer o endereço da memória inicial e o tamanho do módulo
Realocável - Pode ser carregado em qualquer posição de memória, o Loader e realocação no momento do carregamento
Depurador
O desenvolvimento de programas está sujeito a erros de lógica;
A depuração é um dos estágios de desenvolvimento
O depurador (debugger) é utilitário que permite ao usuário acompanhar toda a execução de um programa a fim de detectar erros.
Algumas funções do debugger:
Acompanhar a execução de um programa instrução por instrução
Possibilita a alteração e a visualização do conteúdo das variáveis
Implementar pontos de parada