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=6 O 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
- A)1 setor, iniciando no 6º bloco do DiscoA, para o DiscoC, iniciando no 1º bloco do arquivoB.
Errada: a cópia não é de 1 setor, porque bs=4096w equivale a 8192 bytes, ou seja, 2 setores.
- B)2 setores, iniciando no 1º bloco do DiscoA, para o DiscoC, iniciando no 7º bloco do arquivoB.
Certa: 8192 bytes correspondem a 2 setores de 4096 bytes, a leitura começa no 1º bloco de DiscoA e o seek=6 faz a escrita começar no 7º bloco de arquivoB.
- C)2 setores, iniciando no 6º bloco do DiscoA, para o DiscoC, iniciando no 1º bloco do arquivoB.
Errada: embora indique 2 setores, a leitura não começa no 6º bloco, pois não houve parâmetro para pular blocos de entrada.
- D)4096 setores, iniciando no 1º bloco do DiscoA, para o DiscoC, iniciando no 6º bloco do arquivoB.
Errada: 4096 setores é muito além do que o bs permite aqui; além disso, o seek afeta a saída, não a quantidade copiada.
- E)4096 setores, iniciando no 7º bloco do DiscoA, para o DiscoC, iniciando no 1º bloco do arquivoB.
Errada: a quantidade também está errada, e o seek=6 não faz a leitura começar no 7º bloco do DiscoA, mas sim a gravação no 7º bloco da saída.
Gabarito: B
O comando dd é um clássico de cópia bruta: ele trabalha com blocos de entrada e saída, e os parâmetros definem exatamente como essa cópia acontece. Aqui, o ponto mais importante é entender o bs. Em dd, o sufixo w indica palavra de 2 bytes, então bs=4096w significa bloco de 8192 bytes. Como cada setor do DiscoA tem 4096 bytes, isso corresponde a 2 setores por bloco. O count=1 manda copiar apenas 1 bloco, ou seja, 8192 bytes. Como o comando não trouxe iflag=skip_bytes nem offset de entrada, a leitura começa do início do DiscoA, no 1º bloco. Já o seek=6 atua na saída, pulando 6 blocos antes de gravar no arquivoB. Assim, a gravação começa no 7º bloco do arquivo de saída. Resultado prático: foram copiados 2 setores do DiscoA, começando no 1º bloco, para o arquivoB do DiscoC, começando no 7º bloco. É exatamente o que descreve a alternativa B. Em prova, a banca adora esse tipo de detalhe escondido no sufixo do bs, porque basta esquecer o tamanho da palavra e a conta desanda rapidinho.