Informática, perguntado por caua213, 11 meses atrás

4). Responda as questões abaixo:


a). Diferencie Tradutor de Interpretador.

b). Quais as funções do linker?

c). Porque o uso do linker se tornou inviável em sistemas multiprogramáveis? E qual seria a solução adotada para o problema gerado?

d). Diferencie Compilador de Montador.

e). Qual é a função do depurador e cite três recursos que ele oferece ao usuário.

f). Por que a execução de programas interpretados é mais lenta que a de programas compilados?

g). Pesquise como funciona a técnica de pipelining e como ela melhora o desempenho dos sistemas computacionais.

h). Qual a principal função do loader? Diferencie linker de loader.

i). Qual a função da linguagem de controle?

j). Por que o código objeto gerado pelo tradutor ainda não pode ser executado?

Soluções para a tarefa

Respondido por fqpl059
22

Resposta:

a) O interpretador gera um código que não é considerado um código objeto e diferentemente do Tradutor, o código é gerado e executado em seguida.

b)  Suas funções básicas são resolver todas as referências simbólicas  existentes entre os módulos e reservar memória para a execução do programa.

c) A memória é  compartilhada entre diversos programas, e é pouco provável que, no momento em que  o sistema carrega um programa, sua área de memória prefixada esteja disponível. A  solução para este problema é permitir que o programa seja carregado em regiões  diferentes toda vez que for trazido para a memória (código relocável).

d) O montador é o utilitário responsável por gerar código de máquina, a partir de um programa  escrito em linguagem de montagem. O compilador é o utilitário responsável por gerar código de máquina, a partir de um programa escrito em  uma linguagem de alto nível.

e) O depurador  é o utilitário que permite ao usuário controlar toda a execução  de um programa a fim de detectar erros na sua estrutura. Este utilitário oferece ao  usuário recursos como:

• acompanhar a execução de um programa instrução por instrução;

• possibilitar a alteração e visualização do conteúdo de variáveis;

• implementar pontos de parada dentro do programa (breakpoint), de forma que, durante a execução, o programa pare nesses pontos;

f) Porque programas interpretados, tem de ser traduzidos e interpretados, diferentemente dos compilados, que já foram traduzidos anteriormente e bastam ser executados.

g) O termo pipelining designa um método no qual, a cada instante, várias instruções do programa se encontram em estágios diversos de busca ou descodificação. Numa situação ideal, o pipelining acelera o tempo de execução, garantindo que o microprocessador não seja obrigado a esperar pelas instruções. Quando a execução de uma instrução é concluída, a outra já está pronta e à espera.

h) O loader, também chamado carregador, é o utilitário responsável por colocar  fisicamente na memória um programa para execução. Diferente do linker, ele não converte o arquivo, o loader simplesmente carrega as instruções na memoria.

i) A linguagem de controle, é a forma  mais direta de um usuário se comunicar com o sistema operacional, para que através de comandos simples, o  usuário possa ter acesso a rotinas específicas do sistema.

j) Isso ocorre em função de um programa poder chamar sub-rotinas externas, e, neste caso, o  tradutor não tem como associar o programa principal às sub-rotinas chamadas.

REFERÊNCIAS:

apconcursos

knoow

Perguntas interessantes