Post on 09-Nov-2018
Sis
tem
as O
per
acio
nai
s
BC 1518 - Sistemas Operacionais
1
Sistema de ArquivosSistema de Arquivos(aula 10 (aula 10 –– Parte 2)Parte 2)
Prof. Marcelo Z. do NascimentoProf. Marcelo Z. do Nascimento
Sis
tem
as O
per
acio
nai
s Roteiro
• Estrutura do Sistema de Arquivo
• Gerência de espaço em disco
• Cópia de segurança do sistema de arquivo
2
• Confiabilidade
• Desempenho do SA
• Leituras Sugeridas
Sis
tem
as O
per
acio
nai
s Estrutura do Sistema de Arquivo
• Estrutura do Arquivo• Unidade de Armazenamento Lógica
• Coleção de informações relacionadas
• Sistema de arquivos reside em armazenamento
3
• Sistema de arquivos reside em armazenamento secundário (discos).
• Sistema de arquivos organizado em camadas.
• Bloco de Controle de Arquivo (File controlblock) – estrutura de armazenamento contendo informações sobre um arquivo.
Sis
tem
as O
per
acio
nai
s Estrutura do Sistema de Arquivo
• Bloco de controle de arquivotípico
4
Sis
tem
as O
per
acio
nai
s Sistema de ArquivosVirtuais
• Virtual File Systems (VFS) tenta integrar diferentessistemas de arquivos em uma estrutura ordenada;
• A ideia principal é abstrair a parte comum aosdiferentes sistemas e colocar o código em umacamada separada que chama o sistema de arquivos subjacentes para fazer o gerenciamento do
5
arquivos subjacentes para fazer o gerenciamento do dado.
• O VFS possui:
• uma interface superior com os processo de usuário. São as chamadas (system call) como open, read, etc.
• Também há uma interface inferior com os arquivos de um sistema de arquivo denominada por interface VFS.
Sis
tem
as O
per
acio
nai
s Sistema de ArquivosVirtuais
6
Sis
tem
as O
per
acio
nai
s Sistema de ArquivosVirtuais
• O VFS define quatro objetos básicos:
• Objeto INODE que armazena informações gerais sobre um arquivo específico (bloco de controle de arquivo). Cada objeto inode é associado a um número inode, que identifica de forma única.
Objeto Superbloco contém informações sobre um sistema
7
• Objeto Superbloco contém informações sobre um sistema de arquivos montado (corresponde ao bloco de controle do sistema de arquivos armazenado em disco).
• Objeto Dentry armazena informações sobre a linkagem de um diretório (isso é, o nome do arquivo) com o arquivo correspondente.
• Objeto File armazena informações sobre a interação entre um arquivo aberto e um processo.
Sis
tem
as O
per
acio
nai
s Implementação de diretório
• Estruturas de dados que podem ser usadas :• lista não ordenada:
• é simples• novas entradas são inseridas onde houver uma vaga ou no
fim• arquivos removidos tem sua estrutura marcada como
inválida
8
inválida• exige uma pesquisa seqüencial para localizar um arquivo
• lista ordenada:• há um pequeno custo para manter a lista ordenada• a pesquisa é mais rápida
• tabela de dispersão (hash):• a pesquisa é rápida e não é necessário manter a lista
ordenada• necessita de algoritmos mais complexos
Sis
tem
as O
per
acio
nai
s 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
9
– 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
Sis
tem
as O
per
acio
nai
s
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
Gerenciamento de espaço em disco
10
• 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;
Sis
tem
as O
per
acio
nai
s
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;
Gerenciamento de espaço em disco
11
para 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);
Sis
tem
as O
per
acio
nai
s
Monitoramento dos blocos livres
• Exemplo:
42
136
230
162
Lista
Gerenciamento de espaço em disco
12
41
48
310
214
160
216
516
� �
NULL
��
Exemplo: Disco 16 Gb – lista de 16.794 blocos
Sis
tem
as O
per
acio
nai
s
•Mapa de bits:
•contém um bit para cada bloco do sistema de
arquivos;
•Cada bloco pode armazenar número de 32 bits;
•Vantagem:
Gerenciamento de espaço em disco
13
•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;
Sis
tem
as O
per
acio
nai
s
Bitmap100110110110 Blocos livres = 0
Blocos ocupados = 1
Gerenciamento de espaço em disco
14
011011011111
101011011011
011011011011
111011101110
110111110111
��
Blocos ocupados = 1ou vice-versa;
Sis
tem
as O
per
acio
nai
s 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
15
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;
Sis
tem
as O
per
acio
nai
s
• 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 :
Cópia de segurança do sistema de arquivo
16
– 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;
Sis
tem
as O
per
acio
nai
s
• 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;
Cópia de segurança do sistema de arquivo
17
– 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;
Sis
tem
as O
per
acio
nai
s
– 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 de segurança do sistema de arquivo
18
– 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;
Sis
tem
as O
per
acio
nai
s Cópia de segurança do
sistema de arquivo
19
• 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 última
cópia– Cada diretório e arquivo rotulado por seu número de i-node
Sis
tem
as O
per
acio
nai
s
1 fase – arquivos e diretórios modificados forammarcados;
2 fase - desmarca qualquer diretório que nãotenha arquivos ou diretórios modificados dentro
Cópia de segurança do sistema de arquivo
20
tenha arquivos ou diretórios modificados dentrodeles;
3 fase – varrer os i-nodes e copiar todos osdiretórios que estiverem marcados para cópia;
4 fase – arquivos marcados são copiados;
Sis
tem
as O
per
acio
nai
s Cópia de segurança do
sistema de arquivo
21
Mapas de bits usados pelo algoritmo de cópia lógica
Sis
tem
as O
per
acio
nai
s
• 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
Inconsistência de dados
Confiabilidade
22
• 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
Sis
tem
as O
per
acio
nai
s
• FSCK (file system checker) baseado em blocos:
– O programa constrói 2 tabelas;
• cada qual com um contador (inicialmente
Confiabilidade
23
• 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;
Sis
tem
as O
per
acio
nai
s
• 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);
Confiabilidade
24
(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);
Sis
tem
as O
per
acio
nai
s
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:
Exemplo: 1º Caso
Confiabilidade
25
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
OCUPA ESPAÇO
Sis
tem
as O
per
acio
nai
s
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:
Exemplo: 2º Caso
Confiabilidade
26
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
Sis
tem
as O
per
acio
nai
s
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:
0 155
3º Caso
Mesmo bloco de dados em 2
Confiabilidade
27
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 155Mesmo bloco de dados em 2 arquivos
Sis
tem
as O
per
acio
nai
s
• 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;
Desempenho do SA
28
– 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;
Sis
tem
as O
per
acio
nai
s
• 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);
Desempenho do SA
29
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 para o cache;
Sis
tem
as O
per
acio
nai
s
• 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
Desempenho do SA
30
– 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.
Sis
tem
as O
per
acio
nai
s
• 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;
Desempenho do SA
31
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)
Sis
tem
as O
per
acio
nai
s
• 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;
Desempenho do SA
32
que estejam sendo lidos seqüencialmente;
– Arquivos aleatórios piora a situação, pois carrega blocos não usados e remove blocos potencialmente úteis da cache;
Sis
tem
as O
per
acio
nai
s
• 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);
Desempenho do SA
33
• O gerenciamento do disco é feito por grupos de blocos consecutivos e não somente por blocos;
Sis
tem
as O
per
acio
nai
s
• 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:
Desempenho do SA
34
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);
Sis
tem
as O
per
acio
nai
s Desempenho do SA
35
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
Sis
tem
as O
per
acio
nai
s 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:
36
• Cópia de segurança do sistema de arquivo:
– Backup físico e lógico
• Confiabilidade:
– Scandisk
• Desempenho do SA
Sis
tem
as O
per
acio
nai
s
• Silberschatz, A., Galvin, P. B. Gagne, G. Sistemas Operacionais com Java. 7º edição. Editora Campus, 2008 .
Leituras Sugeridas
37
• TANENBAUM, A. Sistemas Operacionais Modernos. Rio de Janeiro: Pearson, 3 ed. 2010
Sis
tem
as O
per
acio
nai
s
Acesse o link abaixo:
http://hostel.ufabc.edu.br/~marcelo.nascimento/
Notas de Aula
38
Obrigado!!!