Você está na página 1de 5

24/10/2016

Gerenciamento e Otimização de Na Aula Anterior...


Sistemas de Arquivos
GSI018 – Sistemas Operacionais

Universidade Federal de Uberlândia


Faculdade de Computação
Prof. Dr. rer. nat. Daniel D. Abdala
2

Nesta Aula Gerenciamento do Espaço em Disco


• Gerenciamento de Espaço em Disco; • Embora de grande capacidade, dispositivos
• Cotas; de armazenamento, tal como todos os
• Cópia de Segurança do Sistema de Arquivos; outros recursos em um sistema
computacional são um recurso finito;
• Consistência do Sistema de Arquivos;
• Seu gerenciamento eficiente é uma das
• Desempenho do Sistema de Arquivos; preocupações fundamentais dos Sistemas
Operacionais;

3 4

Cotas Cotas
• Sistemas multiusuário implementam uma
política de cotas para garantir que apenas uma Gerenciamento
porção do dispositivo de armazenamento seja Tabela de de Cotas
Cotas
utilizada por cada usuário; Cotas são
controladas pelo sistema operacional. Vários Gerenciamento Sistema de
subsistemas atuam no controle de cotas: de Processos Arquivos

– Subsistema de Gerenciamento de Cotas; PCB

– Subsistema de Sistema de Arquivos; Tabela de Arquivo de


Arquivos Cotas
– Subsistema de Gerenciamento de Processos; Abertos

5 6

1
24/10/2016

Tabela de Cotas Cotas


• O Tamanho do bloco é um parâmetro do sistema
Limite Flexível de blocos
de arquivos conhecido pelo SO;
Limite Estrito de blocos • Com base no tamanho do bloco e no limite de
No atual de blocos
No de avisos restantes Registro na tabela de
cota, podemos computar a quantidade de blocos
Limite Flexível de arquivos Cotas para o usuário X no dispositivo de armazenamento a que
Limite Estrito de arquivos
No atual de arquivos
correspondem a cota do usuário;
No de avisos restantes (arq.) • Sistemas de cotas podem controlar o no de
≈ ≈ blocos, o no de arquivos ou ambos;
• Fatos que podem afetar a quota de um usuário:
– Criação de novos arquivos;
– Alteração de arquivos;
7 8

Cópia de Segurança do Sistema de


Cotas
Arquivos
• Durante o login, o sistema verifica o estado • Dados são o recurso mais importante de um
atual da cota do usuário e o informa; sistema computacional;
– Caso a cota esteja próxima do limite estrito, – Em verdade os dados são provavelmente o recurso
tanto para arquivos quanto para blocos o mais valioso de instituições (Era da Informação,
usuário recebe uma notificação; lembram?);

– Os contadores de avisos são então • Falhas de Hardware e Software que levam a


decrementados em uma unidade; perda de informação são eventos catastróficos;
• Usuários podem a qualquer momento • Ex: 11/09 Dados financeiros perdidos durante a
verificar o estado da quota de sua conta; queda das torres gêmeas;

9 10

Cópia de Segurança – Backup Cópia de Segurança (lixeira)


• Dois problemas potenciais: • Conceito de lixeira:
– Recuperação em caso de desastre; – Arquivos removidos pelo usuário não são diretamente
– Recuperação em caso de falta do usuário; removidos do sistema de arquivos;
• A caso de desastre é auto-explicativo: – Ao invéz eles são movidos para um diretório especial
chamado “lixeira”;
– Falha mecânica, falha elétrica, desastre natural, etc,
que fisicamente destroem o hardware e – Arquivos na lixeira podem ser recuperados;
consequentemente todos os dados contidos são – Arquivos são mantidos na lixeira por tempo
perdidos; (in)determinado dependendo da política adotada pelo
SO;
• O caso de falta do usuário é mais complicado:
– Arquivos na lixeira são permanentemente removidos
– Muitas vezes o usuário remove arquivos que em dois casos:
poderão ser necessários em um momento futuro; • Quando se faz necessário liberar espaço para novos
arquivos;
• Quando o usuário explicitamente assim o estipula;
11 12

2
24/10/2016

Backups de Dados Cópias Incrementais


• Cópia de segurança dos dados de um ou mais sistemas • Copiar apenas os arquivos alterados a partir do
de arquivos; último backup;
• Empresas executam cópias com diferentes • Vantagem – requer menos espaço de
periodicidades – em geral diariamente; armazenamento do que sempre copiar todos os
• Geralmente as cópias são feitas em fitas magnéticas arquivos de dados do sistema;
(Fitas DAT, centavos por gigabyte);
• Desvantagems:
• Copiar todo o sistema de arquivos em uma unidade de
backup é dispendioso e desnecessário: – Faz-se necessário verificar e encontrar no backup os
arquivos alterados;
– Alguns arquivos simplesmente não precisam ser copiados,
tais como arquivos do sistema ou de programas; – Geralmente em fita dat, dispositivo sequencial,
– Arquivos de Dados de Usuário que não sofreram alteração consequentemente muito lento;
desde o último backup não precisam ser copiados
13 14

Controle de Versões de Arquivos Armazenamento em Núvem


• Um sistema do usuário que controla • Para organizações de pequeno e médio portes
diferentes versões de arquivos; manter uma infraestrutura de backup pode ser
proibitivo;
• Útil para desenvolvimento de programas, • Uma alternativa viável que começou a ser
edição de documentos, etc; utilizada na última década é o armazenamento
• Também pode ser utilizado para gerenciar em Núvem;
backups de sistemas de arquivos inteiros; • A ideia geral é salvar todos os dados importantes
da organização remotamente ;
• Um fator importante é manter o controle de
• O backup é gerenciado pela empresa de
versões dos arquivos de um sistema em outro prestação do armazenamento em núvem;
servidor, preferencialmente em outra • Como fica a segurança e confidencialidade de
localidade geográfica; dados neste caso?
15 16

Consistência do Sistema de Arquivos Consistência do Sistema de Arquivos


• Atualizar arquivos em um sistema de arquivos não é • A verificação de consistência pode ser feita:
uma tarefa atômica; – Por blocos;
• Blocos devem ser lidos, armazenados na memória, – Por arquivos;
alterados e então reescritos para o dispositivo de • Verificação por bloco:
armazenamento; 1. Constrói duas tabelas, cada uma com um contador
inicialmente em zero para cada bloco. Contadores na
• O sistema de arquivos fica em um estado inconsistente primeira tabela controlam quantas vezes cada bloco está
caso ocorra uma falha durante os passos citados acima; presente em um arquivo. Contadores na segunda tabela
controlam quantas vezes cada bloco aparece na lista de
• É comum sistemas operacionais proverem um blocos livres;
aplicativo para verificação da consistência do sistema 2. Uma rotina então percorre todos os i-nodes e contabiliza
de arquivos: todos os blocos listados no i-node na tabela 1;
– Linux – fsck (file system check) 3. A rotina verifica então a lista de blocos livres e os
– Windows – scandisk contabiliza na tabela 2;
17 18

3
24/10/2016

Consistência do Sistema de Arquivos Exemplo (Consistente)


• Cada bloco deve aparecer apenas uma vez ou na 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
tabela 1 ou na tabela 2; 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 Em Uso
• Se um dado bloco é contabilizado duas ou mais vezes 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 Livre
na tabela 1 isto significa que dois arquivos utilizam o
mesmo bloco (inconsistência);
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
• Se um dado bloco é contabilizado duas ou mais vezes
na tabela 2 isot significa que o bloco está duas vezes
listado como passível de ser alocado por um arquivo; • Todos os blocos aparecem ou na tabela de blocos em uso
ou na tabela de blocos livres uma e apenas uma vez;
• Se um dado bloco não é contabilizado nenhuma vez • Esta configuração indica que o sistema de arquivos está em
nas tabela 1 ou 2 isto significa que o bloco está um estado consistente;
perdido;

19 20

Exemplo (Inconsistente) Exemplo (Inconsistente)


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 Em Uso 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 Em Uso

0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 Livre 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 Livre
+ 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0

• Blocos 3–5 estão ao mesmo tempo sendo usados por um • Blocos 15–19 não são listados nem na tabela de
arquivo e listados como livres; em uso nem na tabela de livres;
• Esta configuração se afigura como um estado inconsistente; • Esta configuração significa que os blocos 15–19
• Isso pode significar que o sistema caiu durante a remoção estão inacessíveis, não utilizados em nenhum
do arquivo, ou qualquer outra razão não especificada; arquivo e nem livres para serem alocados para
• A forma de corrigir este estado de inconsistência fica a um novo arquivo;
critério do sistema operacional; Uma possibilidade seria
simplesmente remover os blocos 3–5 da lista de blocos • A forma de recuperação neste caso é simples.
livres; Adicionar os blocos 15–19 a lista de livres;
21 22

Exemplo (Inconsistente) Desempenho do Sistema de Arquivos


• Acesso a disco é ordens de grandeza mais lento
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

1 1 1 2 2 2 1 0 1 1 1 0 0 0 0 1 1 1 1 1 Em Uso
que o acesso à memória;
0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 Livre
• HDDs têm uma taixa conservadora de acesso de
+ 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10MB/s. As memórias RAM podem alcançar taxas
de 400MB/s (40x mais lento);
• Neste caso o mesmo bloco de dados é • Adicionalmente 5 a 10ms devem ser computados
utilizado por mais de um arquivo; para o posicionamento da cabeça de leitura;
• Este não é um estado simples de ser • Otimizações para melhorar o desempenho são
necessárias, estudaremos três delas:
resolvido; – Cache de Blocos;
– Leitura Antecipada de Blocos;
– Redução do Movimento do Braço do Disco;
23 24

4
24/10/2016

Cache de Blocos Cache de Blocos – Algoritmo


• Técnica mais usada para reduzir acesso ao • O Algoritmo mais comum:
disco; – Verificar todas as requisições de leitura de modo a
• Neste contexto, uma cache é uma coleção identificar se o bloco desejado se encontra na
de blocos que, do ponto de vista lógico, cache;
pertencem ao disco, mas que estão sendo – Caso o bloco esteja na cache, a requisição de
mantidos na memória para fins de leitura pode ser atendida sem um acesso ao disco
(HIT);
desempenho;
– Caso o bloco não esteja na cache, ele primeiro
• Vários algoritmos existem para o será lido do disco repassado ao processo
gerenciamento da cache de disco; requisitante. Subsequentemente ele será copiado
para a cache (MISS);
25 26

Leitura Antecipada de Blocos Redução do Movimento do Braço


• Busca transferir blocos para a cache de disco • Os pratos de um HDD podem girar a uma
antes que eles sejam necessários; velocidade impressionante;
• Tenta aumentar a taxa de acertos; • No entanto, o braço de leitura se movimenta a
• Devido a fatores históricos, muitos programas uma velocidade consideravelmente inferior;
acessar arquivos de maneira sequencial; • Minimizar o número de movimentos do braço
• Quando um bloco k é solicitado ao sistema de para efetuar a leitura dos blocos de um arquivo
arquivos ele o busca e verifica se o bloco k+1 já se pode otimizar em muito o desempenho do
encontra na cache; Em caso negativo, ele agenda sistema de arquivos;
para recuperação; • Isso pode ser alcançado via uma reorganização
• Para acesso aleatório, esta estratégia piora o inteligente dos blocos dos arquivos no disco;
tempo de acesso;
27 28

Redução do Movimento do Braço Bibliografia - Básica


• 3ª Edição
• Páginas 180– 193

29 30

Você também pode gostar