Modul 2 von 7 · Medien
Alocação Contígua
O método de alocação contígua exige que cada arquivo ocupe um conjunto de setores contíguos no disco. Para localizar um arquivo basta saber o número do setor inicial e o tamanho do arquivo, em blocos.
Para acessar o arquivo de forma sequencial, o sistema operacional mantém o número do último bloco acessado, incrementando este valor a cada acesso. Para um acesso direto ao setor i de um arquivo que inicia no setor b, o sistema deve acessar o setor b+i. Ambos os métodos sequencial e direto são facilmente implementados.
A dificuldade com este esquema é encontrar um espaço livre para um novo arquivo. Se o novo arquivo ocupa n setores, é necessário pesquisar a lista de setores livres até encontrar n setores contíguos livres.
O espaço em disco pode ser visto como um grande vetor de blocos. Em um determinado momento, alguns blocos estão ocupados e outros livres, compondo segmentos de blocos contíguos ocupados e segmentos de blocos contíguos livres (buracos). O problema da alocação dinâmica de armazenamento consiste em como satisfazer um pedido de n blocos livres contíguos a partir de uma lista de blocos vazios. Os algoritmos que podem ser utilizados são os mesmos já vistos no capítulo de gerência de memória (first-fit, best-fit, etc.).
O maior problema deste método é determinar o número de setores a serem alocados para cada arquivo, no momento de sua criação. Em algumas situações isto é simples, como na cópia de um arquivo existente. Mas, em geral, esta tarefa edifícil. Se pouco espaço é alocado, o arquivo talvez não possa ser estendido porque o espaço nos dois lados está ocupado. A única solução neste caso é a cópia de todo o arquivo para um espaço maior. Se o espaço alocado é maior que o necessário, o disco não estará sendo utilizado de forma eficiente.