SóProvas


ID
705292
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Considerando que cada bloco de um disco rígido pode ser usado por apenas um arquivo físico, quantos bytes, no mínimo, um sistema operacional tornará indisponíveis para outros arquivos, de modo a guardar, em sua totalidade, os dados de um arquivo com 150 registros de 800 bytes, caso o disco possua blocos de 512 bytes?

Alternativas
Comentários
  • Muito bem pessoal, para resolvermos esta questão precisamos inicialmente identificar a quantidade mínima de espaço que deverá ser reservada para o referido arquivo. Sabemos que este arquivo possui 150 registros de 800 bytes cada, logo, o total de espaço a ser utilizado deverá ser de no mínimo 150 * 800 = 120.000 bytes. Todavia, 120.000 não é um número múltiplo de 512, sonsequentemente, haverá 1 bloco que não será preenchido completamente mas terá que ser reservado para o arquivo, pois cada bloco somente pode ser ocupado por um único arquivo. Por fim, para descobrirmo a quantidade real de bytes que o arquivo irá utilizar basta dividirmos o tamanho total do arquivo (120.000 bytes) pelo tamanho de cada bloco (512 bytes). O resultado será:
    120.000 | 512    
        192        234
    Ou seja, 234 blocos serão completamente utilizados,  mas ainda restarão 192 bytes que apesar de não preencherem completamente 1 bloco deverão reservá-lo. Assim, o total de blocos necessários será de 234 + 1 = 235, o que equivale a 235 * 512 = 120.320 bytes.

    Portanto, a resposta correta é a letra B.
  • Uma forma alternativa que evita a multiplicaçãp seria:

    120.000 | 512     

        192        234

    120.000 + 512 - 192 = 120.320
  • Fazendo da forma simples...

    150 registros * 800 bytes = 120.000 bytes

    120.000 / 512 = 234,375

    Como não podemos ocupar uma fração de um bloco (0.375 no caso) então arredondamos para cima, ficando com 235 blocos ocupados, que totalizam 120.320

    Dadas as alternativas ainda há uma forma mais rápida ainda.

    Uma vez que foi feita a divisão 120.000 / 512 = 234,375 já sabemos que precisamos de valores superiores a 120.000, nos sobrando a letra a e b.  Mas a letra a é quase 20% a mais do que 120.000 e tal discrepância é incompatível com a ordem de grandeza do resto da divisão feita em primeiro lugar.  Sobra então a letra b.

  • O armazenamento de um registro requer 2 blocos de 512 bytes, então, no total, precisaremos de 300 blocos. Isto posto, o espaço total alocado para o arquivo físico é de 300*512 = 153.600 bytes.