Sistemas de Arquivos
Profa. Janine Kniess
Sistema de Arquivos
• Problema: manter as informações geradas
pelos processos;
• Por que não colocar na área de
armazenamento do processo?
– Essa informação seria perdida quando o
processo terminasse;
– Outros processos não conseguiriam ler essa
informação;
Requisitos para Armazenamento
da Informação a Longo Prazo
1. Deve ser possível armazenar uma quantidade
muito grande de informação
2. A informação deve sobreviver ao término do
processo que a usa
3. Múltiplos processos devem ser capazes de
acessar a informação concorrentemente
Solução
Armazenar em disco em estruturas chamadas
arquivos;
O SO trata de definir o arquivo e a parte que
faz isso é o Sistema de Arquivos;
Diretórios - Representação
Diretório em dois níveis
Diretório em um único nível
Diretórios hierárquicos
O sistema de arquivos é o responsável por organizar
essa estrutura de arquivos e diretórios
Diretórios - Representação
-Comandos Linux para Gerenciamento de Diretórios:
pwd: apresenta o caminho do raiz até o diretório corrente
cd <nome diretório>: entra no diretório corrente
Exercício: crie um arquivo de nome so_ger_diretorios usando o vi
Ex: vi so_ger_diretorios
Salve: <esc> e :q!
Crie um diretório de nome: SOAula_GerenciaArquivos
Copie o arquivo so_ger_diretorios para SOAula_GerenciaArquivos
Diretórios - Representação
-Comandos Linux para Gerenciamento de Diretórios:
-Visualiza o conteúdo do arquivo
cat <nome arquivo>
-Procura um diretório:
find <nome do diretório>
Diretórios - Nomeação
• <nome_arquivo>.<extensão>
• DOS: 8 caracteres para nome de arquivo e 3
para extensão;
• Windows e Linux: até 256 caracteres;
Diretórios - Nomeação
Extensões típicas de arquivos
Diretórios - Operações
1. Create: cria um diretório vazio
2. Delete: Remove um diretório
3. Opendir: Permite a leitura de diretórios
4. Closedir: Fecha o diretório após ser lido
5. Readdir: retorna a próxima entrada de diretório evita que o
programador precise conhecer a estrutura interna dos diretórios
6. Rename: renomeia diretórios
7. Link: possibilita que um arquivo apareça em mais de um diretório
8. Unlink: remove uma entrada de um diretório
Exercício: visualize o conteúdo do diretório apresentado os
proprietários dos arquivos.
Diretórios - Operações
$ ls –l
drwxr-xr-x 5 laureano prof
4096 Abr 14
drwxr-xr-x 3 laureano prof
4096 Mar 31
-rw-r--r-- 1 laureano prof
647 Abr 28
-rw-r--r-- 1 laureano prof
2335 Abr 28
drwxr-xr-x 11 laureano prof
4096 Mai 30
drwxr-xr-x 2 laureano prof
4096 Mai 18
drwx------ 11 laureano prof
4096 Jul 5
-rw-r--r-- 1 laureano prof 8437760 Jul 5
drwxr-xr-x 2 laureano prof
4096 Mai 22
-rw------- 1 laureano prof
1470 Set 28
11:34
12:25
12:24
12:24
2005
2005
2004
2004
2005
2004
a
abc
arqcut1
arqgrep
arquivos
asu
bash-2.05b
bash5.tar
c
client.c
Atributos
Descrição
Tamanho
Proteção
Dono
Criação
Backup
Organização
Senha
Especifica o tamanho do arquivo
Código de proteção de acesso
Identifica o criador do arquivo
Data e hora da criação do arquivo
Data e hora do último backup realizado
Indica a organização lógica dos registros
Senha necessária para acessar o arquivo
Atributos de Arquivos
Possíveis atributos de arquivos
Nomes de Caminhos
Uma árvore de diretórios UNIX
Nomes de Caminhos
• Caminho absoluto:
– cp /usr/bib .
• Caminho relativo:
– cp ../bib . (o diretório atual é o usr)
Implementação do Sistema
de Arquivos
• Sistemas são armazenados em disco;
• Os discos são armazenados em uma ou mais
partições;
• O setor 0 do disco é a MBR (Master Boot
Record), e é usada para iniciar o sistema;
• O fim da MBR contém a tabela de partição;
• Uma das partições da tabela é marcada
como ativa;
Sistemas de Arquivos
Figura: Uma organização possível para o sistema de arquivos
Implementação do Sistema
de Arquivos
• Superbloco:
– contém o tipo do sistema de arquivos, quantidade de
blocos, etc;
• Gerenciamento de espaço livre:
– Guarda uma estrutura com apontadores para blocos
livres;
• i-nodes:
– Informações específicas de cada arquivo;
– Para cada arquivo, existe um i-node associado;
• Diretório raiz + arquivos e diretórios:
– O sistema de arquivos propriamente dito;
Sistemas de Arquivos
• O sistema de arquivos é responsável por organizar
esses setores em arquivos e diretórios, e manter uma
tabela de quais setores são relacionados com quais
arquivos/diretórios
• Os mais populares utilizam dispositivos de
armazenamento de dados, que fornecem os setores de
seu espaço físico
– Alocação contígua
– Alocação por Lista Encadeada
Sistemas de Arquivos –
Alocação Contígua
• Esquema mais simples
• Metodologia: os arquivos são armazenados de forma
contínua em disco
– Em discos com blocos de 1k, um arquivo de 50k seria alocado
sequencialmente em 50 blocos
• Vantagens:
– Simples de implementar
– Otimização de desempenho
• Desvantagens:
– Praticável se for conhecido o tamanho do arquivo a ser criado
– Fragmentação de disco
Alocação Contígua –
Representação
Arquivo de no máximo 1k
Sistemas de Arquivos –
Lista Encadeada
• Metodologia: blocos com dois campos, o primeiro é um
ponteiro para o próximo bloco e o segundo são dados
– Em discos com blocos de 1k, um arquivo de 50k não
necessariamente seria alocado sequencialmente em 50 blocos
• Vantagens:
– Não existe a fragmentação de disco
– Diretório simplesmente armazena o endereço do primeiro
bloco
• Desvantagens:
– Acesso aleatório é mais lento
– Necessidade de alocar mais um campo para indicar próximo
bloco de dados
Lista Encadeada –
Representação
Gerência de Espaço Livre
• Quantidade limitada de espaço em disco
–
–
Necessário reutilizar o espaço de arquivos excluídos
Quando o arquivo excluído, seu espaço em disco é
adicionado a lista de espaço livre.
Gerência de Espaço Livre
• Vetor de bits
–
–
Lista de espaço livre é implementada como um
vetor de bits ou mapa de bits.
Cada bloco é representado por um bit 1:
• Se o bloco estiver livre, o bit será 0
• Se o bloc0 estiver alocado será 1
Gerência de Espaço Livre
• Vetor de bits: exemplo
–
Considere um disco no qual os blocos estão
alocados 2,3,4,5,8,9,10,11,12,13,17,18,25,26,27
Referências
• TANENBAUN, Andrew S., WOODHULL,
Albert S.Sistemas Operacionais – Projeto e
Implementação. Ed. Bookmam, 2Ed.
FIM
Download

Sistemas de Arquivos