Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistema de Arquivos
Fortaleza-CE, Brasil
Agenda
1 Introdução
2 Arquivo
3 Estrutura
4 Implementação
Introdução
Introdução
Para os usuários
o Sistema de Arquivos é o aspecto mais visı́vel do Sistema
Operacional (SO)
Um arquivo
formado por informações (instruções ou dados) logicamente
relacionadas.
Necessidade de Armazenamento
Importância
Grandes quantidades de informação têm de ser armazenadas
Informação armazenada tem de sobreviver ao fim do processo
que a utiliza
Múltiplos processos devem poder acessar a informação de um
modo concorrente
Necessidade fundamental
Independência entre os arquivos a serem manipulados pelo sistema e o
meio de armazenamento destes arquivos.
Atividades suportadas
Sistema de Arquivo
Arquivos
em outras palavras
Um arquivo é um conjunto de registros que torna abstrato e
generalizado
Atributos
possuem uma série de informações de controle associadas a cada
arquivo:
Nome
Distinção entre caracteres, extensão máxima, partes (nome e
extensão);
Tipo
necessário quando o SO diferencia tipos.
Localização
Formado pelo ponteiro para o dispositivo e o local onde se encontra o
arquivo neste dispositivo;
Tamanho
Tamanho atual do arquivo. Pode conter o tamanho máximo
permitido;
TELM.067 - Sistemas Operacionais 9/47
Introdução Arquivo Estrutura Implementação
Atributos
Data e hora:
da criação do arquivo, da última modificação feita no arquivo e do
último acesso feito ao arquivo;
Identificação do usuário
que criou o arquivo.
Identificação do Arquivo
Identificação
Id = nome + extensão
Extensão
pode ser responsável em tipo de arquivo.
Mac
contém um atributo com o nome do processo criador
UNIX
permite o uso de extensões, mas não são utilizados pelo SO
Exemplos
Tipo Extensão Função
Executável EXE, COM, BIN Programa Executável
Objeto obj, o Programa compilado, mas não ligado
Arquivo de C, cpp, pas, p, Código Fonte em diversas linguagens
asm, m
comandos
Texto TXT, LOG Dados Textuais
Processador doc, tex, docx, utilizados por editores de texto
odt
de Texto
Biblioteca lib, a Bibliotecas de rotinas
Impressão Ps, dvi, pdf Arquivos para impressão ou exibição
na tela
Imagens JPG, PNG, GIF, Arquivos relacionados com imagens
BMP
Arquivamento Arc, zip, tar Arquivos agrupados para
armazenamento
Significado
Ex.: imagens
Padronizar os tipos de compressão facilita intercâmbio de imagens
comprimidas entre aplicações (diferentes computadores, etc).
JPEG: Fotografia
Ele é otimizado para fotografia, figuras e imagens naturais. Mas em
imagens com poucas cores, não possui boa eficiência
Métodos de Acesso
Estrutura
Forma como a informação é acessada no arquivo;
Exemplos
Estruturas:
Vantagem
Mais simples e grande Flexibilidade
Desvantagem
mı́nimo suporte do SO, cada aplicação deve incluir o código para
interpretar o arquivo
Ex.
DOS e UNIX
Estruturas
Sequência de Registros
muitos SOs implementavam arquivos com registros de 80 caracteres
devido aos cartões perfurados de 80 colunas.
Árvore
Os registros são organizados em uma árvore de registros (tamanho
fixo ou variável)
Registros
Arquivo é dividido em blocos que podem ser acessados em qualquer
ordem;
Forma de busca
Primeiro ocorre uma pesquisa pela chave especificada na area de
ı́ndice para determinar o ponteiro correspondente. Depois, realiza-se
um acesso direto ao registro desejado.
Vantagem
necessário manter apenas a tabela de ı́ndices na memória.
Operações
Escrever
1 a partir do nome
2 localizar o arquivo
3 escrever o conteúdo desejado na posição atual de gravação
4 atualizar o ponteiro
Operações
Outras operações
Ler
reposicionar o ponteiro de um
arquivo
remover o arquivo
truncamento de arquivo
adicionar dados
renomeação
cópia
TELM.067 - Sistemas Operacionais 22/47
Introdução Arquivo Estrutura Implementação
fd = creat(nome, modo)
fd = open(arq, modo)
s = close(fd)
n = read(fd, buffer, nbytes)
n = write(fd, buffer, nbytes)
pos = lseek(fd, offset, inicio/atual/fim)
s = stat(nome, &buf)
s = chmod(nome, modo)
Diretórios
Partições
Partição extendida
uma partição que ao invés de conter sistemas de arquivos, ela agrupa
vários discos em uma estrutura lógica
Diretórios
Um diretório
é uma estrutura de dados que contém entradas associadas aos arquivos
contidos em um disco, nas quais são armazenadas informações.
Um diretório
registra informações como nome, localização, tamanho, tipo, etc.
primária extendida
TELM.067 - Sistemas Operacionais 26/47
Introdução Arquivo Estrutura Implementação
Arquivos Abertos
Vantagem
A tabela de arquivos abertos e fundamental para aumentar o
desempenho das operacoes com arquivos.
Diretórios
Nı́vel Único
Problema
um arquivo deve ter um nome único
Nı́vel Único
Estrutura mais simples
Um único diretório contém todos os arquivos
Problema
um arquivo deve ter um nome único
Problema 2:
E se forem usuários diferentes?
Nı́vel Duplo
Caminho (path)
caso o usuário necessite usar arquvios de outro, utiliza-se o caminho
para indicar qual a localização do arquivo.
Em árvore
Evolução do diretório de dois nı́veis
inserido o conceito de subdiretórios, assim, o usuário organiza seus
próprios arquivos
Subdiretórios
Um diretório é um arquivo tratado de forma especial
Conceitos Importantes
’.’ diretório atual
’..’ diretório pai
Árvore
Mapa de bits(bitmap)
Ex
de 8 partições, as partições 0 1 5 7 estão ocupadas
bitmap = {1 0 1 1 1 0 1 0}
Vantagem Desvantagem
simplicidade consome muita memória
Lista encadeada
Funcionamento
cada bloco livre aponta para o próximo livre
Acesso sequêncial
ineficiente pois há uma grande quantidade de ligações e necessita-se
de uma série de acessos
fato
geralmente os blocos contı́guos são alocados ou desalocados
simultaneamente
tamanho da tabela
a tabela é pequena e rapidamente é encontrado um conjunto de blocos
livres
Alocação de Blocos
Alocação Contı́gua
Contı́gua
cada arquivo deve ocupar um conjunto de blocos contı́guos do disco.
Vantagens
Simplicidade de implementar: guarda apenas o endereço do 1o
bloco
Acesso sequencial e direto são simplificados
Excelente Performance: leitura é feita utilizando apenas uma
operação.
Desvantagens:
alocação de espaço livre para novos arquivos.
Alocação contı́gua
Alocação contı́gua
Alocação Contı́gua
Se existirem dois ou mais blocos livres disponı́veis com o
tamanho exigido, qual bloco deve ser escolhido para alocação?
solução: fazer igual ao gerenciamento de memória
First-fit: primeiro bloco.
Best-fit: menor bloco.
Worst-fit: maior bloco.
Problema Solucionável:fragmentação
desfragmentação mas é muito custosa
.
Problema mais grave: determinação do espaço em disco
necessário ao arquivo.
se utilizarmos uma alocação pequena, é necessário posteriormente
copiar o dado para outra posição de memória e se for grande, vai ficar
espaço livre sem utilização TELM.067 - Sistemas Operacionais 41/47
Introdução Arquivo Estrutura Implementação
Alocação Encadeada
Alocação Encadeada
Alocação Encadeada
Vantagem:
não há fragmentação dos espaços livres.
Problemas:
1 fragmentação do arquivo (alto tempo de busca).
2 permitir apenas acesso seqüencial aos blocos.
3 desperdı́cio de espaço nos blocos como armazenamento de
ponteiros.
Alocação Indexada
Bloco de ı́ndice.
A idéia básica desta técnica é manter os ponteiros de todos os blocos
do arquivo em uma única estrutura denominada
Alocação Indexada
Abreviaturas I