sistemas operacionais sistema de arquivossistemas operacionais - introdução edeyson a. gomes 11...

81
Sistemas Operacionais Edeyson Andrade Gomes www.edeyson.com.br Sistema de Arquivos

Upload: others

Post on 17-Jul-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais

Edeyson Andrade Gomes www.edeyson.com.br

Sistema de Arquivos

Page 2: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 2

Sistema de Arquivos

w  Mecanismo que provê armazenamento e acesso a dados e programas do Sistema Operacional e do usuário;

w  Aspecto mais visível do Sistema Operacional; w  Formado por duas partes distintas:

n  Coleção de Arquivos: Armazenagem de dados; n  Estrutura de Diretórios: Responsável pela organização e

informações sobre os arquivos do sistema; w  Interface homogênea e transparente para a

manipulação de dados em memória secundária.

Page 3: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 3

w  Arquivo: n  Coleção de informações logicamente relacionadas (bits,

bytes, linhas e registros), que representam programas ou dados;

n  Referido pelos usuários através de um nome; n  Conjunto de registros definidos pelo sistema de arquivos; n  É composto por uma série de atributos, que podem variar

de acordo com o Sistema Operacional. Atributos básicos são:

Sistema de Arquivos

Page 4: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 4

w  Nome: Distinção entre caracteres, extensão máxima, partes (nome e extensão);

w  Localização: Formado pelo ponteiro para o dispositivo e o local onde se encontra o arquivo neste dispositivo;

w  Tamanho: Tamanho atual do arquivo. Pode conter também o tamanho máximo permitido;

w  Informações para proteção de acesso: privilégios de acesso dos usuários;

w  Data e hora: da criação do arquivo, da última modificação feita no arquivo e do último acesso feito ao arquivo;

w  Identificação do usuário: que criou o arquivo.

Atributos dos Arquivos

Page 5: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Métodos de Acesso ao Arquivo

Page 6: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 6

Métodos de Acesso ao Arquivo

w  Forma como a informação é acessada no arquivo; w  A depender de como o arquivo está organizado o sistema

pode recuperá-lo de diferentes maneiras; w  Tipos de acesso:

n  Acesso seqüencial; n  Acesso direto;

l  Acesso indexado;

w  Sistemas Operacionais podem dar suporte a mais de um método de acesso.

Page 7: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 7

Métodos de Acesso ao Arquivo

w  Acesso seqüencial: n  Método de acesso mais comum. Usado em fitas; n  Informações no arquivo são processadas na ordem que

foram gravadas; n  Gravação só é possível no final do arquivo.

Posição Atual

Começo Fim

Leitura

Page 8: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 8

Métodos de Acesso ao Arquivo

w  Acesso seqüencial: n  Alocação Contígua

n  Informações do Arquivo: l  Início e Tamanho

n  Problemas l  Sistema trabalha com pré-alocação

w  Usuário precisa definir antecipadamente o tamanho do arquivo

Page 9: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 9

Métodos de Acesso ao Arquivo

w  Acesso seqüencial: n  Problemas

l  Alocação de arquivo maior que necessário w  Desperdício

l  Alocação de arquivo menor que necessário

Arquivo 1 Arquivo 2 Arquivo 3

Page 10: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 10

w  Alocação Contígua n  Como o arquivo1 pode crescer?

n  Informação do Arquivo l  Início, Tamanho, número de segmentos

w  Segmento 0 è 0, 1000 w  Segmento 1 è 2000, 400

Métodos de Acesso ao Arquivo

Arquivo 1 Arquivo 2 Arquivo 3 Arquivo 1

0 1000 2000 2400

Livre ...

Page 11: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 11

Livre

w  Alocação Contígua n  Muitos segmentos

l  Perde desempenho no acesso seqüencial w  Desfragmentação w  Arquivo com um único segmento

Métodos de Acesso ao Arquivo

Arquivo 1 Arquivo 2 Arquivo 3

0 1000 2000 3400

Page 12: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 12

Métodos de Acesso ao Arquivo

Livre Arquivo 1 Arquivo 2 Arquivo 3

0 1000 2000 3400 1600

Como alocar um arquivo com 1200 bytes?

Livre Livre Arquivo 1 Arquivo 2

0 1000 2000 3400 1400

Livre Arquivo 1 Arquivo 2 Livre

0 1000 2000 3400 1600

Apagando o Arquivo 3

Page 13: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 13

w  Alocação Contígua n  Perguntas:

l  Se apagarmos o Arquivo 3, como reusar o espaço? l  Como determinar as áreas livres do disco? l  Como alocar tais áreas?

n  Respostas: l  Listas encadeadas ou mapas de bits l  Best Fit, First Fit ou Worst Fit

w  Parece com o que?

Métodos de Acesso ao Arquivo

Page 14: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 14

Métodos de Acesso ao Arquivo

w  Acesso direto: n  Arquivo é dividido em blocos que podem ser acessados

em qualquer ordem; n  Ideal para grande quantidade de informação, como as

bases de dados; n  Leitura baseada na especificação do número do bloco; n  Possível combinar o acesso direto com o acesso

seqüencial.

Page 15: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 15

Métodos de Acesso ao Arquivo

w  Acesso indexado: n  Sofisticação do acesso direto; n  Chamado de acesso indexado ou por chave; n  Arquivo deve possuir uma área de índice onde existam

ponteiros para os diversos registros;

Page 16: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 16

Operações sobre Arquivos

w  System Calls permitem às aplicações realizar operações de E/S como tradução de nomes em endereços, leitura e gravação de dados, criação e eliminação de arquivos;

w  Operações sobre arquivos mais comuns são:

n  Criar; n  Abrir; n  Ler; n  Gravar;

n  Fechar; n  Renomear; n  Posicionar; n  Destruir.

Page 17: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 17

w  Discos podem ser divididos em diversas partições ou volumes;

w  Cada disco contém pelo menos uma partição onde estão localizados os arquivos e os diretórios;

w  Diretório: n  Também chamado de diretório de dispositivo ou Tabela de conteúdo

do volume; n  Estrutura de dados que mantém informações sobre a coleção dos

arquivos contidos no disco; l  Nome, tamanho, localização, tipo, etc;

n  Pode ser visto como um conjunto de tabelas que associam nomes a arquivos.

Sistema de Arquivos

Page 18: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 18

w  Um diretório também é um arquivo, com vários atributos, mas tratado de forma diferenciada pelo SO (Bit define se é arquivo – bit = 0 ou diretório – bit =1)

w  Operações sobre diretórios mais comuns são: n  Procurar, apagar, renomear e copiar arquivos; n  Mostrar uma lista com o conteúdo do diretório;

w  Estruturas mais comuns são: n  Nível Único (Single-Level Directory); n  Dois Níveis (Two-Level Directory); n  Árvore; n  Grafo Acíclico; n  Grafo.

Sistema de Arquivos

Page 19: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 19

Implementação do Sistema de Arquivos

w  Forma de armazenamento de arquivos na memória secundária demanda controle dos espaços livres e dos espaços alocados aos arquivos e diretórios;

w  Espaço livre gerenciado através de: n  Mapa de bits: Cada entrada na tabela é associada a um bit que indica se

o bloco está livre (bit=0) ou ocupado (bit=1); n  Ligação encadeada: Cada bloco livre guarda o endereço do próximo

bloco livre; n  Tabela com endereço do 1º bloco livre de cada segmento e o número de

blocos livres contíguos;

Page 20: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 20

w  Alocação Contígua: n  Armazenagem do arquivo no disco em blocos seqüenciais; n  Informações necessárias: Nome, endereço de início e

tamanho; n  Problemas:

l  Definição do tamanho definitivo do arquivo no instante da sua criação;

l  Pré-alocação de espaço “extra” pode gerar ociosidade do espaço alocado por muito tempo;

l  Alocação para novos arquivos depende que existam n blocos dispostos em seqüência no disco.

Alocação de Disco

Page 21: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 21

w  Alocação Contígua: n  Três estratégias para alocação do espaço para o arquivo:

l  First-fit: Primeiro segmento livre com tamanho suficiente para o arquivo;

l  Best-fit: Menor segmento livre disponível com tamanho suficiente para o arquivo;

l  Worst-fit: Maior segmento livre disponível com tamanho suficiente para o arquivo;

n  Todas as três estratégias geram fragmentação de espaços livres.

Alocação de Disco

Page 22: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 22

n  Situação crítica: Quando existem espaços livres mas nenhum deles suporta um novo arquivo;

n  Solução é a desfragmentação do disco, que deve ser periódica, pois seu efeito é temporário.

Alocação de Disco

Page 23: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 23

n  Uso de Blocos l  Menor unidade de alocação lógica l  Diminui a fragmentação a um único bloco por arquivo

w  Apenas o último bloco

l  Perda média = 50% do tamanho do bloco por arquivo

Alocação de Disco

Page 24: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 24

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Bloco com 1KB = 1024 BYTES = 4 + 1020

LBL – Lista de Blocos Livres LBL à Bloco 0, 18KB

32 BITS

1020 Bytes

Ligação encadeada

Page 25: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 25

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

LBL – Lista de Blocos Livres LBL à Bloco 0, 18KB

4 Bytes

1020 Bytes Dados

Para alocar um arquivo com 3 KB – 3072 bytes – necessitamos de 4 blocos devido ao espaço dos ponteiros.

Ligação encadeada

Page 26: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 26

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Criar Arquivo 1 com 3072 Bytes

NOME Bloco Inicial

Tamanho

LBL 0 18K

Ligação encadeada Bloco = 1KB

Page 27: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 27

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Criar Arquivo 1 com 3072 Bytes 3072 / 1020 = 3 com resto 12 3 blocos cheios e 1 com 12 bytes.

NOME Bloco Inicial

Tamanho

LBL 4 14K

Arquivo 1 0 3072

Ligação encadeada Bloco = 1KB

Page 28: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 28

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Criar Arquivo 2 com 4000 Bytes

NOME Bloco Inicial

Tamanho

LBL 4 14K

Arquivo 1 0 3072

Ligação encadeada

Page 29: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 29

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Criar Arquivo 2 com 4000 Bytes

NOME Bloco Inicial

Tamanho

LBL 8 10K

Arquivo 1 0 3072

Arquivo 2 4 4000

Ligação encadeada

Page 30: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 30

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Criar Arquivo 3 com 2000 Bytes

NOME Bloco Inicial

Tamanho

LBL 8 10K

Arquivo 1 0 3072

Arquivo 2 4 4000

Ligação encadeada

Page 31: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 31

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Criar Arquivo 3 com 2000 Bytes

NOME Bloco Inicial

Tamanho

LBL 10 8K

Arquivo 1 0 3072

Arquivo 2 4 4000

Arquivo 3 8 2000

Ligação encadeada

Page 32: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 32

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Arquivo 1 cresce de 3072 bytes para 4200 bytes

NOME Bloco Inicial

Tamanho

LBL 10 8K

Arquivo 1 0 3072

Arquivo 2 4 4000

Arquivo 3 8 2000

Ligação encadeada

Page 33: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 33

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Arquivo 1 cresce de 3072 bytes para 4200 bytes

NOME Bloco Inicial

Tamanho

LBL 11 7K

Arquivo 1 0 4200

Arquivo 2 4 4000

Arquivo 3 8 2000

Ligação encadeada

Arquivo 2 diminui de 4000 bytes para 3000 bytes

Page 34: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 34

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Arquivo 2 diminui de 4000 bytes para 3000 bytes

NOME Bloco Inicial

Tamanho

LBL 11 8K

Arquivo 1 0 4200

Arquivo 2 4 3000

Arquivo 3 8 2000

Ligação encadeada

Apagando o Arquivo 3

Page 35: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 35

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Apagando o Arquivo 3

NOME Bloco Inicial

Tamanho

LBL 11 10K

Arquivo 1 0 4200

Arquivo 2 4 3000

?rquivo 3 8 2000

Ligação encadeada

Page 36: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 36

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Restaurando o Arquivo 3 Como é possível? O ? Indica exclusão lógica.

NOME Bloco Inicial

Tamanho

LBL 11 10K

Arquivo 1 0 4200

Arquivo 2 4 3000

?Arquivo 3 8 2000

Ligação encadeada

Page 37: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 37

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Restaurando o Arquivo 3 Como é possível? O ? Indica exclusão lógica.

NOME Bloco Inicial

Tamanho

LBL 11 8K

Arquivo 1 0 4200

Arquivo 2 4 3000

Arquivo 3 8 2000

Ligação encadeada

Apagando os Arquivos 3 e 1.

Page 38: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 38

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Apagando os Arquivos 3 e 1. NOME Bloco Inicial

Tamanho

LBL 11 10K

Arquivo 1 0 4200

Arquivo 2 4 3000

?Arquivo 3 8 2000

Ligação encadeada

Page 39: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 39

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Apagando os Arquivos 3 e 1. Blocos da LBL [11, 12, 13, 14, 15, 16, 17, 7, 8, 9, 0, 1, 2, 3, 10]

NOME Bloco Inicial

Tamanho

LBL 11 15K

?Arquivo 1 0 4200

Arquivo 2 4 3000

?Arquivo 3 8 2000

Ligação encadeada

Page 40: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 40

Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Restaurando o Arquivo 3. O bloco 7 vai apontar para que o bloco 9 aponta. O 9 aponta para null. Blocos da LBL [11, 12, 13, 14, 15, 16, 17, 7, 0, 1, 2, 3, 10]

NOME Bloco Inicial

Tamanho

LBL 11 13K

?Arquivo 1 0 4200

Arquivo 2 4 3000

Arquivo 3 8 2000

Ligação encadeada

Page 41: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 41

Problema na Alocação de Disco

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

O que aconteceu com o bloco vermelho? Como reusá-lo?

LBL à Bloco 10, 8KB

Ligação encadeada

Page 42: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 42

Problema na Alocação de Disco

w  Ligação encadeada n  Para ler o bloco n de um arquivo, quantos blocos devem

ser lidos? l  Resp: n blocos

n  Por que? l  Resp: Os blocos estão encadeados através de ponteiros dentro do

próprio bloco n  Existe leitura direta?

l  Resp: Não. Só seqüencial n  Se o arquivo ficar fragmentado, a leitura seqüencial é

pior que na alocação contígua. l  Qual a solução?

w  Resp: Desfragmentação

Page 43: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 43

Problema na Alocação de Disco

w Ligação encadeada n  Qual a vantagem sobre a alocação contígua?

l  Menor desperdício, pois aloca blocos. w  Alocação por demanda.

Page 44: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 44

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3 Arquivo Início Tamanho

Arquivo 0 2000 Arquivo 3 4010 Arquivo 9 7000

Diretório

Alocação de Blocos em Disco

w Alocação Encadeada: BLOCO = 1024 bytes

Page 45: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 45

w Alocação Encadeada: n  Arquivo é organizado como um conjunto de blocos

ligados logicamente no disco l  Arquivo é uma Lista Simplesmente Encadeada dentro

dos blocos

n  Cada bloco possui um ponteiro para o bloco seguinte e assim sucessivamente

n  Fragmentação do disco não é problema, pois blocos não precisam estar contíguos

Alocação de Blocos em Disco

Page 46: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 46

n  Desvantagens: l  Acesso aos blocos dos arquivos só pode ser seqüencial; l  Espaço desperdiçado nos blocos para o armazenamento dos ponteiros.

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3 Diretório

Alocação de Blocos em Disco

Page 47: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 47

w  Alocação Indexada: n  Informações necessárias: Nome, endereço do índice +

índice; n  Ponteiros para os blocos do arquivo são mantidos numa

estrutura chamada bloco de índice; n  Permite acesso direto sem fragmentação; n  Não utiliza informação de controle nos blocos como na

alocação encadeada.

Alocação de Blocos em Disco

Page 48: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 48

Diretório FAT

Alocação Indexada de Blocos

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Arquivo 1o. Bloco Tamanho

LBL 0 20480

Linha Valor

0 1

1 2

2 3

3 4

4 5

5 6

6 7

7 8

8 9

9 10

10 11

11 12

12 13

13 14

14 15

15 16

16 17

17 18

18 19

19 999

Bloco = 1 KB = 1024 bytes

A primeira coluna da tabela [linha] é virtual, pois identifica a linha.

Page 49: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 49

Diretório FAT

Alocação Indexada de Blocos

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Arquivo 1o. Bloco Tamanho

LBL 0 20480

Linha Valor

0 1

1 2

2 3

3 4

4 5

5 6

6 7

7 8

8 9

9 10

10 11

11 12

12 13

13 14

14 15

15 16

16 17

17 18

18 19

19 999

Qual o primeiro bloco da LBL? Resp: 0 Qual o segundo bloco da LBL? Resp: Na FAT, para onde o bloco 0 aponta? Busca-se na linha 0. O último bloco deve apontar para EOF. O que é EOF? Um valor predeterminado. No exemplo assumiu-se 999.

Page 50: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 50

Diretório FAT

Alocação Indexada de Blocos

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Arquivo 1o. Bloco Tamanho

LBL 0 20480

Linha Valor

0 1

1 2

2 3

3 4

4 5

5 6

6 7

7 8

8 9

9 10

10 11

11 12

12 13

13 14

14 15

15 16

16 17

17 18

18 19

19 999

Alocar o arquivo 1 com 2872 bytes Precisamos de 3 blocos livres.

Page 51: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 51

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 3 17408

Arquivo 1 0 2872

Linha Valor

0 1

1 2

2 999

3 4

4 5

5 6

6 7

7 8

8 9

9 10

10 11

11 12

12 13

13 14

14 15

15 16

16 17

17 18

18 19

19 999

Bloco = 1 KB = 1024 Bytes

Blocos do Arquivo 1 = [0,1, 2]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Alocar o arquivo 1 com 2872 bytes Precisamos de 3 blocos livres.

Alocar o arquivo 2 com 4020 bytes

Page 52: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 52

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 7 13312

Arquivo 1 0 2872

Arquivo 2 3 4020

Linha Valor

0 1

1 2

2 999

3 4

4 5

5 6

6 999

7 8

8 9

9 10

10 11

11 12

12 13

13 14

14 15

15 16

16 17

17 18

18 19

19 999

Bloco = 1 KB = 1024 Bytes Blocos do Arquivo 1 = [0,1, 2]

Blocos do Arquivo 2 = [3, 4, 5, 6]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Alocar o arquivo 1 com 2872 bytes Alocar o arquivo 2 com 4020 bytes

Aumentar o arquivo 1 em 1030 bytes

Page 53: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 53

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 8 12288

Arquivo 1 0 3902

Arquivo 2 3 4020

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 999

8 9

9 10

10 11

11 12

12 13

13 14

14 15

15 16

16 17

17 18

18 19

19 999

Bloco = 1 KB = 1024 Bytes Blocos do Arquivo 1 = [0,1, 2, 7]

Blocos do Arquivo 2 = [3, 4, 5, 6]

Aumentar o arquivo 1 em 1030 bytes 14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Criar o arquivo 3 com 5211 bytes

Page 54: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 54

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 14 6144

Arquivo 1 0 3902

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 999

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 17

17 18

18 19

19 999

Bloco = 1 KB = 1024 Bytes

Blocos do Arquivo 1 = [0,1, 2, 7] Blocos do Arquivo 2 = [3, 4, 5, 6]

Criar o arquivo 3 com 5211 bytes

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Aumentar o arquivo 1 em 2405 bytes

Page 55: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 55

Diretório

FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 3072

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 999

17 18

18 19

19 999

Bloco = 1 KB = 1024 Bytes LBL = [17, 18, 19]

Blocos do Arquivo 1 = [0,1, 2, 7, 14, 15, 16] Blocos do Arquivo 2 = [3, 4, 5, 6]

Aumentar o arquivo 1 em 2405 bytes

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Apagar o arquivo 1

Page 56: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 56

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 10240

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 999

17 18

18 19

19 0

Bloco = 1 KB = 1024 Bytes LBL = [17, 18, 19, 0, 1, 2, 7, 14, 15, 16]

Blocos do Arquivo 1 = [0,1, 2, 7, 14, 15, 16]

Blocos do Arquivo 2 = [3, 4, 5, 6] Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Recuperar o arquivo 1

Page 57: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 57

Diretório

FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 3072

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 999

17 18

18 19

19 999

Blocos do Arquivo 1 = [0,1, 2, 7, 14, 15, 16] Blocos do Arquivo 2 = [3, 4, 5, 6]

Recuperar o arquivo 1

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19 Bloco = 1 KB = 1024 Bytes

LBL = [17, 18, 19]

Apagar o arquivo 1 e o arquivo 2

Page 58: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 58

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 14336

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 3

17 18

18 19

19 0

Bloco = 1 KB = 1024 Bytes LBL = [17, 18, 19, 0, 1, 2, 7, 14, 15, 16, 3, 4, 5, 6]

Blocos do Arquivo 1 = [0,1, 2, 7, 14, 15, 16] Blocos do Arquivo 2 = [3, 4, 5, 6]

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Page 59: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 59

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 10240

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 999

17 18

18 19

19 0

Bloco = 1 KB = 1024 Bytes

Blocos do Arquivo 1 = [0,1, 2, 7, 14, 15, 16] Blocos do Arquivo 2 = [3, 4, 5, 6]

Recuperar o arquivo 2

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Page 60: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 60

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 14336

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 3

17 18

18 19

19 0

Bloco = 1 KB = 1024 Bytes

Blocos do Arquivo 1 = [0, 1, 2, 7, 14, 15, 16] Blocos do Arquivo 2 = [3, 4, 5, 6]

Apagar o arquivo 1 e o arquivo 2

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Page 61: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 61

Diretório FAT

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 7168

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

Linha Valor

0 1

1 2

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 999

17 18

18 19

19 3

Bloco = 1 KB = 1024 Bytes

Blocos do Arquivo 1 = [0,1, 2, 7, 14, 15, 16] Blocos do Arquivo 2 = [3, 4, 5, 6]

Recuperar o arquivo 1

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

Page 62: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 62

FAT Valor

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

999

FAT de 12 bits à 212 = 4096 linhas à 4096 blocos Cada linha da FAT12 possui 12 bits Tamanho da FAT = Número de Linhas * Tamanho da Linha

= 212 * 12 bits = 4K * 1,5 bytes = 6 K bytes FAT 12 era usada em disquetes Problema: como representar fim de arquivo, bloco ruim, etc? Endereços especiais são usados.

Page 63: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 63

FAT Valor

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

999

Tamanho do Bloco = Tamanho do Disco / 4096 Formatar disco de 1 MB à Bloco = 220/212 = 28 = 256 bytes

2 MB à Bloco = 512 bytes 4 MB à Bloco = 1024 bytes = 1KB

40 MB à Bloco = 10 KB Quanto maior o disco, maior o tamanho do bloco. Imagine formatar um disco de 64GB com FAT 12?

Bloco = 236 /212 = 224 = 16 MBytes

Page 64: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 64

FAT Valor

1

2

3

4

5

6

7

8

9

10

11

...

1000

1002

...

...

65532

65533

65534

65535

FAT de 16 bits Cada linha da FAT16 possui 16 bits Tamanho da FAT16 = 216 * 16 bits = 64K * 2 bytes = 128 K bytes Exceção: Precisamos de um valor para marcar Fim de Arquivo (FF), Bad Block (FE), etc. Nem todos os blocos podem ser usados; os últimos são desperdiçados.

Page 65: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 65

FAT Valor

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

999

FAT de 16 bits - 64 K Linhas - 64 K blocos Tamanho da FAT = 128 K bytes Formatando Discos: 64 MB à Tamanho do Bloco: 1 KB 640 MB à Bloco: 10KB

2 GB à Bloco: 231/216 = 215 = 32KB 6,4 GB à Bloco: 100 KB 64 GB à Bloco: 1 MB A FAT precisa ficar TODA na memória para ser usada.

Page 66: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 66

FAT Valor

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

999

FAT de 32 bits à 232 linhas = 4 G Linhas Tamanho da FAT 32 = 4 G * 4 bytes = 16 GBytes Formatando Partições: Bloco: 1 KB è Disco até 4 TB Problema: Como manter a FAT32 na memória? Solução: Trabalhar com tabelas com múltiplos níveis.

Page 67: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 67

Diretório

Alocação Indexada de Blocos

Arquivo 1o. Bloco Tamanho

LBL 17 7168

Arquivo 1 0 6307

Arquivo 2 3 4020

Arquivo 3 8 5211

0

1

2

7

14

15

16

Bloco = 1 KB = 1024 Bytes

Blocos do Arquivo 1 = [0,1, 2, 7, 14, 15, 16] Blocos do Arquivo 2 = [3, 4, 5, 6]

Recuperar o arquivo 1

Blocos do Arquivo 3 = [8, 9, 10, 11, 12, 13]

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

18 17 16 19

3

4

5

6

8

9

10

11

12

13

Arquivo 1 Arquivo 2 Arquivo 3

Page 68: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 68

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

Arquivo Índice arquivo 0 arquivo 1 arquivo 2

Diretório

Índice 0

- - - - -

Índice 1

- - - - -

Índice 2

- - - - -

Alocação Indexada de Blocos

0 2 1

18 17 16 19

Page 69: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 69

14 13 12 15

10 9 8 11

6 5 4 7

2 1 0 3

Arquivo Índice arquivo 0 arquivo 1 arquivo 2

Diretório

Índice 0

- - - - -

Índice 1

- - - - -

Índice 2

- - - - -

Alocação Indexada de Blocos

0 2 1

18 17 16 19

Page 70: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 70

Tabelas de Índices

w  Suponha um disco de 80 GB, bloco de 4 KB w  O disco está cheio w  Quanto de tabela, com 32 bits, será necessário?

n  Número de Blocos = 80 GB / 4 KB = 20 M n  Tamanho da tabela = 20 M * 4 bytes = 80 MB n  Arquivos têm:

l  Nome l  Atributos (Tamanho, datas, permissões, etc)

w  Onde armazenar isso?

Page 71: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Diretórios

Page 72: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 72

Diretórios

w Organização w Todo diretório é um arquivo

n  Árvore l  Raiz – Nome da Partição

w  C:

n  Diretório é um arquivo com registros

Page 73: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 73

Diretórios

Nome Extensão SDAHRrrr 1o. Bloco Tamanho Data

Windows 11001 3 6200 15/08/2006

Autoexec bat 00000 1 312 15/08/2006

Config sys 00001 2 450 15/08/2006

Teste txt 00000 10 82 29/08/2006

C:

5

9999

9999

4

6

9999

7

8

9

9999

9999

O que ocorre quando executamos dir C: O arquivo C: “root” tem 2 blocos: 0, 5. O sistema abre todos os blocos e apresenta o conteúdo formatado. Dir C:\Windows Dir C:\XPTO Notepad C:\teste.txt

Page 74: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 74

w  C:\>dirw  O volume na unidade C não tem nome.w  O número de série do volume é 38E7-FFAE

w  Pasta de C:\

w  28/08/2006 15:17 <DIR> Windowsw  15/08/2006 12:20 312 AUTOEXEC.BATw  15/08/2006 12:20 450 CONFIG.SYSw  ...

Page 75: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 75

Conteúdo do Bloco 0

Alocação Indexada de Blocos Linha Valor

0 999

1 999

2 7

3 4

4 5

5 6

6 999

7 14

8 9

9 10

10 11

11 12

12 13

13 999

14 15

15 16

16 999

17 18

18 19

19 999

Bloco = 1 KB = 1024 Bytes ROOT: Bloco 0

O que acontece quando executamos DIR C:

Nome SDAHR 1o. Bloco

Tamanho Data

Windows 11001 3 6200 15/08/2006

Autoexec.bat 00000 1 312 15/08/2006

Config.sys 00001 2 450 15/08/2006

Teste.txt 00000 10 82 29/08/2006

Page 76: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Cache

Page 77: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 77

Cache

w Como garantir maior desempenho para acessos repetidos a um mesmo bloco de disco? n  Cache de Blocos na memória n  Desempenho n  Contém os blocos mais recentemente

referenciados do disco l  LRU

Page 78: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 78

Cache: Desempenho X Confiabilidade

w Tipos de Cache n  Maior desempenho, Menor confiabilidade

l  Lê e grava apenas na Cache l  O que acontece se faltar energia ao sistema?

w  Todas as alterações da Cache são perdidas. w  Problema de consistência ao SO e aos dados dos usuários.

l  Quando os dados são realmente gravados no disco? w  Quando houver uma falta de bloco com o cache cheio. w  Algoritmo LRU w  Temporizador

Page 79: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 79

Cache: Desempenho X Confiabilidade

w Tipos de Cache n  Maior confiabilidade, Menor desempenho

l  Lê na Cache e grava na Cache e no Disco l  O que acontece se faltar energia ao sistema?

w  Nenhuma alteração é perdida.

l  Quando os dados são realmente gravados no disco? w  A cada I/O

l  Algoritmo LRU

Page 80: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 80

Cache: Desempenho X Confiabilidade

w Tipos de Cache n  Equilíbrio entre confiabilidade e desempenho

l  Os blocos dos arquivos do SO e do usuário têm a mesma importância ao sistema? w  Não. w  Tipos de Blocos:

§  Essenciais à do SO (Diretórios, Estruturas) §  Não Essenciais à usuários

Page 81: Sistemas Operacionais Sistema de ArquivosSistemas Operacionais - Introdução Edeyson A. Gomes 11 Livre w Alocação Contígua n Muitos segmentos l Perde desempenho no acesso seqüencial

Sistemas Operacionais - Introdução Edeyson A. Gomes 81

Cache: Desempenho X Confiabilidade

w Tipos de Cache n  Equilíbrio entre confiabilidade e desempenho

l  I/O de bloco essencial w  Lê na Cache e grava na Cache e no Disco

l  I/O de bloco não essencial w  Lê e Grava na Cache

l  O que acontece se faltar energia ao sistema? w  O sistema fica íntegro e as alterações do usuário são perdidas.