Pular para o conteúdo principal

Questão de Sistemas Operacionais — Outros Assuntos de Sistemas Operacionais — INSTITUTO AOCP 2023

Sistemas OperacionaisOutros Assuntos de Sistemas Operacionais
Código
qa543616
Banca
INSTITUTO AOCP
Órgão
MPE MS
Ano
2023
Cargo
Ana ( )
Durante uma análise estática de um arquivo executável, foram obtidas informações no formato PE (Portable Executabie). Nesse caso, a seção do arquivo que contém instruções e códigos de programas que são executados pelo CPU é
  1. A.rsrc
  2. B.rdata
  3. C.exec
  4. D.text
  5. E.pdx
Revelar gabarito e comentário

GabaritoD — .text

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Formato PE (Portable Executable): seções de um executável Windows

Gabarito: letra D. A seção .text do formato PE é a que contém o código executável — as instruções de máquina que a CPU efetivamente executa. As demais seções citadas têm funções distintas: .rsrc guarda recursos (ícones, menus, strings), .rdata guarda dados somente leitura (constantes, strings literais) e .exec/.pdx simplesmente não são seções padrão do formato PE.

O formato PE (Portable Executable) é o padrão de arquivos executáveis e bibliotecas do Windows (extensões .exe, .dll, .sys, .ocx). Ele organiza o conteúdo do arquivo em seções, cada uma com um propósito específico e permissões próprias de acesso à memória. Essa estrutura é análoga ao formato ELF usado em sistemas Unix/Linux, que também divide o arquivo em seções como .text, .data e .bss.

A seção .text é o coração do executável: é nela que fica o código binário do programa, ou seja, a sequência de instruções de máquina que o processador vai buscar e executar. Por isso, essa seção recebe permissão de leitura e execução, mas normalmente não de escrita — o código não deve ser modificado durante a execução. É exatamente essa característica que a questão explora: identificar qual seção contém "instruções e códigos de programas que são executados pela CPU".

Para fixar, veja o papel de cada seção comum do PE:

Seção

Conteúdo

Permissão típica

.text

Código executável (instruções da CPU)

Leitura + Execução

.data

Variáveis globais inicializadas

Leitura + Escrita

.bss

Variáveis globais não inicializadas

Leitura + Escrita

.rdata

Dados somente leitura (constantes, strings)

Leitura

.rsrc

Recursos (ícones, menus, diálogos, versão)

Leitura

.reloc

Informações de realocação de endereços

Leitura

A pegadinha da banca está em oferecer .exec e .pdx como distratores — nomes que parecem plausíveis (lembram "executável" e "execução"), mas que não existem como seções padrão do formato PE. O candidato que não conhece a estrutura real do formato pode ser tentado a escolher uma dessas opções pelo nome, em vez de lembrar que a seção de código é tradicionalmente chamada de .text.

Guarde a distinção central: .text = código (instruções), .data/.bss = dados do programa, .rdata = dados somente leitura, .rsrc = recursos. É nessa fronteira que as alternativas se dividem.

1Seções de código
.text — instruções da CPU
2Seções de dados
.data — variáveis globais
.bss — não inicializadas
.rdata — somente leitura
3Seções de recursos
.rsrc — ícones, menus, versão
4Distratores
.exec — não existe
.pdx — não existe
Formato PE (executável Windows)
LEVELsoulevel.com.br
Formato PE (executável Windows): Seções de código (.text — instruções da CPU); Seções de dados (.data — variáveis globais, .bss — não inicializadas, .rdata — somente leitura); Seções de recursos (.rsrc — ícones, menus, versão); Distratores (.exec — não existe, .pdx — não existe)

Alternativa A — ❌ Incorreta

A seção .rsrc (de resources) armazena recursos do programa, como ícones, imagens, menus, strings de interface e informações de versão. Não contém instruções executáveis pela CPU — é um repositório de dados auxiliares usados pela interface e pelo sistema.

Alternativa B — ❌ Incorreta

A seção .rdata (de read-only data) contém dados somente leitura, como constantes, strings literais e tabelas de endereços de importação (IAT). Embora seja carregada na memória, ela não é executada — serve apenas como área de dados imutáveis do programa.

Alternativa C — ❌ Incorreta

.exec não é uma seção padrão do formato PE. O nome parece remeter a "executável", mas o formato PE não define uma seção com esse nome. A seção que contém o código executável é a .text.

Alternativa D — ✅ Correta ⟵ GABARITO

A seção .text é exatamente a que contém instruções e códigos de programas executados pela CPU. É nela que o compilador coloca o código binário gerado a partir do código-fonte, e é essa seção que o carregador do Windows mapeia na memória com permissão de execução. O processador busca as instruções diretamente dessa área de memória durante a execução do programa.

Alternativa E — ❌ Incorreta

.pdx não é uma seção padrão do formato PE. Assim como .exec, é um distrator inventado pela banca para confundir o candidato que não conhece a nomenclatura real das seções.

NÃO CAIA NESSA!

A banca aposta no candidato que escolhe pelo nome "sonoro" — .exec e .pdx parecem seções de execução, mas não existem no formato PE. O nome real da seção de código é .text, herança dos formatos Unix (COFF/ELF). Memorize o par: código = .text, nunca .exec.

PEGA ESSA DICA!

Para questões de formato de executável, monte mentalmente a tabela das seções principais (.text, .data, .bss, .rdata, .rsrc) com o conteúdo de cada uma. A banca raramente foge desse rol — se aparecer uma seção que você não conhece, desconfie: provavelmente é distrator.

Gabarito: letra D

Link permanente: /questoes/qa543616