Please enable JavaScript.
Coggle requires JavaScript to display documents.
Implementação do Sistema de Arquivos, THEO MISCHIATTI GOMES SO 2024/1 -…
Implementação do Sistema de Arquivos
Estrutura do Sistema de arquivos
discos fornecem a maior parte da memória secundária para os sistemas de arquivos
SSD’s são também chamados de “discos” pela literatura
o acesso ocorre em unidades de blocos. Cada bloco
contém um ou mais setores
Bloco é uma unidade lógica definida pelo Sistema de Arquivos
Setor é uma unidade física, definida pelo dispositivo
sistemas de arquivos fornecem acesso eficiente e conveniente ao disco
dois problemas de projeto
aparencia para o usuário
estruturas de dados e algoritmos para mapear o sistema de arquivo logico
estruturação normalmente é organizada em camadas
Sistema de Arquivos Lógico : gerencia metadados
Módulo de Org. de Arquivos: Lida com a
“tradução” de blocos lógicos para blocos físicos
Sistema de Arquivos Básico: Emite comandos
genéricos para o driver
Controle de I/O: drivers de dispositivo e
manipuladores de interrupção
existem alguns sistemas de arquivos
Windows: NTFS (padrão)
Linux: mais de 40 tipos ( mais comuns ext3, ext4 )
macOS : APFS
FAT32 e extFAT
sistemas universais
amplamente suportados por windows, macOS e linux
extFAT não suporta journaling,
Implementação do Sistema de
Arquivos
Estruturas comumente usadas
bloco de controle de inicialização (por volume)
bloco de controle de volume (por volume)
estrutura de diretório (por sistema de arquivos)
FCB por arquivo
informações em memória são usadas no gerenciamento do
sistema de arquivos e na melhoria do desempenho
tabela de montagens
cache em memória
tabela de arquivos abertos em todo o sistema
tabela de arquivos abertos por processo
Buffers
open(): pesquisa na tabela de arquivos abertos de todo o sistema
open() retorna um ponteiro para a entrada para a tabela de arquivos abertos por processo (FILE*)
fechar o arquivo, todas as operações são desfeitas
Partições e Montagem
disco pode ser dividido em múltiplas partições
“bruta”
não contendo sistema de arquivos
“acabada”
contendo um sistema de arquivos
disco bruto é utilizado onde um sistema de arquivos não é apropriado
carregador de inicialização
capaz de encontrar e carregar o kernel
partição raiz (ex: Windows C:)
é montada em tempo de inicialização
Sistemas de Arquivos Virtual
permite que sistemas de arquivos diferentes sejam implementados dentro da mesma estrutura
separa operações genéricas do sistema de arquivos de sua implementação
fornece um mecanismo para a representação exclusiva de um arquivo em toda a rede
Lista linear
Simples de programar mas demorado para executa
Tabela de Dispersão (Tabela Hash)
Diminui tempo de busca de diretório, tem que administrar colisões
Recuperação
queda do sistema pode causar inconsistências entre estruturas de dados do sistema de arquivos em disco
,um sistema de arquivos deve primeiro detectar os problemas e, então, corrigi-los
Cada SO tem seu verificador de consistência
sistemas
de arquivos estruturados em log (ou journaling)
transação
conjunto de operações para execução de uma tarefa específica
alterações de metadados são gravadas sequencialmente em um log
alterações são gravadas nesse log, elas são consideradas como
confirmadas
THEO MISCHIATTI GOMES
SO
2024/1