O documento discute sistemas de arquivos, incluindo a necessidade de armazenamento de informações a longo prazo, soluções como armazenar dados em arquivos e a função do sistema operacional em gerenciar arquivos. É explicado como arquivos fornecem uma abstração para acessar dados de forma persistente e compartilhada entre processos.
2. Problemas quanto ao armazenamento de
informações
} Capacidade de memória está restrita ao
tamanho do espaço de endereçamento
virtual;
} Manter a informação mesmo quando
processo termina;
} Múltiplos processos tenham acesso à
informação (ou parte dela) ao mesmo
tempo.
quinta-feira, 2 de junho de 2011 2
3. 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
3
quinta-feira, 2 de junho de 2011 3
4. Solução
} Armazenar a informação em discos e em
outros meios externos:em unidades
chamadas arquivos;
} A informação deve ser persistente: não
pode ser afetada com criação ou término
de processo;
} Um arquivo só será apagado pelo seu
proprietário.
quinta-feira, 2 de junho de 2011 4
5. Sistema Operacional
} Arquivos são gerenciados pelo
sistema operacional;
} Sistema de Arquivos de um SO:
estruturar, nomear, acessar, usar,
proteger e implementar.
quinta-feira, 2 de junho de 2011 5
6. Arquivos
} Arquivo é um mecanismo de abstração;
} Isola o usuário dos detalhes sobre:
} como e onde a informação está armazenada;
} como os discos funcionam.
} Quando um processo cria um arquivo, ele dá
um nome;
} Quando o processo termina o arquivo
continua existindo;
} Outros processos têm acesso a esse arquivo;
quinta-feira, 2 de junho de 2011 6
7. Regras de criação de arquivos (nomes)
} Permitem cadeias de caracteres;
} Ex.: Ana, Paulo, Ronaldo, Fabrício, Flávio, Josevaldo.
} Freqüentemente dígitos e caracteres especiais
são permitidos;
} Ex.: 2, urgente! E Figura2.14
} Muitos sistemas permitem nomes com no
máximo 255 caracteres;
} Alguns distinguem letras maiúsculas das
minúsculas;
quinta-feira, 2 de junho de 2011 7
8. Extensão de arquivo
} Indica algo sobre o arquivo;
} No MS-DOS:
} De 1 a 3 caracteres;
} Alguns programas exigem que a extensão seja colocado para
que consigam abrir e/ou executar;
} Atribui significado (programa) à extensão.
} No Unix:
} O tamanho da extensão, se houver, fica a critério do usuário;
} O arquivo pode ter mais de uma extensão;
} Prog.c.Z – um programa em c foi comprimido
} São convenções, não impostas pelo SO;
quinta-feira, 2 de junho de 2011 8
9. Nomeação de Arquivos
Extensões típicas de arquivos
9
quinta-feira, 2 de junho de 2011 9
10. Estrutura de Arquivos
} Três tipos de arquivos
a) seqüência de bytes (Unix e Windows)
b) seqüência de registros
c) árvore
10
quinta-feira, 2 de junho de 2011 10
11. Tipos de Arquivos
(a) Um arquivo executável (b) Um repositório (archive)
11
quinta-feira, 2 de junho de 2011 11
12. Acesso aos Arquivos
} Acesso sequencial
} lê todos os bytes/registros desde o início
} não pode saltar ou ler fora de seqüência
} conveniente quando o meio era a fita magnética
} Acesso aleatório
} bytes/registros lidos em qualquer ordem
} essencial para sistemas de bases de dados
} ler pode ser …
} mover marcador de arquivo (seek), e então ler ou …
} ler e então mover marcador de arquivo
12
quinta-feira, 2 de junho de 2011 12
13. Atributos de Arquivos
Possíveis atributos de arquivos
13
quinta-feira, 2 de junho de 2011 13
14. Operações com Arquivos
1. Create 7. Append (escreve no
2. Delete final do arquivo)
8. Seek (acesso aleatório
3. Open aos arquivos)
4. Close 9. Get attributes
5. Read 10.Set Attributes
6. Write 11.Rename
14
quinta-feira, 2 de junho de 2011 14
15. Diretórios
Sistemas de Diretório em Nível Único
} Um sistema de diretório de nível único
} contém 4 arquivos
} propriedades de 3 pessoas diferentes, A, B, e C
15
quinta-feira, 2 de junho de 2011 15
16. Sistemas de Diretórios
em Dois Níveis
As letras indicam os donos dos diretórios e arquivos
16
quinta-feira, 2 de junho de 2011 16
17. Sistemas de Diretórios Hierárquicos
Um sistema de diretório hierárquico
17
quinta-feira, 2 de junho de 2011 17
18. Nomes de Caminhos
Uma árvore de diretórios UNIX
18
quinta-feira, 2 de junho de 2011 18
19. Operações com Diretórios
1. Create 5. Readdir
2. Delete 6. Rename
3. Opendir 7. Link
4. Closedir 8. Unlink
19
quinta-feira, 2 de junho de 2011 19
20. O Sistema de Arquivos MS-DOS (2)
} Tamanho máximo de partição para diferentes tamanhos de bloco
} As caixas vazias representam combinações proibidas
20
quinta-feira, 2 de junho de 2011 20