Uma linguagem de programação pode ser convertida em código...
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