Você está na página 1de 24

QXD0013 - Sistemas Operacionais

Sistemas de Arquivos III

Thiago Werlley Bandeira da Silva1

1 Universidade Federal do Ceará, Brazil

21 de junho de 2023
Cópias de Segurança

• Incapacidade de proteção fı́sica


• Possibilidade de proteção da informação
◦ Backups
• Pessoas
◦ Pouca importância
◦ Armazenamento em núvem vem mudando cenário
• Empresas
◦ Valor dos dados
◦ Backups diários
◦ Menor custo → Fitas magnéticas

2 of 14
Cópias de Segurança
• Fase 1:
◦ Todos diretórios são marcados
◦ Arquivos modificados são marcados

3 of 14
Cópias de Segurança
• Fase 1:
◦ Todos diretórios são marcados
◦ Arquivos modificados são marcados

3 of 14
Cópias de Segurança
• Fase 1:
◦ Todos diretórios são marcados
◦ Arquivos modificados são marcados

3 of 14
Cópias de Segurança
• Fase 2:
◦ Desmarca diretórios sem conteúdo modificado
◦ Diretórios 10 , 11, 14, 27, 29, 30 são desmarcados

4 of 14
Cópias de Segurança
• Fase 2:
◦ Desmarca diretórios sem conteúdo modificado
◦ Diretórios 10 , 11, 14, 27, 29, 30 são desmarcados

4 of 14
Cópias de Segurança
• Fase 3:
◦ Varrer i-nodes e copiar diretórios
◦ Prefixação por atributos

5 of 14
Cópias de Segurança
• Fase 3:
◦ Varrer i-nodes e copiar diretórios
◦ Prefixação por atributos

5 of 14
Cópias de Segurança
• Fase 4:
◦ Varrer i-nodes e copiar arquivos
◦ Prefixados por atributos

6 of 14
Cópias de Segurança
• Fase 4:
◦ Varrer i-nodes e copiar arquivos
◦ Prefixados por atributos

6 of 14
Consistência
• Cada bloco com 1 em uma das duas tabelas → Consistente
• Após uma queda
◦ Bloco desaparecido
• Incluir na fila de blocos livres
◦ Duplicação na lista de livres
• Reconstrução da lista
◦ Mesmo bloco em dois ou mais arquivos
• Alocar bloco livre → Copiar conteúdo
• Reportar erro

7 of 14
Consistência
• Cada bloco com 1 em uma das duas tabelas → Consistente
• Após uma queda
◦ Bloco desaparecido
• Incluir na fila de blocos livres
◦ Duplicação na lista de livres
• Reconstrução da lista
◦ Mesmo bloco em dois ou mais arquivos
• Alocar bloco livre → Copiar conteúdo
• Reportar erro

7 of 14
Consistência
• Cada bloco com 1 em uma das duas tabelas → Consistente
• Após uma queda
◦ Bloco desaparecido
• Incluir na fila de blocos livres
◦ Duplicação na lista de livres
• Reconstrução da lista
◦ Mesmo bloco em dois ou mais arquivos
• Alocar bloco livre → Copiar conteúdo
• Reportar erro

7 of 14
Consistência
• Cada bloco com 1 em uma das duas tabelas → Consistente
• Após uma queda
◦ Bloco desaparecido
• Incluir na fila de blocos livres
◦ Duplicação na lista de livres
• Reconstrução da lista
◦ Mesmo bloco em dois ou mais arquivos
• Alocar bloco livre → Copiar conteúdo
• Reportar erro

7 of 14
Desempenho
• Acesso a disco muito mais lento que à memória
• Técnicas de otimização para melhorar desempenho
• Cache de blocos (caching )
◦ Redução de acesso ao disco
◦ Cache → Blocos que pertencem ao disco mantidos na memória
◦ Antes da leitura, verificação se bloco está na cache
◦ Cache cheia → Algoritmos de substituição de blocos
◦ Similar à paginação mas com frequência de acesso menor (LRU, etc.)
◦ Mapeamento do cache → Tabela de espalhamento (hash table)
◦ Todos os blocos mantidos em listas encadeadas bidirecionais

8 of 14
Desempenho
• Acesso a disco muito mais lento que à memória
• Técnicas de otimização para melhorar desempenho
• Cache de blocos (caching )
◦ Redução de acesso ao disco
◦ Cache → Blocos que pertencem ao disco mantidos na memória
◦ Antes da leitura, verificação se bloco está na cache
◦ Cache cheia → Algoritmos de substituição de blocos
◦ Similar à paginação mas com frequência de acesso menor (LRU, etc.)
◦ Mapeamento do cache → Tabela de espalhamento (hash table)
◦ Todos os blocos mantidos em listas encadeadas bidirecionais

8 of 14
Desempenho
• Acesso a disco muito mais lento que à memória
• Técnicas de otimização para melhorar desempenho
• Cache de blocos (caching )
◦ Redução de acesso ao disco
◦ Cache → Blocos que pertencem ao disco mantidos na memória
◦ Antes da leitura, verificação se bloco está na cache
◦ Cache cheia → Algoritmos de substituição de blocos
◦ Similar à paginação mas com frequência de acesso menor (LRU, etc.)
◦ Mapeamento do cache → Tabela de espalhamento (hash table)
◦ Todos os blocos mantidos em listas encadeadas bidirecionais

8 of 14
Desempenho - Caching

• Blocos crı́ticos na cache modificados


• Queda no sistema antes da atualização do disco → Inconsistência
• Blocos de i-nodes raramente referenciados duas vezes
• LRU modificado com duas verificações:
◦ Provável que o bloco seja novamente necessário?
◦ O bloco é essencial para a consistência do sistema de arquivos?
• Blocos não imediatamente necessários vão para o inı́cio da fila
• Blocos crı́tico para consistência são escritos imediatamente no
disco
• Blocos de dados no cache também precisam de proteção

9 of 14
Desempenho - Caching

• UNIX
◦ Chamada de sistema sync
◦ Obriga escrita em disco de todos os blocos modificados
◦ Chamadas periódicas a cada 30 segundos
• Windows
◦ Chamada de sistema FlushFileBuffers
◦ Anteriormente (MS-DOS)
• Cache de escrita direta (write-through caches)
• Indicado para uso em discos flexı́veis

• Alguns SO integram paginação e cache

10 of 14
Desempenho - Leitura Antecipada

• Transferir blocos para cache antes do acesso


• Apropriado para arquivos com leitura sequencial
• Funcionamento básico:
◦ Solicitação de acesso a determinado bloco k
◦ Após leitura, verifica-se se bloco k+1 está na cache
◦ Caso negativo, leitura do bloco k+1 é agendada
• Arquivos de acesso aletório → Piora no desempenho
• Monitoramento de padrão de acesso
◦ Bit associado a cada arquivo (sequencial/aleatório)
◦ Inicialmente definido como sequencial (1)
◦ Sempre que houver leitura aleatória (→ 0)
◦ Leitura passar a ser sequencial (→ 1)

11 of 14
Desempenho - Redução de Movimentos

• Braço do disco → Sistema mecânico


• Movimentação do braço → Gargalo temporal
• Redução dos movimentos → Melhora no desempenho
◦ Aproximação de blocos lidos em sequência
• Alocação de blocos durante criação de arquivo
• Monitorar armazenamento em grupos de blocos consecutivos
• Sistemas com i-nodes → Dois acessos
• Posição dos i-nodes afeta desempenho

12 of 14
Desempenho - Redução de Movimentos

13 of 14
Desfragmentação de disco

• Inicialmente todos os programas e arquivos na sequência


• Espaço livre em uma área contı́nua
• Após várias criações e remoções → Espaços vazios espalhados
• Novo arquivo → Acesso com baixo desempenho
• Tornar arquivos contı́nguos → Desfragmentação
• Alguns arquivos especiais já alocados em áreas contı́nguas
◦ Log de journaling

14 of 14

Você também pode gostar