Interface do Sistema de Arquivos

Conceito de Arquivo

Abstração para gerenciar e representar dados

Espaço de endereços lógicos contíguos

Tipos

Dados

Programa

Numéricos

Caractere

Binários

Estrutura de Arquivo

Nenhuma - Sequência de bytes

Texto - Sequência de chars em linhas

Fonte - Sequência de sub-rotinas e funções

Objeto - Sequência de bytes em blocos que podem ser entendidos pelo linker

Executável - Série de seções de código que podem ir para memória e executados

Quem decide

SO

Programa

Atributos do arquivo

Nome - Informações em formato legível

Identificador - Tag exclusiva para identificar dentro do sistema de arquivos

Tipo

Local - Ponteiro para o local do arquivo

Tamanho

Proteção - Controla quem pode realizar ações

Hora, data e identificação do usuário

Operações do arquivo

Arquivo é um TAD

Operações

  • Criar
  • Gravar
  • Ler
  • Reposicionar dentro do arquivo
  • Excluir
  • Truncar

Lock de arquivo

Fornecido por alguns sistemas operacionais e sistemas de arquivo

Obrigatório - Acesso é negado dependendo dos bloqueios

Consultivo – os processos podem descobrir o
status dos bloqueios e decidir

Métodos de acesso

Acesso sequencial - Mais comum

Acesso direto - Arquivo é composto por registros lógicos de tamanho fixo

Abertura e Fechamento de arquivos

Open(Fi)

Close(Fi)

Ponteiro de arquivo - ponteiro para último local de read/write

Contagem de arquivos abertos - contador do número de vezes que um arquivo está aberto fecham

Local do arquivo no disco - cache de informações

Direitos de acesso - informação de modo de acesso por processo

Diretórios

Estrutura de dados que contém entradas associadas aos arquivos

Partições

Permite sistemas de arquivos diferentes num disco

Cada partição se comporta como um disco virtual

Permite SO's diferentes no mesmo disco

Operações

Procurar um arquivo

Criar um arquivo

Excluir um arquivo

Listar um diretório

Renomear um arquivo

Percorrer o sistema de arquivos

Estruturas

Nível Único

Dois níveis

Hierárquicos

Implementação mais simples

um único diretório contendo todos os arquivos

Para cada usuário existe um diretório particular

Existe um nível de diretório adicional para controle

Usado pela maioria dos SO's

Logicamente melhor organizado

É possível criar quantos diretórios quiser