Uma linguagem de programação pode ser convertida em código...

Próximas questões
Com base no mesmo assunto
Ano: 2012 Banca: FUNCAB Órgão: MPE-RO Prova: FUNCAB - 2012 - MPE-RO - Analista de Sistemas |
Q222041 Sistemas Operacionais
Uma linguagem de programação pode ser convertida em código de máquina por compilação ou interpretação. Sobre a alocação de memória para programas compilados, é correto afirmar que:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é E - a alocação é estática.

Vamos entender melhor por que essa é a alternativa correta e revisar alguns conceitos importantes sobre alocação de memória para programas compilados.

Quando falamos de programas compilados, estamos nos referindo a programas que são traduzidos para código de máquina por um compilador antes de serem executados. Nesse processo, o compilador analisa todo o código-fonte e gera um arquivo executável específico para a arquitetura do hardware em questão.

Uma característica importante da compilação é a alocação de memória estática. Isso significa que o compilador decide a quantidade de memória que será necessária para o programa durante o processo de compilação. Essa alocação é feita uma vez e permanece fixa durante a execução do programa. Portanto, a quantidade de memória alocada não muda em tempo de execução.

Agora, vamos analisar as outras alternativas para entender por que elas não estão corretas:

A - a decisão de alocação se dá somente no momento da execução.

Essa afirmação está incorreta. A decisão de alocação de memória para programas compilados é feita durante o processo de compilação e não somente em tempo de execução. Em tempo de execução, o programa já está usando a memória que foi previamente alocada.

B - a vantagem da compilação é que o compilador não necessita conhecer o total de memória que está livre.

Essa alternativa também está errada. O compilador geralmente precisa ter uma noção do ambiente de execução, incluindo a quantidade de memória disponível, para gerenciar eficientemente a alocação de memória.

C - é permitido fazer swapping.

Swapping é uma técnica de gerenciamento de memória que envolve mover dados da memória principal para o disco rígido e vice-versa. Embora possa ser usado em sistemas operacionais para gerenciar memória, não é uma característica específica de programas compilados. Portanto, essa alternativa não está relacionada diretamente ao processo de compilação.

D - é permitido fazer buffering.

Buffering é uma técnica usada para gerenciar fluxos de dados, onde dados são armazenados temporariamente em um buffer antes de serem processados. Novamente, isso não é uma característica específica de programas compilados e não está diretamente relacionado à alocação de memória para esses programas.

Portanto, a alternativa correta é E - a alocação é estática. Isso reflete a natureza da alocação de memória em programas compilados, onde a memória necessária é decidida durante a compilação e permanece fixa durante a execução do programa.

Espero que essa explicação tenha ajudado a entender melhor o tema. Se tiver mais dúvidas, estou à disposição!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo