sistema de arquivoshostel.ufabc.edu.br/~marcelo.nascimento/bc1518/aulas... · 2010-07-28 ·...

32
Sistemas Operacionais 1 BC 1518 - Sistemas Operacionais Sistema de Arquivos Sistema de Arquivos (aula 10 (aula 10 Parte Parte 2) 2) Prof. Marcelo Z. do Nascimento Prof. Marcelo Z. do Nascimento

Upload: dodung

Post on 27-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 2: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 3: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 4: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 5: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 6: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 7: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 8: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

Sistemas Operacionais

8

Bitmap100110110110

011011011111

101011011011

011011011011

111011101110

110111110111

��

Blocos livres = 0Blocos ocupados = 1ou vice-versa;

Gerenciamento de espaço em disco

Page 9: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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;

Page 10: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 11: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 12: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 13: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 14: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 15: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

Sistemas Operacionais

15

Mapas de bits usados pelo algoritmo de cópia lógica

Cópia de segurança do sistema de arquivo

Page 16: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 17: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 18: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 19: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 20: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 21: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 22: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 23: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 24: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 25: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 26: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 27: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 28: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 29: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 30: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 31: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

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

Page 32: Sistema de Arquivoshostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas... · 2010-07-28 · Sistema de Arquivos (aula 10 –Parte 2) ... Gerenciamento de espaço ... ufabc_SO_Aula12_Gerenciamento

Sistemas Operacionais

32

Acesse o link abaixo:

http://hostel.ufabc.edu.br/~marcelo.nascimento/

Obrigado!!!

Notas de Aula