Cap. 11 - Implementação do Sistema de Arquivos(parte 1)

Sistema de arquivos deve permitir um acesso eficaz e conveniente ao disco

Também deve fornecer mecanismo de acesso online a conteúdos de arquivos

online: que está sempre disponível

Obs.: Disco neste caso envolve HDs,SSDs,...

Usam basicamente os mesmos sistemas de arquivos

Até o momento, HD ainda é relativamente predominante

Custo baixo

Alta capacidade

Acesso a conteúdos é o mesmo: em unidades de bloco

Cada bloco contém 1 ou mais setores

2 questões a se considerar ao projetar um sistema de arquivos

A aparência que o sistema terá para o usuário

Os Algoritmos e estruturas de dados utilizados p/ mapear sistema de arquivos

Estrutura geralmente organizada em camadas

Segue princípio da abstração

A cada nível acima, a complexidade reduz

Cada nível usa recursos dos de baixo e cria recursos para os de cima

São 6 camadas principais

Módulo de organização de arquivos

Sistema de arquivos básico

Sistema de arquivos lógico

Controle de I/O

Programas de aplicação

Dispositivo

Camada de "tradução"

Envolve drivers de um dispositivo e manip. de int.

Gerencia toda a estrutura dos arquivos

Não gerencia o conteúdo

Baseado em FCB(File Control Block)

Envia comandos básicos p/ o driver

Ex.: Ler/gravar um bloco físico no disco

Possui instruções de baixo nível p/ hardware

O setor é uma unidade física

Tamanho definido pelo dispositivo

Default p/ HDs: 4kb(512 bytes)

Várias estruturas são utilizadas na implem. de um sistema de arquivos

Estruturas podem variar conforme o S.O e o sistema de arquivos

Algumas estruturas são comumente utilizadas:

bloco de controle de inicialização(por volume)

bloco de controle de volume(por volume)

estrutura de diretório(por sistema de arquivo)

FCB(File Control Block) por arquivo

Contém infos. necessárias p/ inicialização do S.O

Se um volume(disco) não tiver S.O, bloco pode estar vazio

Normalmente, é o primeiro bloco de um volume

Contém detalhes acerca de um volume específico

número de blocos

tamanho dos blocos

contagem/ponteiro de blocos livres

contagem de FCBs livres

Ponteiros para FCBs

Usada para organizar os arquivos

Vai guardar infos. acerca de cada arquivo do sist. de arq.

Contém detalhes de um arquivo específico

É nele que contém os atributos de um arq.(Cap. 10)

Algumas estruturas podem ser incluídas na memória

Objetivo: gerenciar sist. de arquivos e melhorar desempenho

Tabela de montagens

Cache em memória

Tabelas de arquivos abertos em todo sistema

Tabelas de arquivos abertos por processo

Buffers

Infos. sobre cada volume montado

Infos. de diretórios acessados recentemente

Cópia de FCBs de cada arquivo aberto

Ponteiro p/ cada entrada apropriada na tabela de arq. abertos

Mantém blocos de arquivos sendo lidos/gravados

Traduz blocos lógicos p/ blocos físicos