Pular para o conteúdo principal

Questão de Sistemas Operacionais — Comandos — FGV 2022

Sistemas OperacionaisComandos
Código
fg051461
Banca
FGV
Órgão
SEAD-AP
Ano
2022
Nível
Superior
Cargo
Perito Criminal - Ciência da Computação - Analista de Sistema
O perito José copiou dados brutos do DiscoA, que possui tamanho de setor de 4096 bytes, para o arquivoB do DiscoC. Para este fim, José utilizou a ferramenta dd, executando no sistema operacional do DiscoC o seguinte comando:dd if=DiscoA of=arquivoB bs=4096w count=1 seek=6O argumento bs definiu o tamanho do bloco utilizado pelo dd para a entrada e para a saída. Portanto, o comando executado por José copiou do DiscoA
  1. A1 setor, iniciando no 6º bloco do DiscoA, para o DiscoC, iniciando no 1º bloco do arquivoB.
  2. B2 setores, iniciando no 1º bloco do DiscoA, para o DiscoC, iniciando no 7º bloco do arquivoB.
  3. C2 setores, iniciando no 6º bloco do DiscoA, para o DiscoC, iniciando no 1º bloco do arquivoB.
  4. D4096 setores, iniciando no 1º bloco do DiscoA, para o DiscoC, iniciando no 6º bloco do arquivoB.
  5. E4096 setores, iniciando no 7º bloco do DiscoA, para o DiscoC, iniciando no 1º bloco do arquivoB.
Revelar gabarito e comentário

GabaritoB — 2 setores, iniciando no 1º bloco do DiscoA, para o DiscoC, iniciando no 7º bloco do arquivoB.

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”.

Comando dd no Linux - Interpretação de parâmetros

Gabarito: letra B. O comando dd if=DiscoA of=arquivoB bs=4096w count=1 seek=6 copia 2 setores do início do DiscoA (1º bloco) e os escreve no arquivoB a partir do 7º bloco (pois seek=6 desloca o ponteiro de escrita em 6 blocos). O tamanho do bloco (bs) é 4096w: o sufixo w significa word (2 bytes), portanto 4096w = 8192 bytes. Como o setor do DiscoA tem 4096 bytes, cada bloco do dd equivale a 2 setores. Com count=1, apenas um bloco é transferido, ou seja, 2 setores.


Alternativa A — ❌ Incorreta

Afirma que foi copiado 1 setor iniciando no 6º bloco do DiscoA. O bs=4096w resulta em 8192 bytes, portanto 2 setores, não 1. Além disso, não há skip no input, então a cópia começa no 1º bloco, não no 6º.

Alternativa B — ✅ Correta ⟵ GABARITO

A alternativa descreve exatamente o que ocorre: 2 setores copiados, iniciando no 1º bloco do DiscoA (sem skip) e gravados no arquivoB a partir do 7º bloco (seek=6 significa pular 6 blocos, o 7º é o primeiro escrito). O número de setores (2) está correto porque 8192 bytes / 4096 bytes por setor = 2.

Alternativa C — ❌ Incorreta

Afirma que a cópia inicia no 6º bloco do DiscoA. Não há parâmetro skip no comando (dd if=... of=... sem skip), logo a leitura começa do primeiro bloco. O número de setores (2) está correto, mas o ponto de partida está errado.

Alternativa D — ❌ Incorreta

Afirma que foram copiados 4096 setores. O count=1 limita a cópia a um bloco, que equivale a 2 setores (8192 bytes / 4096). 4096 setores exigiriam count=2048 (pois 4096 setores × 4096 bytes = 16 MB, e cada bloco do dd é 8192 bytes, seriam 2048 blocos).

Alternativa E — ❌ Incorreta

Afirma 4096 setores (mesmo erro da D) e que a cópia começaria no 7º bloco do DiscoA. Além do número errado, o ponto de partida seria o 1º bloco, não o 7º. O seek=6 aplica-se à saída, não à entrada.


NÃO CAIA NESSA!

No comando dd, o parâmetro skip atua na entrada (ignora blocos do arquivo-fonte), enquanto seek atua na saída (ignora blocos no arquivo-destino). Não confunda! Além disso, memorize os sufixos comuns de tamanho: w = word (2 bytes), b = block (512 bytes), K = KiB (1024 bytes), M = MiB, etc. Para esta questão, saber que bs=4096w = 8192 bytes foi essencial.

Gabarito: letra B

Link permanente: /questoes/fg051461