Top Banner
1 Gerenciamento de Arquivos Capítulo 6 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos
43

Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

Nov 17, 2018

Download

Documents

phungnhi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

1

Gerenciamento de Arquivos

Capítulo 6

6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos

Page 2: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

2

Armazenamento de longo prazo

1. Deve guardar grandes volumes de dados.

2. Informação armazenada deve continuar acessível mesmo após o fim do processo que a utilizou.

3. Múltiplos processos devem ser capazes de acessar uma informação concorrentemente.

Page 3: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

3

Denominações de arquivos

Extensões de arquivos típicas

Alguns sistemas não exigem que extensões sejam consistentes com conteúdos (MS-DOS); outros não (Unix).

Page 4: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

4

Estrutura de arquivos

• Arquivos podem ser tratados como:– seqüência de bytes (MS-DOS, Unix)– seqüência de registros (mainframes)– registros estruturados em árvore (mainframes)

Page 5: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

5

Tipos de arquivos• Arquivos podem ser regulares, especiais ou de

diretórios.• Arquivos regulares: binários (executáveis,

imagens etc.) ou ASCII (textos simples)• Arquivos especiais: voltados para E/S

– de bloco: modelam E/S em discos;– de caractere: modelam E/S em dispositivos seriais

• Arquivos de diretórios: organizam a estrutura do sistema de arquivos.

Page 6: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

6

Tipos de arquivos regulares

(a) Arquivo executável (b) Biblioteca

Page 7: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

7

Tipos de acesso a arquivos• Acesso seqüencial

– bytes e registros são lidos desde o início do arquivo– não se pode saltar para outra posição qualquer a não

ser voltar para o início– acesso conveniente para armazenamento em fitas

magnéticas

• Acesso aleatório ou randômico– bytes e registros são lidos em qualquer ordem– fundamental para bases de dados– “ler” pode significar:

• mover marcador (seek) e ler ou• ler e então mover o marcador

Page 8: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

8

Atributos típicos de arquivos

Page 9: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

9

Operações típicas em arquivos

● Criar: create()● Apagar: delete()● Abrir: open()● Fechar: close()● Ler: read()● Escrever: write()

● Anexar: append()● Mover ponteiro: seek()● Obter atributos: get()● Definir atributos: set()● Renomear: rename()

Chamadas de sistema para arquivos:

Page 10: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

10

Arquivos mapeados em memória

(a) Espaço de endereçamento (segmentos) de um processo antes de mapear arquivos.

(b) Espaço de endereçamento (segmentos) após mapeamento do arquivo abc em um segmento e criação do arquivo xyz em outro.

Page 11: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

11

Diretórios de um só nível

• Um diretório de nível único– com 4 arquivos– pertencentes a três usuários distintos: A, B e C

Page 12: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

12

Diretórios de dois níveis

• Um nível extra adicionado para separar arquivos de usuários diferentes.

Page 13: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

13

Diretórios hierárquicos

• Flexibilidade para se criar tantos subdiretórios quantos forem necessários

Page 14: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

14

Uma árvore de diretórios em Unix

Caminhos (paths ou rotas) no sistema de arquivos

Page 15: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

15

Operações básicas em diretórios

● Criar: create()● Apagar: delete()● Abrir: opendir()● Fechar: closedir()

● Ler: readdir()● Renomear: rename()

● Conectar: link()● Desconectar: unlink()

Chamadas de sistema para diretórios:

Page 16: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

16

Implementação de sistema de arquivos

• Uma possível estruturação de sistema de arquivos (Unix)

Page 17: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

17

Implementação de arquivos (1)

(a) Espaço contíguo alocado para 7 arquivos.(b) Estado do disco após remoção dos arquivos D e F.

Page 18: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

18

Implementação de arquivos (2)

• Arquivos podem ser listas ligadas de blocos de disco.

Page 19: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

19

Implementação de arquivos (3)

Implementação por mapeamento em lista ligada em RAM

FAT (DOS)

Page 20: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

20

Implementação de arquivos (4)

Um exemplo de i-node (Unix).

Page 21: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

21

Implementação de diretórios (1)

(a) Diretório simples:– campos de tamanhos fixos– endereços e atributos do arquivo no diretório

(b) Diretório que só indica o i-node do arquivo.– todos os detalhes do arquivo ficam no i-node

Page 22: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

22

Implementação de diretórios (2)

• Duas formas de tratar nomes longos:– (a) In-line– (b) Em um heap

Page 23: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

23

Compartilhamento de arquivos (1)

Sistema de arquivos com um arquivo compartilhado

Page 24: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

24

Compartilhamento com conexões

(a) Situação pré-conexão(b) Situação após criação do link(c) Situação após criação do link

Page 25: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

25

Gerência de espaço em disco (1)

• Quanto maior o tamanho do bloco, melhor o desempenho.• Quanto maior o tamanho do bloco, pior a eficiência no uso.• Todos os arquivos seriam de 2 kB no exemplo acima.

Block size

Page 26: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

26

Gerência de espaço em disco (2)

(a) Blocos livres guardados em lista- parte desta lista pode ficar em memória

(b) Blocos livres apontados por mapa de bits

Page 27: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

27

Gerência de espaço em disco (3)

Parte da lista de blocos livres fica em memória.(a) Memória com lista de blocos livres quase cheia (parte azul indica

endereços dos blocos livres); disco já tem três blocos usados pela lista de blocos livres.

(b) Resultado após um arquivo ser apagado e liberar 3 blocos.(c) Estratégia alternativa para evitar muitas operações de E/S: tentar

manter a lista de blocos livres da memória meio cheia, evitando muitas transições entre (a) e (b), que são caras.

Page 28: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

28

Gerência de espaço em disco (4)

• Quotas podem ser usadas para controlar espaço em disco de cada usuário.

• Há limites rígidos (hard) intransponíveis e limites de alerta (soft) tanto para número de blocos como para número de arquivos.

Page 29: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

29

Cópias de segurança (backups)• Problema dos discos não é se vão ou não

falhar, mas quando vão falhar.• Backups são a mais segura maneira de se

proteger contra falhas, intencionais ou não.• Backups podem ser:

– totais: o disco é todo copiado– incrementais: só arquivos/diretórios alterados

desde último backup é que são copiados– físicos: copiam do primeiro ao último bloco do

disco sem se importar com seu conteúdo– lógicos: somente alguns arquivos e diretórios são

selecionados para a cópia.

Page 30: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

30

Exemplo de backup lógico

• Um exemplo de sistema de arquivos, onde:– quadrados são diretórios e círculos são arquivos;– itens sombreados foram alterados desde último backup;– cada item contém o número de seu i-node.

File that hasnot changed

Page 31: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

31

Mapa de blocos em backup lógico

• Software faz quatro passagens pelo sistema:– (a) marca todos os arquivos alterados e todos os diretórios

(com conteúdo alterado ou não);– (b) desmarca os diretórios que não têm arquivos alterados

sob seu domínio direto ou indireto;– (c) faz cópia dos diretórios que ficaram marcados;– (d) faz cópia dos arquivos que ficaram marcados;

Page 32: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

32

Restauração de backup lógico

• Para restaurar um arquivo ou um diretório inteiro, o backup lógico:– cria um sistema de arquivos vazio no disco;– restaura toda a última cópia integral feita;

• diretórios são restaurados primeiro, já que foram copiados primeiro no backup;

• quando arquivos são restaurados, a estrutura de diretórios já existe para recebê-los;

– restaura as últimas cópias incrementais na ordem em que foram feitas.

Page 33: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

33

Consistência de sistema de arquivos

• Consistência pode ser verificada com contagens de blocos livres e ocupados. Exemplos:(a) sistema consistente;(b) há um bloco (2) perdido;(c) bloco 4 aparece duas vezes na lista de blocos livres;(d) bloco 5 aparece duas vezes como bloco usado por arquivos.

(c) (d)

Page 34: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

34

Exemplos de sistemas de arquivos: CD-ROM

A entrada de diretório padrão ISO 9660

Page 35: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

35

Exemplos de sistemas de arquivos: CP/M

Formato de uma entrada de diretório em CP/M:• para cada arquivo só é possível usar o número

limitado de blocos indicados pelo diretório

Page 36: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

36

Exemplos de sistemas de arquivos: MS-DOS

A entrada de diretório não possui a lista de todos os blocos do arquivo, mas apenas o início dela.

Page 37: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

37

As variantes do sistema de arquivos do MS-DOS

• Tamanho máximo de partições em função do tamanho de bloco e do número de bits usados para endereçar.

• Células vazias indicam combinações proibidas.

Page 38: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

38

Exemplos de sistemas de arquivos: Windows 98

• Entrada no diretório estendido do Windows 98– possibilidade de endereçar até 232 blocos no disco– nesta entrada nome de arquivo é limitado em tamanho:

• para nomes longos é necessário usar entradas especiais no diretório.

Bytes

Page 39: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

39

Exemplos de sistemas de arquivos: nomes longos no

Windows 98

• Nomes longos de arquivos precisam usar entradas de diretório especiais como o formato acima.– Limite teórico: 819 caracteres– Limite prático (histórico): 260 caracteres

Bytes

Checksum

Page 40: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

40

Exemplos de sistemas de arquivos: armazenamento de

nomes longos no Windows 98

• O nome longo do arquivo é armazenado em registros extras especiais que vêm logo acima do registro padrão do arquivo

Page 41: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

41

Exemplos de sistemas de arquivos: Unix

• Uma entrada de diretório no Unix V7– extremamente simples, pois só traz nome do

arquivo e seu número de i-node.

Page 42: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

42

Exemplos de sistemas de arquivos: endereçamento de blocos no Unix

Page 43: Capítulo 6 Gerenciamento de Arquivos - dca.fee.unicamp.brmarco/cursos/ea876_06_1/so/so_cap06.pdf · • Arquivos de diretórios: organizam a estrutura do sistema de arquivos. 6 Tipos

43

Exemplos de sistemas de arquivos: diretórios e arquivos em Unix

Etapas na busca do arquivo /usr/ast/mbox