Cap. 11 - Implementação do Sistema de Arquivos(parte 2)
Envolve implementação das operações em arquivo também
Funções principais: open() e close()
Implementação varia de sist. de arq. p/ outro
open(): Pesquisa em tabela de arq. abertos em todo sist.
Close(): Desfaz todas as operações feitas por open()
Arquivo já aberto: Cria entrada em tabela de arq. abertos por proc.
Arquivo não aberto: Procura em estrutura de diretório
Entrada aponta p/ tabela de arq. abertos em todo sist.
Tempo é economizado
FCB e estrutura de diretório já estão em memória
Copia FCB p/ memória
Cópia vai p/ tabela de arq. abertos em todo sist.
Retorna ponteiro p/ entrada em tabela de arq. abertos por proc.
Remoção de entradas + decremento de contagem
"Último que sair, apaga a luz"
Remove entrada da tabela de arquivos abertos em todo sist.
Copia metadados p/ est. de diretórios
VFS(Virtual File System) permite vários sist. de arq. integrados em uma estrutura de dir.
VFS possui 2 funções importantes:
Separa funções genéricas de sua implementação
Fornece mecanismo de repr. de arq em rede
Utiliza técnicas de P.O.O (sobrecarga e polimorfismo)
Permite que implement. diferentes de uma mesma função funcionem
Interface VFS é adaptada p/ cada sist. de arq.
Dá exclusividade ao arquivo
Sistema de arquivos deve permitir um acesso eficaz e conveniente ao disco
Obs.: Disco neste caso envolve HDs,SSDs,...
Acesso a conteúdos é o mesmo: em unidades de bloco
Disco pode conter ou não sistema de arquivos
Se não tiver é considerado disco bruto
Cada partição de um disco pode ter um sist. de arq. e um S.O
Carregador de inicialização apropriado pode iniciar qualquer S.O em disco
Responsável por carregar os blocos de inicialização do S.O na MP
Carregamento feito em locação pré-definida
A implementação de diretórios também é importante de considerar
Pode ser implementado de 2 formas:
Lista linear
Tabela de Dispersão(Hash)
simples, porém, lenta
Tempo de busca menor
Cuidado c/ colisões
Operações de inserção/exclusão +simples
2 nomes de arq. referindo mesmo local