sistema de arquivoshostel.ufabc.edu.br/~marcelo.nascimento/bc1518/aulas... · 2010-07-28 ·...
TRANSCRIPT
Sistemas Operacionais
1
BC 1518 - Sistemas Operacionais
Sistema de ArquivosSistema de Arquivos(aula 10 (aula 10 –– ParteParte 2)2)
Prof. Marcelo Z. do NascimentoProf. Marcelo Z. do Nascimento
Sistemas Operacionais
2
Roteiro
• Gerência de espaço em disco
• Cópia de segurança do sistema de arquivo
• Confiabilidade
• Desempenho do SA
• Leituras Sugeridas
Sistemas Operacionais
3
Gerenciamento de espaço em disco
• O SO pode utilizar uma das duas estratégias possíveis para armazenar um arquivo de n bytes:
– São alocados ao arquivo n bytes consecutivos do espaço disponível em disco;
– Arquivo é espalhado por um número de blocos não necessariamente contíguos � blocos com tamanho fixo;• A maioria dos sistemas de arquivos utilizam essa estratégia;
.Algo próximo ao que ocorre na memória.
ARQUIVO CRESCE
Sistemas Operacionais
4
Tamanho do bloco
• Qual é o tamanho ideal para um bloco?– Se for muito grande, ocorre desperdício de espaço;
– Se for muito pequeno, um arquivo irá ocupar muitos blocos, tornando o acesso/busca lento;
• O tamanho do bloco tem uma grande influência na eficiência de utilização e de acesso ao disco(desempenho).
• Exemplos:
• UNIX -> 1kB;
• MS-DOS -> 512 bytes a 32 kB;
– Tamanho do bloco depende do tamanho do disco;
Gerenciamento de espaço em disco
Sistemas Operacionais
5
Monitoramento dos blocos livres
• Contém a localização dos blocos livres;
• Lista encadeada de blocos;
• Última entrada da lista armazena um ponteiro nulopara indicar que náo há mais lista de blocos livres;
• Vantagens: • (a)Requer menos espaço se existem poucos blocos livres (disco quase cheio);
• (b)armazena apenas um bloco de ponteiros na memória;
• Desvantagem:• Precisa de mais espaço se houver um grande conjunto de blocos livres (disco quase vazio);
Gerenciamento de espaço em disco
Sistemas Operacionais
6
Monitoramento dos blocos livres
• Exemplo:
42
136
41
48
310
230
162
214
160
216
516
� �
NULL
��
Lista
Exemplo: Disco 16 Gb – lista de 16.794 blocos
Gerenciamento de espaço em disco
Sistemas Operacionais
7
–Mapa de bits:
•contém um bit para cada bloco do sistema de
arquivos;
•Cada bloco pode armazenar número de 32 bits;
•Vantagem:
• o sistema de arquivo pode determinar rapidamente se
há blocos contíguos disponíveis em certa localização;
•Desvantagem:
• Terá que pesquisar o mapa de bits inteiro para
encontrar um bloco livre, resultando em sobrecarga de
execução;
Gerenciamento de espaço em disco
Sistemas Operacionais
8
Bitmap100110110110
011011011111
101011011011
011011011011
111011101110
110111110111
��
Blocos livres = 0Blocos ocupados = 1ou vice-versa;
Gerenciamento de espaço em disco
Sistemas Operacionais
9
Cópia de segurança do sistema de arquivo
•Danos causados ao sistema de arquivos podem
ser desastrosos;
•Para um sistema de arquivos de um computador
que estiver irrecuperavelmente perido, seja por
causa de hardware ou software, a restauração
da informação será muito difícil;• Restaurar informações pode, e geralmente é, custoso,
difícil e, em muitos casos, impossível;
•Sistemas de arquivos são projetados para
proteger as informações de danos lógicos e não
físicos;
Sistemas Operacionais
10
• Backups – Cópias de segurança
– Cópia de um arquivo ou conjunto de arquivos
mantidos por questão de segurança;
• Mídia: normalmente fitas magnéticas;
– Razões :
• Recuperar de desastres: problemas físicos com disco;
• Recuperar de “estupidez”: usuários que
acidentalmente apagam seus arquivos;
– Alguns SOs criam um diretório conhecido como
Lixeira (diretório especial – recycle bin): arquivos
apagados são armazenados nesse diretório;
Cópia de segurança do sistema de arquivo
Sistemas Operacionais
11
• Estratégias utilizadas para backup:– Física: a cópia se inicia no bloco 0 e termina somente no último bloco (independentemente se existem ou não arquivos nesses blocos);
• Desvantagens:
– Copia blocos ainda não utilizados;
– Possibilidade de copiar blocos com defeitos;
– Difícil restaurar um determinado diretório;
• Vantagens:
– Simples;
• Deve-se fazer cópias de segurança de todo o sistema de arquivo ou parte dele?– Fazer cópia apenas de diretórios específicos e de tudo que está neles;
Cópia de segurança do sistema de arquivo
Sistemas Operacionais
12
– Lógica: inicia-se em um diretório específico e recursivamente copia seus arquivos e diretórios;
– A idéia é copiar somente os arquivos (diretórios) que foram modificados;• Cópias incrementais;
– Cópia completa (semanal ou mensal) e fazer uma cópia diária somente dos arquivos modificados desde a última cópia completa.
• Vantagem:
– Facilita a recuperação de arquivos ou diretórios específicos;
• Forma mais comum de backup;
Cópia de segurança do sistema de arquivo
Sistemas Operacionais
13
• Um sistema de arquivos a ser copiado (Ex. UNIX)– Os quadrados são diretórios e os círculos são arquivos– Os itens sombreados foram modificados desde a últimacópia
– Cada diretório e arquivo rotulado por seu número de i-node
Cópia de segurança do sistema de arquivo
Sistemas Operacionais
14
1 fase – arquivos e diretórios modificados foram marcados;
2 fase - desmarca qualquer diretório que não tenha arquivos ou diretórios modificados dentro deles;
3 fase – varrer os i-nodes e copiar todos os diretórios que estiverem marcados para cópia;
4 fase – arquivos marcados são copiados;
Cópia de segurança do sistema de arquivo
Sistemas Operacionais
15
Mapas de bits usados pelo algoritmo de cópia lógica
Cópia de segurança do sistema de arquivo
Sistemas Operacionais
16
• Se o sistema cair antes que todos os blocos
alterados tenham sido escritos, o sistema de
arquivo pode ficar no estado inconsistente.
• Os SOs possuem diferentes programas utilitários
para lidar com inconsistências:
– UNIX: fsck;
– Windows: scandisk;
• Técnicas que buscam utilizar a redundância interente
do sistema de arquivos
Inconsistência de dados
Confiabilidade
Sistemas Operacionais
17
• FSCK (file system checker) baseado em blocos:
– O programa constrói 2 tabelas;
• cada qual com um contador (inicialmente com valor 0) para cada bloco;
– Os contadores da 1 tabela registram quantas vezes cada bloco está presente em um arquivo;
– os contadores da 2 tabela registram quantas vezes cada bloco está presente na lista de blocos livres;
Confiabilidade
Sistemas Operacionais
18
• FSCK (file system checker) baseado em blocos:
– Lendo o i-node, o programa constrói uma lista com todos os blocos utilizados por um arquivo (incrementa contadores da 1ª tabela);
– Lendo a lista de bloco livres, o programa verifica quais blocos não estão sendo utilizado (incrementa contadores da 2ª tabela);
Confiabilidade
Sistemas Operacionais
19
a) 1 1 0 1 010 11 1 1 1 10 0 0
0 0 1 0 101 00 0 0 0 01 1 1
Blocos em uso
Blocos livres
0 15
Se problemas acontecerem, podemos ter as seguintes situações:
Defeito: Bloco perdido (missing block)Solução: colocá-lo na lista de livres
b) 1 1 0 1 010 11 1 1 1 10 0 0
0 0 0 0 101 00 0 0 0 01 1 1
Blocos em uso
Blocos livres
0 152
Exemplo: 1º Caso
OCUPA ESPAÇO
Confiabilidade
Sistemas Operacionais
20
a) 1 1 0 1 010 11 1 1 1 10 0 0
0 0 1 0 101 00 0 0 0 01 1 1
Blocos em uso
Blocos livres
0 15
Se problemas acontecerem, podemos ter as seguintes situações:
Bloco duplicado na lista de livresSolução: reconstruir a lista
b) 1 1 0 1 010 11 1 1 1 10 0 0
0 0 1 0 102 00 0 0 0 01 1 1
Blocos em uso
Blocos livres
0 154
Exemplo: 2º Caso
Confiabilidade
Sistemas Operacionais
21
a) 1 1 0 1 010 11 1 1 1 10 0 0
0 0 1 0 101 00 0 0 0 01 1 1
Blocos em uso
Blocos livres
0 15
Se problemas acontecerem, podemos ter as seguintes situações:
Bloco duplicado na lista de “em uso” (dois arquivos)Problemas: - Se um arquivo for removido, o bloco vai estar nas duas listas;- Se ambos forem removidos, o bloco vai estar na lista de livres duas vezes;Solução: alocar um bloco livre, copiar para esse bloco o conteúdo do bloco 5, e inserir cópia em um dos dois arquivos;
b) 1 1 0 1 020 11 1 1 1 10 0 0
0 0 1 0 101 00 0 0 0 01 1 1
Blocos em uso
Blocos livres
0 155
3ºCaso
Mesmo bloco de dados em 2 arquivos
Confiabilidade
Sistemas Operacionais
22
• Ler uma palavra na memória pode levar uns 10 ns, a leitura em um disco rígido pode chegar a 10 MB/s, que é 40 vezes mais lento;
• Problemas de desempenho no acesso a disco:
– Movimentação do disco;
– Movimentação do braço;
• Técnicas para otimizar o acesso:
• Caching;
• Leitura prévia de blocos;
• Reduzir a quantidade de movimentos do braço do disco;
Desempenho do SA
Sistemas Operacionais
23
• Técnica mais utilizada para acesso ao disco:• Cache de bloco ou buffer cache;
– Cache: um conjunto de blocos que pertencem logicamente ao disco, mas são colocados na memória para melhorar o desempenho do sistema (reduzir acesso em disco);
• Quando um bloco é requisitado, o sistema verifica se o bloco não está no cache:
–se estiver => o acesso é realizado sem necessidade de ir até o disco;
–caso contrário =>o bloco é copiado do disco
Desempenho do SA
Sistemas Operacionais
24
• Para se carregar um novo bloco no cache =>
poderá ser necessário remover um dos blocos,
reescrevendo-o no disco caso tenha sido
modificado;
– Necessidade de troca de blocos (semelhante à troca de
páginas);
– Algoritmos empregados em memória paginada podem ser
utilizados;
– O algoritmo mais utilizado é o LRU (least recently used);
– Algumas SO integram a cache de buffer e a cache de
páginas da memória.
Desempenho do SA
Sistemas Operacionais
25
• Importante: Não convém manter blocos de dados no cache por um longo tempo antes de escrevê-los de volta ao disco (modificado);
• SO realizam update dos blocos modificados para o disco de tempos em tempos;– UNIX � a cada 30 segundos;– MS-DOS � copia o bloco para o disco assim que ocorra uma modificação (cache write-through)
Desempenho do SA
Sistemas Operacionais
26
• Leitura prévia do bloco: transferir os blocos para a cache antes de serem requisitados para aumentar a taxa de acertos;
– Essa estratégia só funciona quando os arquivos que estejam sendo lidos seqüencialmente;
– Arquivos aleatórios piora a situação, poiscarrega blocos não usados e remove blocospotencialmente úteis da cache;
Desempenho do SA
Sistemas Operacionais
27
• Redução do movimento do braço do disco:• técnica que coloca os blocos que são mais prováveis de serem acessados próximos uns dos outros em seqüência (mesmo cilindro do disco);
• O gerenciamento do disco é feito por grupos de blocos consecutivos e não somente por blocos;
Desempenho do SA
Sistemas Operacionais
28
• Para sistemas que utilizam os i-nodes, são necessários dois acessos: uma para o bloco e outro para o i-node;
• Três estratégias podem ser utilizadas para armazenamento dos i-nodes:
– Os i-nodes são colocados no início do disco;– Os i-nodes são colocados no meio do disco;– Dividir o disco em grupos de cilindros, nos quais cada cilindro tem seus próprios i-nodes, blocos e lista de blocos livres (bitmap);
Desempenho do SA
Sistemas Operacionais
29
1. I-nodes colocados no início do disco2. Disco dividido em grupos de cilindros cada qual com
seus próprios blocos e i-nodes
Desempenho do SA
Sistemas Operacionais
30
Sumário
• Gerência de espaço em disco:
– Monitoramento de blocos livres
– Mapa de bits
• Cópia de segurança do sistema de arquivo:
– Backup físico e lógico
• Confiabilidade:
– Scandisk
• Desempenho do SA
Sistemas Operacionais
31
• Silberschatz, A., Galvin, P. B. Gagne, G. Sistemas Operacionais com Java. 7º edição. Editora Campus, 2008 .
• TANENBAUM, A. Sistemas Operacionais Modernos. Rio de Janeiro: Pearson, 3 ed. 2010
Leituras Sugeridas
Sistemas Operacionais
32
Acesse o link abaixo:
http://hostel.ufabc.edu.br/~marcelo.nascimento/
Obrigado!!!
Notas de Aula