70
1 Sistemas de Arquivos Sistemas de Arquivos Capítulo Capítulo 4 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados, acessados, utilizados, implementados e protegidos.

1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

Embed Size (px)

Citation preview

Page 1: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

11

Sistemas de ArquivosSistemas de Arquivos

CapítuloCapítulo 44

Objetivo

Compreender como são gerenciados pelo

Sistema Operacional os arquivos: o modo como

são estruturados, nomeados, acessados,

utilizados, implementados e protegidos.

Page 2: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

22

Sistemas de ArquivosSistemas de Arquivos

Capítulo 4Capítulo 4

Índice

4.1 Arquivos – como são usados e propriedades

4.2 Diretórios – como são usados e propriedades

4.3 Implementação do sistema de arquivos

4.4 Gerenciamento e otimização dos sistemas de arquivo

4.5 Exemplos de sistemas de arquivos

Page 3: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

33

Armazenamento da Informação Armazenamento da Informação a Longo Prazoa Longo Prazo

1. Deve ser possível armazenar uma quantidade muito grande de informação (mais que a capacidade da memória);

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 (informação que independe de processo);

Resultado => Arquivo

Analisemos de início do ponto de vista do usuárioPG 158

Page 4: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

44

Nomeação de Arquivos (1)Nomeação de Arquivos (1)Arquivo: mecanismo de abstração para associar informações

armazenadas. Permite isolar o usuário dos detalhes sobre como e onde está a informação e como discos funcionam. O modo como são gerenciados e nomeados varia em cada sistema.

Nomeação: Há regras para dar nomes,ex: maiusc/minusc. A extensão do arquivo indica algo sobre o arquivo.

O UNIX não impõe condições sobre extensão, embora alguns aplicativos exijam extensão específica (Ex: compilador C).

O Windows atribui significado a extensões e associa programa que tratará o arquivo com aquela extensão(parece friendly).

PG 159

Page 5: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

55

Nomeação de Arquivos (2)Nomeação de Arquivos (2)

Extensões típicas de arquivosUnix: Nomes servem mais para lembrar o usuário do

que fornecer informações para o SOPG 160

Page 6: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

66

Estrutura de ArquivosEstrutura de Arquivos

Três tipos de arquivos (possibilidades de estruturação)a)Seqüência de bytes (Unix e Windows – Não se importam com

o conteúdo, a apl que manipula)b)Seqüência de registros (antigamente: um registro 80 chars,

permitia cada cartão perfurado um registro)c)Árvore: registros com chaves (comps de grande porte) –

navegação: não buscar o próximo, mas o registro de chave x.

PG 160

Page 7: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

77

Tipos de Arquivos (1)Tipos de Arquivos (1)

Arquivos regulares: contém informação do usuário:

ASCII – constituídos de linha de texto – editados e impressos tal como são;

Binários – estrutura interna conhecida pelos programas que o usam. Todo SO deve ser capaz de reconhecer pelo menos um tipo de arquivo binário: o seu próprio executável.

Diretórios: arquivos do sistema - mantém a estrutura do sistema de arquivo

PG 161

Page 8: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

88

Tipos de Arquivos (2)Tipos de Arquivos (2)

(a) Um arquivo executável – binário do Unix (b) Um repositório (archive) – binário do Unix – coleção de procedimentos de

biblioteca, compilados, mas não ligados

Identifica arquivo como executável

Tamanho das partes

Endereço de onde deve iniciar

Carregados na memória

Usada para depuração

PG 162

Page 9: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

99

Acesso aos ArquivosAcesso 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 Para ler de qualquer posição:

mover marcador de arquivo (seek), e a partir daí ler sequencialmente

Hoje todos os arquivos são criados como de acesso aleatórioPG 162

Page 10: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1010

Atributos de ArquivosAtributos de ArquivosPossíveis atributos de arquivos: informações associadas ao

arquivo, manipuladas pelo SO

Controlam características específicas

Arquivos consultados com chave

Para proteção do arquivo

Vários fins, ex: compilação

PG 163

Page 11: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1111

Operações com ArquivosOperações com Arquivos

1.1. CreateCreate2.2. DeleteDelete3.3. OpenOpen4.4. CloseClose5.5. ReadRead6.6. WriteWrite

7.7. AppendAppend8.8. SeekSeek9.9. Get attributesGet attributes10.10.Set AttributesSet Attributes11.11.RenameRename

PG 164

Page 12: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1212

Exemplo de um Programa com Exemplo de um Programa com Chamadas de Sistema para ArquivosChamadas de Sistema para Arquivos

Programa ativado pela linha de comando:

$copyfile abc xyz

argv[0] argv[1] argv[2]

Obs: exit(num) – retorna num ao processo pai do que chamou.

PG 165

Page 13: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1313

DiretóriosDiretórios

Existem para controlar os arquivos e em muitos sistemas eles também são um arquivo.

Veremos a organização, propriedade e operações:

Diretório de um único nível Diretórios Hierárquicos Nomes de Caminhos Operações com diretórios

PG 166

Page 14: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1414

Sistemas de Diretório em Nível ÚnicoSistemas de Diretório em Nível Único

Um sistema de diretório de nível único (para tornar projeto de software simples )

contém 4 arquivos com 3 proprietários diferentes: A, B, e C (são mostrados os proprietários e não os nomes dos arquivos).

Desvantagem para sistemas multiusuários – nomes iguais. Pode empregar-se em sistemas embarcados simples

PG 166

Page 15: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1515

Sistemas de Diretórios Sistemas de Diretórios HierárquicosHierárquicos

Um sistema de diretório hierárquico: ferramenta poderosa de estruturação

Um mesmo usuário pode agrupar seus arquivos segundo uma lógica própria, criar número arbitrário de subdiretórios

PG 167

Page 16: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1616

Para especificar nome dos arquivos: Nome de caminho absoluto: iniciam na raíz e são únicos; Ex:

/usr/ast/caixapostal Nome de caminho relativo: junto com o conceito de diretório

de trabalho. Se o diretório de trabalho for /usr/ast, especificar apenas o nome do arquivo caixapostal é igual a especificar o caminho absoluto: /usr/ast/caixapostal.

A referência ´.´ significa diretório atual; A referência ´..´ significa diretório pai.

Obs: No Windows o separador é \. Para verificar caminhos default onde Windows busca arquivos: echo %PATH%

No shell bash do Linux é echo $PATH

Nomes de CaminhosNomes de Caminhos

PG 167

Page 17: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1717Uma árvore de diretórios UNIX

Nomes de CaminhosNomes de Caminhos

PG 168

Page 18: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1818

Operações com DiretóriosOperações com Diretórios

1. Create2. Delete3. Opendir – abre dir antes de ler arqs. que ele contém4. Closedir5. Readdir – retorna próxima entrada

6. Rename7. Link – ligação permite um arq aparecer em mais de

um diretório (para compartilhamento). Ex: ln /usr/jim/oldfile newlink ln: cria ligação entre oldfile e newlink (Hard Link).

8. Unlink

Exemplo Unix:

PG 168

Page 19: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

1919

Implementação do Sistema Implementação do Sistema de Arquivos de Arquivos

Um possível layout de sistema de arquivoInicialização: a BIOS -> lê e executa MBR (Master Boot Record)

-> Localiza Partição Ativa e lê seu primeiro bloco: Bloco de boot -> instruções para carregar SO da partição.

SuperBloco: Informações sobre a partição como: tipo de sistema de arquivo, núm de blocos no sist de arq e info administrativa

Gerenciamento do Espaço Livre: Mapa de bits ou lista de ponteiros

PG 169

Page 20: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2020

Esquema do Sistema de ArquivosEsquema do Sistema de Arquivos

Um possível layout de sistema de arquivo

i-nodes: Arranjo de estrutura de dados, um por arquivo, que diz tudo sobre o arquivo

Diretório Raíz: topo da árvore do sistema de arquivos.Arquivos e Diretórios: o restante do disco.

PG 169

Page 21: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2121

Implementação de Arquivos (1)Implementação de Arquivos (1)

Alocação contígua do espaço em disco para 7 arquivos.

Vantagem: simples de implementar – saber bloco inicial e quantos blocos ocupa - rápido acesso ao arquivo pois os blocos que o compõem estão em sequência.

Algum problema?

Quais blocos de disco estão relacionados a quais arquivos?

Esquema mais simples: alocação contígua – Exemplo:

PG 170

Page 22: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2222

Implementação de Arquivos (2)Implementação de Arquivos (2)

Estado do disco depois dos arquivos D e F terem sido removidos

Problema: com o tempo acontece a fragmentação do disco – mesmo havendo espaço um arquivo pode não caber sequencialmente numa lacuna. E arquivos que crescem depois de criados, quanto reservar? Bom para CD-ROM pois os tamanhos são conhecidos a priori e não se alterarão com o uso.

PG 170

Page 23: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2323

Implementação de Arquivos (3)Implementação de Arquivos (3)

Segundo Método: Armazenamento de um arquivo como uma lista encadeada de blocos de disco

Obs: O ponteiro também ocupa blocosAlgum problema?

PG 171

Page 24: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2424

Implementação de Arquivos (4)Implementação de Arquivos (4)O arquivo está separado fisicamente mas ligado.

Vantagem: Não há fragmentação; as lacunas podem ser aproveitadas como blocos livres. Informação sobre o arquivo é apenas apontador para o primeiro bloco.

Desvantagem: para ler bloco n, é preciso ler os n-1 anteriores, ruim para acesso aleatório.

Idéia: Colocar os ponteiros de cada bloco de disco em : Colocar os ponteiros de cada bloco de disco em uma tabela na memória.uma tabela na memória.

PG 171

Page 25: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2525

Implementação de Arquivos (5)Implementação de Arquivos (5)

Alocação por lista encadeada usando uma tabela de alocação de arquivos na

memória principal

FAT – File AllocationFAT – File AllocationTableTableUsado pelas primeiras versões do Windows (até XP)

Arquivo A usa os blocos 4,7,2,10,12 e arquivo B usa os blocos 6,3,11,14.

Ainda é necessário seguir a sequencia, porém está em memória.Algum problema?

PG 172

Page 26: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2626

Implementação de Arquivos (6)Implementação de Arquivos (6)Problema da FAT: tabela proporcional ao tamanho do disco, em memória o tempo todo

Se disco de 200GB, com blocos de 1KB,200 milhões de entradas. Cada entrada ocupando 3 bytes => tabela necessita 600MB

PG 172

Page 27: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2727

Implementação de Arquivos (7)Implementação de Arquivos (7)

Um exemplo de i-node

Alternativa => i-node. Associar a cada arquivo uma estrutura de dados que relaciona atributos e os endereços dos blocos do arquivo. Só está na memória quando o arquivo está aberto.

Se i-node ocupa nbytes, e é possívelabrir simultaneamentek arquivos, o gasto de memória será nk. (muito menor que a FAT)

Para Para arquivos arquivos muito muito grandes.grandes.

PG 172

Page 28: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2828

Implementação de Diretórios (1)Implementação de Diretórios (1)

(a) Um diretório simples (Windows) - entradas de tamanho fixo, contendo nome, atributos e indicação de onde os blocos estão no disco.

(b) Diretório no qual cada entrada se refere a um i-node (Unix)

Qual deve ser o tamanho reservado ao nome? 255 chars? fixo? A maioria dos nomes de arqs tem tamanho menor...

Diretório deve mapear nome dos arquivos e onde achá-los:

PG 173

Page 29: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

2929

Implementação de Diretórios (2)Implementação de Diretórios (2)

Duas formas de tratar nomes longos de arquivos em um diretórioDuas formas de tratar nomes longos de arquivos em um diretório(a) (a) Em linha. Quando deleta arquivo cria fragmentaçãoEm linha. Quando deleta arquivo cria fragmentação(b) (b) Em uma área temporária de alocação dinâmica Em uma área temporária de alocação dinâmica (heap). (heap). Resolve Resolve fragmentação, gerenciar a heapfragmentação, gerenciar a heap

Em ambos os casos a busca é linear. Usar hash para agilizar a buscaEm ambos os casos a busca é linear. Usar hash para agilizar a busca

PG 174

Page 30: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3030

Arquivos Compartilhados (1)Arquivos Compartilhados (1)

Sistema de arquivo contendo um arquivo (do User C) compartilhado (com User B)Com esta ligação, o Sistema de arquivo não é mais uma árvore, mas um grafo acíclico orientado.

PG 175

Page 31: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3131

Arquivos Compartilhados (2)Arquivos Compartilhados (2)Hard Link: Nomes diferentes para o mesmo arquivo (Aponta para

mesmo i-node que registra todas as mudanças). Ao remover um link o arquivo permanece enquanto houver um nomepara ele.

(a) Situação antes da ligação(b) Depois de a ligação ser criada(c) Depois de o proprietário original remover o arquivoC ainda paga a conta... Problema do hard linkPG 175

Page 32: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3232

Arquivos Compartilhados (3)Arquivos Compartilhados (3)

Links simbólicos permitem criar ligações para diretórios ou para arquivos em computadores remotos (NFS), o que não e possível com os hard links.

Soft Link: ln -s source_file myfile Tipo especial de arquivo que contém o nome do caminho para o outro arquivo original. Ao remover o original o link fica inutilizável.

Page 33: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3333

Sistema de Arquivos Virtuais (1)Sistema de Arquivos Virtuais (1)

Windows identifica diferentes sistemas de arquivos com letras: C: (NTFS), D: (FAT32), E: (CD_ROM) sem tentar unificar sistemas heterogêneos.

UNIX modernos tentam integrar os diferentes sistemas de arquivos em uma única estrutura, montando tudo sob a arvore de diretórios. (É possível ter uma partição com sistema ext2 na raíz, uma partição com ext3 em /usr, etc.)

VFS (Virtual File System) conceito usado nos sistemas Unix, integra diferentes sistemas de arquivo em uma estrutura ordenada.

PG 178

Page 34: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3434

Sistema de Arquivos VirtuaisSistema de Arquivos VirtuaisMotivação principal para VFS: suportar sistemas de arquivos remotos – NFS ( Network File System).

A parte comum aos sistemas é colocada na camada superior, a parte específica na camada inferior. Chamada POSIX é passada ao VFS que chama a função equivalente no FS específico.

Page 35: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

A maioria dos sistemas quebra o arquivo em blocos de tamanho fixo que não precisam ser adjacentes.

Qual o tamanho ideal do bloco? Se pequeno => muitos blocos para formar o arquivo:

demora na busca; Se grande => desperdício quando arquivo é pequeno.

Como dimensionar o tamanho do bloco?Uma boa escolha, requer informação sobre a distribuição do

tamanho do arquivo. Pesquisa feita em uma grande universidade (Univers.Vrije) e em um servidor Web comercial, levantou porcentual de arquivos menores do que um determinado tamanho (em bytes). 3535

Gerenciamento do Espaço em Disco Gerenciamento do Espaço em Disco

PG 180

Page 36: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3636

Tamanho do Bloco (1)Tamanho do Bloco (1)

Ex: Em 2005 na UV 59,13% dos arquivos tinham 4KB ou menos. Se o bloco for de 4KB, 60-70% dos arqs. caberiam em um só bloco.

PG 181

Page 37: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3737

Tamanho do Bloco (2)Tamanho do Bloco (2)

Considere um disco de 1MB por trilha, tempo de rotação de 8,33ms e tempo médio de busca de 5ms.

Tempo para ler um bloco de k bytes é a soma de: Posicionamento da cabeça de leitura: 5ms; Atraso rotacional: 4,165ms; Tempo de transferência: (k/1000000)*8,33ms.

Tempo para ler um bloco:5+4,165+(k/1000000)*8,33ms.

PG 181

Page 38: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3838

Tamanho do Bloco (3)Tamanho do Bloco (3)

Linha tracejada: qto maior o bloco, mais rápida a tx de transf. O Linha tracejada: qto maior o bloco, mais rápida a tx de transf. O tempo de posicionamento fica menos significativo.tempo de posicionamento fica menos significativo.

Linha contínua: Supondo que o tamanho médio dos arquivos é Linha contínua: Supondo que o tamanho médio dos arquivos é 4KB, blocos de tamanho 1KB, 2KB e 4KB não tem desperdício.4KB, blocos de tamanho 1KB, 2KB e 4KB não tem desperdício.

Qual uma boa escolha? Na intersecção, próximo de 64KB, Qual uma boa escolha? Na intersecção, próximo de 64KB, está ruim para os dois…está ruim para os dois…

PG 182

Page 39: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

3939

Tamanho do bloco (4)Tamanho do bloco (4)

Desempenho e ocupação estão em conflito

Historicamente, os sistemas de arquivos tem tamanhos na faixa de 1KB a 4KB, mas com os discos atuais, seria melhor aumentar para 64KB e aceitar o desperdício.

Estudos indicam que o uso de arquivos no Windows é mais complicado que no UNIX (realiza mais chamadas de sistema e operações). (Vogels, 1999):

“Quando digitamos alguns caracteres no editor de texto notepad, o salvamento dispara 26 chamadas de sistema….”

PG 182

Page 40: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4040

Monitoramento de Blocos Livres (1)Monitoramento de Blocos Livres (1)

a) Armazenamento da lista de livres usando lista encadeada: cada bloco contém quantos blocos livres couberem nele.

b) Um mapa de bits: disco com n blocos requer mapa com n bits.Quem gasta mais espaço?

É preciso monitorar os blocos livres do disco. Há 2 métodos:

1-bloco livre

0- bloco usado

PG 182

Page 41: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4141

Monitoramento de Blocos Livres (2)Monitoramento de Blocos Livres (2)

• Quantos endereços de blocos livres cabem em um bloco da lista encadeada?

Supondo: Bloco tamanho 1KBblocos são endereçados utilizando 32 bits

Um bloco contém 1KB=210 * 8 bits = 8192 bits, divididos em 32 bits => cabem 8192/32=256 endereços (reservar um end: ponteiro p/ prox)

• Quantos blocos contém um disco de 16GB?

Supondo que o bloco tenha 1KB de tamanho:

16GB = 24. 230.23 bits = 224 blocos1KB 210. 23

PG 183

Page 42: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4242

Monitoramento de Blocos Livres (3)Monitoramento de Blocos Livres (3)Espaço ocupado por cada caso:

•Lista encadeada:

Preciso endereçar 224 blocos. Em um bloco cabem 28 endereços. Assim, são necessários 216 blocos.

•Mapa de bits

São necessários 224 bits para controlar os 224 blocos. Se cada bloco tem 213 bits (1KB) , são necessários 211 blocos de espaço de controle.

O espaço ocupado pelo mapa independe da ocupação do disco. Se o disco estiver quase cheio, a lista ocupará menos espaço.

É preciso manter toda a lista de blocos livres na memória?PG 183

Page 43: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4343

Monitoramento de Blocos Livres (4)Monitoramento de Blocos Livres (4)

Manter em memória apenas um bloco de ponteiros para tomar blocos quando criar novo arquivo.

Ao liberar arquivo devolve-se blocos correspondentes á lista em memória.

Entradas sombreadas são ponteiros para blocos livres de disco.

PG 184

Page 44: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4444

Monitoramento de Blocos Livres (5)Monitoramento de Blocos Livres (5)

a) Um bloco em RAM quase cheio. Contém ponteiros para blocos livres de disco. Faltam 2 blocos para encher a lista.

b) Resultado da liberação de um arquivo de três blocos: se precisar de 3 novamente, volta a situação (a). Arquivos temporários de vida curta podem gerar muita E/S.

c) Estratégia alternativa para tratar blocos livres: repartir bloco de ponteiros mantendo na memória a lista sempre pela metade.

PG 184

Page 45: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4545

Cotas de DiscoCotas de DiscoÀ medida que o usuário utiliza recursos, O SO pode debitá-los de sua cota, atribuída pelo administrador do sistema.

Limite nunca excedido, erro quando atingido.

Contabiliza as vezes que usuário já foi advertido. Quando contador chega a zero, o usuário é bloqueado pelo sistema.

Limite possível de ser estendido, emite advertência quando atingido.

PG 184

Page 46: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

46464646

Confiabilidade do Sistema de ArquivosConfiabilidade do Sistema de Arquivos (1)(1)Porque ninguém faz backup? Não é comum haver desastres (hoje), mas é comum o usuário fazer bobagem (sempre), por isto o Windows tem lixeira.

É preciso se prevenir contra acidentes, realizando cópias de segurança. Cópias demoram… Por que copiar tudo?

Cópia incremental x Cópia total

Cópia física x Cópia lógica

• Cópia física copia sequencialmente os blocos, inclusive os blocos não usados e deve tratar os blocos com defeito. Simples e rápida porém dificulta restauração de arquivos individuais.• Cópia Lógica copia recursivamente arquivos e diretórios

PG 185

Page 47: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

47474747

Confiabilidade do Sistema de ArquivosConfiabilidade do Sistema de Arquivos (2)(2)Na cópia lógica é necessário copiar diretórios que não foram alterados, mas que estão no caminho de algum arquivo que foi alterado para poder restaurar adequadamente.

PG 186

Page 48: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4848

Algoritmo de cópia lógica mantém mapas de bits indexado por número de i-node.

Confiabilidade do Sistema de ArquivosConfiabilidade do Sistema de Arquivos (3)(3)

(a) Fase 1: Arqs modificados e todos os dirs. são marcados

(b) Fase 2: Árvore percorrida novamente desmarcando diretório que não tenha arquivos alterados sob ele.

(c) Fase 3: Varre i-nodes copia diretórios com os atributos

(d) Fase 4: Copia arquivos e atributos.PG 188

Page 49: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

4949

Muitos sistemas lêem blocos do arquivo, modificam e escrevem de volta. Se o sistema cair antes da escrita, pode haver inconsistência no sistema de arquivo. (Pior se o problema ocorrer na escrita de blocos de i-node, lista de livres, diretórios...). Para tratar inconsistência há utilitários:

Windows – scandiskUNIX – fsck. O Algoritmo mantém 2 contadores:

Cont1: Conta quantas vezes o bloco está presente em algum arquivo

Cont2: Conta quantas vezes o bloco está presente na lista de blocos livres.

Percorre todos os i-nodes: se bloco no arquivo, incrementa cont1

Percorre lista de livres: se bloco na lista, incrementa cont2.

Confiabilidade do Sistema de ArquivosConfiabilidade do Sistema de Arquivos (4)(4)

PG 189

Page 50: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5050

Estados do sistema de arquivos:a)a) Consistente;Consistente;b)b) Bloco 2 desaparecido; correção: coloque na lista de livres;Bloco 2 desaparecido; correção: coloque na lista de livres;c)c) bloco duplicado na llivres (4). Correção:reconstrói a llivresbloco duplicado na llivres (4). Correção:reconstrói a llivresd)d) bloco duplicado na lista em uso (5). Aloca bloco livre, copia bloco duplicado na lista em uso (5). Aloca bloco livre, copia

conteúdo do bloco, inseri a cópia em um dos arquivos, reporta erro. conteúdo do bloco, inseri a cópia em um dos arquivos, reporta erro. (Arquivo deve ter erro, mas estrutura do sistema de arquivo é (Arquivo deve ter erro, mas estrutura do sistema de arquivo é consertada).consertada).

Confiabilidade do Sistema de ArquivosConfiabilidade do Sistema de Arquivos (5)(5)

Cont1Cont2

PG 189

Page 51: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5151

E o estado dos diretórios? Usar uma tabela de contadores por arquivos e não

blocos.

Inspecionar cada diretório: Para cada arquivo no diretório incrementar um contador de uso do arquivo. Por causa dos hard links o arquivo pode aparecer em dois ou mais diretórios.

Comparar a contagem de quantos diretórios tem cada arquivo com a indicação de ligações existentes no atributo do arquivo. Se contagem bate, sistema consistente. Que ação tomar se não bate? (Analise 2 casos: contador maior ou menor que o atributo). Quando considerar número real de entradas de diretório?

Confiabilidade do Sistema de ArquivosConfiabilidade do Sistema de Arquivos (6)(6)

PG 189

Page 52: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5252

Desempenho do Sistema de Arquivos (1)Desempenho do Sistema de Arquivos (1)Técnicas de Otimização são necessárias para acesso ao

disco. 1. Cache: blocos do disco são mantidos em memória –

requisições de blocos são primeiramente verificadas na cache.

Como ser eficiente nesta pesquisa? Com end. do bloco calcula-se hash (pode dar colisão, encadeia-se os blocos que colidirem).

Se cache cheia, alocar novo bloco: alguém deve sair. Lembra-se da situação da paginação? Que tal LRU?

Felizmente as referências à cache de blocos são bem mais raras que as referências à páginas... Pode-se usar lista ligada quando se faz o acesso.

PG 190

Page 53: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5353

Desempenho do Sistema de Arquivos (2)Desempenho do Sistema de Arquivos (2)

As estruturas de dados da cache de buffer

O cálculo de hash permite localizar imediatamente o bloco. Quando há colisão as setas adicionais ligam os blocos com o mesmo hash. A lista bidirecional liga os blocos na ordem de uso. Bloco referenciado vai para o final da lista.

Mais antigo Ordem de uso Ultimo referenciado

PG 190

Page 54: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5454

Desempenho do Sistema de Arquivos (3)Desempenho do Sistema de Arquivos (3)

LRU modificado (devido a consistência): no LRU, o último referenciado vai para o final. Aqui, blocos críticos (como um bloco i-node) trazidos e modificados devem ser escritos imediatamente no disco, portanto devem se manter no início da lista

Mais antigo Ordem de uso Ultimo referenciado

PG 190

Page 55: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5555

Desempenho do Sistema de Arquivos (5)Desempenho do Sistema de Arquivos (5)

Técnicas de Otimização são necessárias para acesso ao disco.

2. Leitura antecipada de blocos: tentar transferir os blocos para a cache antes que eles sejam necessários.

Compensador para leituras sequenciais. Monitorar padrão de acesso para verificar se vale a pena a leitura antecipada: Supõe inicialmente acesso sequencial (bit seq=1), se for feito acesso não sequencial, muda suposição (seq=0). Se recomeçar leitura sequencial, volta suposição inicial (seq=1).

Page 56: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5656

Desempenho do Sistema de Arquivos (4)Desempenho do Sistema de Arquivos (4)Técnicas de Otimização são necessárias para acesso ao

disco.

3. Reduzir quantidade de movimentos do braço do disco: Colocar os blocos sujeitos a mais acessos em sequência,

próximos uns dos outros. Na criação do arquivo procurar alocar blocos próximos, de preferência no mesmo cilindro (mais fácil fazer isto com mapa de bits que lista encadeada).

Outro problema: Ler o i-node e ler o bloco - duas operações de leitura; em arquivos pequenos desponta como gargalo (2 operações para um acesso).

Buscar posicionamento médio entre i-node e primeiro bloco do arquivo.

Page 57: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5757

a) i-nodes colocados no início do disco: distância média entre i-node e primeiro bloco é metade do número de cilindros, exigindo posicionamentos distantes.

b) Idéia: Dividir disco em grupos de cilindros, cada qual com seus próprios blocos e i-nodes. Tentar alocar no mesmo grupo para ficar próximo. Senão alocar em grupo vizinho.

Desempenho do Sistema de Arquivos (5)Desempenho do Sistema de Arquivos (5)

Page 58: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5858

Exemplos de Sistemas de ArquivosExemplos de Sistemas de ArquivosSistemas de Arquivos para CD-ROM (1)Sistemas de Arquivos para CD-ROM (1)No CD-ROM há uma espiral contínua com os bits divididos em blocos lógicos (um bloco 2352 bytes). No início do disco há várias informações, inclusive onde está o diretório raíz. Padrão ISO 9660 na Figura. Os diretórios têm um número váriavel de entradas, e o tamanho das entradas variável.

Localização do ArquivoLocalização do Arquivo:: em que bloco começa o arquivo (gravados em blocos contíguos).Data e Horário:Data e Horário: em que o arquivo foi gravadoFlags:Flags: Ex. Indica se arquivo ou diretório, se arquivo oculto, etc

Page 59: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

5959

Exemplos de Sistemas de ArquivosExemplos de Sistemas de ArquivosSistemas de Arquivos para CD-ROM (2)Sistemas de Arquivos para CD-ROM (2)

CD #CD #:: em que CD está o arquivo (pode ser outro do conjunto). Diretório-mestre está no primeiro CD.

L:L: tamanho do nome do arquivo em bytes.

Nome:Nome: Padrão do MS-DOS.(8 chars, extensão, versão)

PreenchimentoPreenchimento:: para forçar que a entrada tenha número par de bytes (Um byte 0 se necessário).

Uso do sistemaUso do sistema:: uso indefinido – 2 bytes.

Page 60: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6060

Exemplos de Sistemas de ArquivosExemplos de Sistemas de ArquivosSistemas de Arquivos para CD-ROM (3)Sistemas de Arquivos para CD-ROM (3)

ISO 9660 é muito restritivo em relação ao tamanho dos nomes e alocação de arquivos contígua. Outras extensões aproveitam o campo Uso do Sistema, para retirar algumas restrições:

Extensões Rock Ridge – para representar sistemas de arquivo UNIX em CD-ROM (ex: define bits de proteção rwx).

Extensões Joliet - para representar sistemas de arquivo Windows em CD-ROM (ex: nomes longos).

Page 61: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6161

O Sistema de Arquivos MS-DOS (1)O Sistema de Arquivos MS-DOS (1)

A entrada de diretório do MS-DOS

Tempo, Data: Da criação do arquivo

Número do primeiro bloco: índice da tabela de alocação de arquivo na memória - FAT

Tamanho: Tamanho do arquivo – Arquivos de até 4GB

Page 62: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6262

O Sistema de Arquivos MS-DOS (2)O Sistema de Arquivos MS-DOS (2)Dependendo do número de bits que ocupa um endereço de disco há as versões: FAT-12, FAT-16, FAT-32. Discos crescem, precisam mais bits para endereçar arquivos. Windows 95 trouxe FAT32 que só usa 28 bits para endereço... (Devia chamar FAT28)

Seria: 228*215=243 = 8TB, mas

internamente o sistema usa blocos de 512 Bytes (29) com os

endereços de 32 bits=> 232*29=2TB

216*211=227 = 128MB

Page 63: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6363

O Sistema de ArquivosO Sistema de Arquivos do Windows 98 (1) do Windows 98 (1)

A entrada de diretório estendida do MS-DOS no Windows 98 (FAT-32 projetada para ser compatível com sistemas anteriores)

Os 10 bytes reservados do MS-DOS

Segundos: para precisão adicional no horário de criação

Último acesso: data (não hora) do último acesso ao arquivo

Como lidar com nomes longos se permanece a estrutura do MS-DOS com 8 caracteres para nome?

Page 64: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6464

O Sistema de ArquivosO Sistema de Arquivos do Windows 98 (2) do Windows 98 (2)

Atribui-se 2 nomes para cada arquivo: um curto (compatível com MS-DOS), um longo (compatível com NT). Há um algoritmo para gerar o nome curto correspondente ao longo: toma 6 caracteres, converte para maiúsculo, anexa ~1; se este nome já existe anexa ~2 e assim por diante.

Se arquivo tem nome longo, uma (ou mais) entrada(s) de diretório é (são) armazenada(s) precedendo o nome de arquivo MS-DOS. Esta entrada tem o valor 0x0F no campo atributos que diferencia os dois casos (este valor é uma combinação de atributos impossível – entrada desprezada pelo MS-DOS)

Page 65: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6565

Uma entrada para (parte de) um nome longo de arquivo no Windows 98

O Sistema de Arquivos O Sistema de Arquivos do Windows 98 (3)do Windows 98 (3)

Sequência:Sequência: Para numerar as sequências de pedaços do nome do arquivo. Utiliza-se apenas 6 bits dos 8.

Cada entrada armazena até 13 caracteres Unicode.

Unicode – 2 bytes, muito mais abrangente que ASCII

Page 66: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6666

Um exemplo de como um nome longo é armazenado no Windows 98

O Sistema de ArquivosO Sistema de Arquivos do Windows 98 (4) do Windows 98 (4)

Nome do arquivo exemplificado:The quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dog (43 chars).

DOS considera válida a entrada com nome THEQUI~1. As entradas Windows são ignoradas devido ao atributo (0x0F).

Page 67: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6767

O Sistema de ArquivosO Sistema de Arquivos do Windows 98 (5) do Windows 98 (5)

A última parte do nome do arquivo (primeira entrada da figura) tem o número de sequência de 6 bits somado a 64 indicando ser a última parte.

Suponha a situação: Windows cria arquivo de nome longo, reiniciando no DOS remove-se o arquivo, usando nome DOS. Cria-se outro arquivo naquela entrada. Novamente no Windows, como ele saberá que a entrada de nome longo deve ser removida? Utilizar o CK – checksum para conferir.

Page 68: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6868

O Sistema de Arquivos O Sistema de Arquivos do UNIX V7 (1)do UNIX V7 (1)

Cada arquivo tem seu i-node (vide slide 27)

É possível ter 216 diferentes i-node, portanto 64K arquivos

Uma entrada de diretório do UNIX V7 (versão inicial do UNIX que ganhou larga distribuição)

Page 69: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

6969

Para tratar arquivos muito grandes ha’ uma generalizacao do slide 27: os primeiros 10 enderecos apontam para blocos de dados. Se necessario ha blocos que apontam para blocos indiretos que

apontam para outros blocos

O Sistema de Arquivos O Sistema de Arquivos do UNIX V7 (2)do UNIX V7 (2)

Page 70: 1 Sistemas de Arquivos Capítulo 4 Objetivo Compreender como são gerenciados pelo Sistema Operacional os arquivos: o modo como são estruturados, nomeados,

7070

Localizar diretório raíz (i-node do raíz fica em local fixo) Lê diretório raíz, buscando usr e assim sucessivamente

O Sistema de Arquivos O Sistema de Arquivos do UNIX V7 (3)do UNIX V7 (3)

Número de i-node

Número do bloco