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