Please enable JavaScript.
Coggle requires JavaScript to display documents.
Cap. 11 - Implementação do Sistema de Arquivos(parte 3) - Coggle Diagram
Cap. 11 - Implementação do Sistema de Arquivos(parte 3)
A escolha de
método p/ gerenciar espaço livre
é importante
2 métodos básicos
Lista de blocos livres
Encadear os blocos livres
Salva pont. p/ primeiro bloco em cache na MP
Não é eficiente
É preciso
ler cada bloco p/ percorrer a lista
Consequência:
Tempo de I/O significativo
Varredura da lista
não é uma ação frequente do S.O
Geralmente S.O precisa de só um bloco livre
Vetor de bits
0 = bloco livre
1 = ocupado(já alocado)
É
simples e eficiente
Instr. de baixo nível
deixam tarefa + rápida
Precisa ficar
inteiro na memória
Consequência:
Utiliza muita RAM
Sistema de arquivos deve
permitir um acesso eficaz e conveniente ao disco
A escolha de um bom
método de alocação
é importante
São
3 métodos + utilizados
Alocação contígua
Armazena arquivo em
blocos sequenciais("lado-a-lado")
Acesso é
bastante simples
Problema:
fragmentação externa e interna
externa:
Pode
não haver blocos sequenciais suficientes p/ arquivo
interna:
Arquivo pode
não ocupar totalmente os blocos alocados
Alocação encadeada
Resolve problemas da alocação contígua
Cada arquivo é uma
TAD Lista Encadeada de blocos
Cada bloco possui
ponteiro que aponta p/ próx. bloco
Diretório
contém
ponteiros p/ 1° e último bloco
Possui
desvantagens
Confibialidade problemática
Possibilidade de
perda de 1 ou mais ponteiros
Pode resolver esse problema usando
backup
dos ponteiros
Ineficiente em acesso direto
Disco tem que percorrer bloco a bloco
Aloc. encad. usando tabela
resolve ineficiência
Usa uma
tabela de alocação de arquivos(FAT)
É
alocada no começo de cada volume
É
indexada pelo número do bloco
Tem as
entradas de cada bloco de arquivos
Cada entrada é um ponteiro apontando p/ 1° bloco
Simples
e
antigo
, mas
eficiente
Tempo de acesso aleatório é melhorado
Alocação indexada
Cada arquivo terá um
bloco de índices
É um
array de endereços de blocos de disco
Diretório contém
end. de cada bloco de índices de cada arq.
Suporta acesso direto sem fragm. exterma
Tem
desperdício de espaço no armaz. de ponteiros
Arquivo de poucos índices
ocupa bloco de índice inteiro
Consequência:
Espaço de bloco não utilizado
Há
abordagens
caso arquivo tiver
muitos índices
Encadear
blocos de índices
Usar
índices multiníveis
Entr. bloco de
1° nível
-> Entr. bloco de
2° nível
->...
Combinar outras estratégias
O método "ideal" depende de
como o sistema de aloc. será usado
Muito acesso seq.? Muito acesso aleatório?
É essencial definir
meios de proteção de arq. em disco
Meio mais comum:
Sistemas de Arquivos Estruturados em Log
Conhecido como
Journaling
Registra cada atualização do sis. de arq. como uma
transação
Alterações de metadados são salvos em
log
Quando transação confirmada é concluída, ela é
removida do log
Transações salvas em log são consideradas
confirmadas
Se sistema cair, transações salvas não estarão concluídas
Ainda precisam ser completadas