Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistemas de Arquivos: Alocação - Coggle Diagram
Sistemas de Arquivos: Alocação
Alocação contígua
O esquema de alocação mais simples é armazenar cada arquivo como uma execução contígua de blocos de disco.
Assim, em um disco com blocos de 1 KB, um arquivo de 50 KB seria alocado em 50 blocos consecutivos.
Vantagem: ela é simples de implementar porque basta se lembrar de dois números para monitorar onde estão os blocos de um arquivo: o endereço em disco do primeiro bloco e o número de blocos no arquivo.
Vantagem: o desempenho da leitura é excelente, pois o arquivo inteiro pode ser lido do disco em uma única operação. Apenas uma busca é necessária (para o primeiro bloco). Depois não é necessário.
Infelizmente, a alocação contígua tem um ponto fraco importante: com o tempo, o disco torna-se fragmentado.
Alocação por lista encadeada
O segundo método para armazenar arquivos é manter cada um como uma lista encadeada de blocos de disco,
A primeira palavra de cada bloco é usada como um ponteiro para a próxima. O resto do bloco é reservado para dados.
Diferentemente da alocação contígua, todos os blocos do disco podem ser usados nesse método. Nenhum espaço é perdido para a fragmentação de disco (exceto para a fragmentação interna no último bloco).
Por outro lado, embora a leitura de um arquivo sequencialmente seja algo direto, o acesso aleatório é de extrema lentidão.
Alocação por lista encadeada usando uma tabela na memória
Ambas as desvantagens da alocação por lista encadeada podem ser eliminadas colocando-se as palavras do ponteiro de cada bloco de disco em uma tabela na memória.
A principal desvantagem desse método é que a tabela inteira precisa estar na memória o todo o tempo para fazê-la funcionar.
Embora ainda seja necessário seguir o encadeamento para encontrar um determinado deslocamento dentro do arquivo, o encadeamento está inteiramente na memória, portanto ele pode ser seguido sem fazer quaisquer referências ao disco.
I-nodes
O último método para monitorar quais blocos pertencem a quais arquivos é associar cada arquivo a uma estrutura de dados chamada de i-node, que lista os atributos e os endereços de disco dos blocos do disco.
A vantagem desse esquema sobre os arquivos encadeados usando uma tabela na memória é que o i-node precisa estar na memória apenas quando o arquivo correspondente estiver aberto.
Esse arranjo é em geral muito menor do que o espaço ocupado pela tabela de arquivos descrita na seção anterior.
Um problema com i-nodes é que se cada um tem espaço para um número fixo de endereços de disco.
Uma solução é reservar o último endereço de disco não para um bloco de dados, mas, em vez disso, para o endereço de um bloco contendo mais endereços de blocos de disco.
Pois a tabela para conter a lista encadeada de todos os blocos de disco é proporcional em tamanho ao disco em si.
Arquivo
Isso deve ser feito de tal modo que isole o usuário dos detalhes de como e onde as informações estão armazenadas, e como os discos realmente funcionam.
Um arquivo é um mecanismo de abstração. Ele fornece uma maneira para armazenar informações sobre o disco e lê-las depois.
É provável que a característica mais importante de qualquer mecanismo de abstração seja a maneira como os objetos que estão sendo gerenciados são nomeados;
Diretórios
Para controlar os arquivos, sistemas de arquivos normalmente têm diretórios ou pastas, que são em si arquivos.
A forma mais simples de um sistema de diretório é ter um diretório contendo todos os arquivos. Às vezes ele é chamado de diretório-raiz, mas como ele é o único, o nome não importa muito.
As vantagens desse esquema são a sua simplicidade e a capacidade de localizar arquivos rapidamente — há apenas um lugar para se procurar, afinal. Às vezes ele ainda