SóProvas


ID
5090557
Banca
CESPE / CEBRASPE
Órgão
SEED-PR
Ano
2021
Provas
Disciplina
Arquitetura de Computadores
Assuntos

A respeito da arquitetura de computadores, julgue os itens a seguir.

I Compilador é um programa que converte outro programa de alguma linguagem-fonte (ou linguagem de programação) para linguagem de máquina (código-objeto).
II Código executável é o código de máquina gerado por um processador da linguagem de código-fonte, como um montador ou um compilador; é um software em uma forma que pode ser executada no computador.
III Loader (carregador) é um programa utilitário que combina um ou mais arquivos que contêm código-objeto de módulos de programa compilados separadamente para um arquivo único que contém código carregável ou executável.
IV Código-objeto é a representação binária de um programa de computador, sendo lido e interpretado, de fato, pelo computador.

Estão certos apenas os itens

Alternativas
Comentários
  • GAB. A.

    SOMENTE AS DUAS QUE ESTÃO CORRETAS.

    I Compilador é um programa que converte outro programa de alguma linguagem-fonte (ou linguagem de programação) para linguagem de máquina (código-objeto).

    II Código executável é o código de máquina gerado por um processador da linguagem de código-fonte, como um montador ou um compilador; é um software em uma forma que pode ser executada no computador. 

  • Um compilador é um programa de sistema que traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em código de máquina para um processador.. LETRA A correta

    O processo de programação inicia-se com a edição de um programa-fonte e termina com a geração de um programa-executável.

    Um programa-fonte deve ser criado em um editor de textos (sem formatação). Após a criação, este programa é submetido a um compilador que analisa o código-fonte e o converte este para um código-objeto (ou programa-objeto). O código-objeto é a versão em linguagem de máquina do programa-fonte.

    Se o programa contiver chamadas a funções das bibliotecas  (função cosseno, por exemplo) o ligador junta o programa-objeto com a(s) respectiva(s) biblioteca(s) e gera um código-executável (ou programa-executável). LETRA B correta

  • Explicação dos itens III e IV (qualquer erro só avisar):

    Loader (ou Carregador): É o responsável pelo carregamento de um programa para a Memória Principal do computador, para que posteriormente seja executado pela CPU.

    Código-objeto: é o resultado, em formato binário, da compilação do código-fonte (até aqui o item está certo), mas ele ainda não será interpretado ou executado diretamente pelo computador. Para isso, é necessário mais uma etapa, que é transformar o código-objeto em um código executável através de um Linker (ou Ligador) (esse sim será executado pelo computador/CPU).

    Fonte: PDFs de aulas sobre o assunto (universidades federais).

  • Questão muito zuada...

    III - Esse é o Linker. O Loader basicamente carrega o Código Executável na memória

    IV - Esse é o Código Executável. Para gerar um CE, o Código-Objeto precisa: (1) passar pelo Montador caso ele seja um assembly e (2) passar pelo Linker

    ,

    OBSERVAÇÕES

    I - Nem sempre o compilador gera um código de máquina, pode gerar um assembly ou bytecode.

    II - Quem gerar o código executável é o Linker.

    .

    Imagens: http://2.bp.blogspot.com/-9w2BFYl3zeo/TkS2HlW9rFI/AAAAAAAAAZ8/uNOkY7Yxeto/s1600/ccompilerlinker001.png

    https://media.geeksforgeeks.org/wp-content/uploads/20200822212538/code.png

  • I Compilador é um programa que converte outro programa de alguma linguagem-fonte (ou linguagem de programação) para linguagem de máquina (código-objeto). 

    compilador é um programa capaz de conseguir traduzir o código-fonte de um software, escrito em uma linguagem de alto nível, para uma espécie de programa equivalente, escrito em outra linguagem, que seja semanticamente equivalente, mas capaz de ser lida pelos processadores.”

     

    II Código executável é o código de máquina gerado por um processador da linguagem de código-fonte, como um montador ou um compilador; é um software em uma forma que pode ser executada no computador.

     

    montador (assembler) é o programa do sistema responsável por traduzir o código assembly em linguagem de máquina, traduzindo cada instrução do programa para a sequência de bits que codifica a instrução de máquina. Como cada processador tem sua própria linguagem, montadores são específicos para processadores.”

     

     

    Loader (ou Carregador): É o responsável pelo carregamento de um programa para a Memória Principal do computador, para que posteriormente seja executado pela CPU.

     

     

    Código-objeto: é o resultado, em formato binário, da compilação do código-fonte (até aqui o item está certo), mas ele ainda não será interpretado ou executado diretamente pelo computador. Para isso, é necessário mais uma etapa, que é transformar o código-objeto em um código executável através de um Linker (ou Ligador) (esse sim será executado pelo computador/CPU). (fonte: Matheus Rodrigues)

  • Os itens da questão estao entrando em contradição com o gabarito. ################# o item I afirma que o resultado de uma compilação eh um "Código Objeto". ################# o item II afirma que Código Executável eh gerado pelo compilador. Afirma TB que pode ser executado pelo computador. ############### então, se juntarmos o item I e o II, podemos concluir que um Código Objeto, que eh o resultado de uma compilação, pode ser executado pelo computador, não precisando do tal do Linker conforme outros colegas comentaram. ############ o que pode tornar a alternativa IV verdadeira. Salvo se o erro ser um raciocínio diferente da necessidade de um LiNKER.
  • A questão é FCC do Stallings.

    I - Compilador = Um programa que converte outro programa de alguma linguagem fonte (ou linguagem de programação) para linguagem de máquina (código objeto) CORRETO

    II - Código executável = O código de máquina gerado por um processador da linguagem de código fonte como um montador ou um compilador, isto é, software em uma forma que pode ser executada no computador CORRETO

    III - A QUESTÃO ESTÁ DESCREVENDO O LINKER. Linker = Um programa utilitário que combina um ou mais arquivos contendo código objeto de módulos de programa compilados separadamente para um arquivo único contendo código carregável ou executável.

    Loader = Uma rotina de programa que carrega um programa executável na memória para execução

    IV - A QUESTÃO ESTÁ DESCREVENDO O CÓDIGO DE MÁQUINA = Representação binária de um programa de computador que é lido e interpretado de fato pelo computador. Um programa em código de máquina consiste de uma sequência de instruções de máquina (possivelmente intercaladas com dados).

    Código-Objeto = Representação, em linguagem de máquina, do código fonte de programação. O código objeto é criado por um compilador ou montador e é transformado em código executável pelo linker.

    A questão foi toda tirada do STALLINGS não tem margem pra erro.

    I e II

    GAB A.