Escolar Documentos
Profissional Documentos
Cultura Documentos
Existem três métodos para se alocar espaço em disco: contíguo, encadeado e indexado.
por causa da dispersão dos blocos, a não ser por FAT, a alocação encadeada não
pode suportar acesso direto eficiente, a alocação indexada resolve esse
problema reunindo todos os ponteiros em um só local: o bloco de índice
cada arquivo tem seu próprio bloco de índice, que é um vetor de endereços de
bloco de disco. uma entrada no bloco de índice aponta para determinado bloco
do arquivo, o diretório contém o endereço do bloco de índice, para ler o bloco,
usamos o ponteiro equivalente na entrada do bloco de índice para encontrar e
ler o bloco desejado
não sofre de fragmentação externa porque qualquer bloco livre no disco pode
satisfazer um pedido por mais espaço
o custo dos ponteiros do bloco de índice é geralmente maior que o dos ponteiros
de alocação encadeada
todo arquivo deve ter um bloco de índice, por isso esse bloco deve ser o menor
possível, mas se for pequeno demais, poderá não conter ponteiros suficientes
para arquivos grandes, para resolver este problema, temos os seguintes
mecanismos:
11.6.4 – Desempenho
11.7.3 – Agrupamento
11.7.4 – Contadores
Nesse método, uma lista linear armazena as entradas de diretório, mas uma
estrutura de dados com hash também é usada.
A tabela de hash pega um valor calculado a partir do nome do arquivo e retorna um
ponteiro ao nome de arquivo na lista linear. Portanto, pode diminuir em muito o tempo
de pesquisa no diretório.
As principais dificuldades com uma tabela de hash são o tamanho fixo da tabela e a
dependência da função de hash do tamanho da tabela.
11.9 – Eficiência e desempenho
11.9.1 - eficiência
11.9.2 – desempenho
Assim que os métodos de disco básicos forem selecionados, ainda existem várias
formas de melhorar o desempenho
Alguns sistemas mantêm uma seção separada de memória principal para um cache
de disco, no qual os blocos são mantidos considerando que serão usados novamente
em breve. O LRU é um algoritmo de uso geral razoável para a substituição de
bloco. Outros sistemas (como a versão do UNIX da Sun) tratam toda memória
física não-utilizada como um pool de buffers que é compartilhado pelo sistema de
paginação e o sistema de cache de blocos de disco. Um sistema que realiza muitas
operações de I/O usará boa parte da sua memória como um cache de blocos,
enquanto um sistema que executa muitos programas usará mais memória como
espaço de paginação.
11.10 • Recuperação
Como os arquivos e diretórios são mantidos na memória principal e no disco, devemos
cuidar para garantir que uma falha no sistema não resulte em perda ou inconsistência de
dados.
Como os discos magnéticos às vezes falham, devemos ter certeza que não haja perda de
dados. Para isso, podemos usar os programas do sistema para fazer backup dos dados do
disco para outro dispositivo de armazenamento. A recuperação da perda de um arquivo
individual, ou de um disco inteiro, pode então ser uma questão de restaurar os dados do
backup. Para minimizar a quantidade de cópia necessária, podemos usar informações da
entrada de diretório de cada arquivo. Por exemplo, se o programa de backup souber
quando o último backup de um arquivo foi feito,e a data da última escrita no diretório
indicar que o arquivo não sofreu alterações desde então, o arquivo não precisará ser
copiado novamente.