Please enable JavaScript.
Coggle requires JavaScript to display documents.
Implementação do sistema de arquivos (Implementação (Memória (Tabela de…
Implementação do sistema de arquivos
Estrutura do sistema de arquivos
Camadas
Duplicação de código minimizada
+camadas = +overhead
níveis
controle de I/O
drivers
Sistema de arquivos
comando para os drives
Modulo de organização do arquivo
"Tradutor" de blocos
Controla blocos livres
Sistema de arquivos lógicos
gerencia metadados
Benefícios
facilidade
armazenamento
localização
recuperação
acesso eficaz
Em disco
blocos
setores
eficiência de E/S
Implementação
disco
bloco de controle de ini.
bloco de controle de volume
estrutura de diretório
FCB
Memória
Tabela de montagens
cache de diretórios
Tabela de arq. abertos/ sistema
buffers
Tabela de arq. abertos/processo
Arquivo - criação
app chama sistema de arq. lógicos
sistema conhece as estruturas/ aloca FCB
SO carrega o diretório/ atualiza
arquivo mandado pro disco
Open()
Pesquisa se arquivo aberto
sim
Cria entrada na tabela
não
localiza e carrega o arquivo
Close()
contrário de open()
Sistema de arquivos virtuais
camadas
System calls
VSF
tipo de sistema
implementação do diretório
Lista linear
implementação simples
demorada na execução
Tabela de hash
menor tempo de busca
tratar "colisões"
Métodos de alocação
Alocação contígua
Blocos sequenciais
Problemas
Alocação sequencial
Espaço ideal para arquivo?
Fragmentação
Interligada
desperdício de espaço para ponteiros
blocos interligados
maior tempo de acesso
necessidade de desfragmentação do disco
Com tabela na memória
Ponteiros na tabela de alocação
acesso direto
indexada
ponteiros em bloco de índice
Gerenciamento do espaço Livre
Mapa de bits
simples e eficiente
1 - livre
0 - alocado
mapa em memória
Lista de blocos livres
encadear blocos
Estrutura em log
atualizações = transações
gravação assíncrona no sis. de arquivos
transações gravadas no log = confirmada