Buscar

Sistemas_de_Arquivos_Continuação

Prévia do material em texto

SISTEMAS DE ARQUIVOS Eng. Eduardo Juliano Alberti
IMPLEMENTAÇÃO DE DIRETÓRIOS
Para que um arquivo seja aberto é necessário que o sistema operacional conheça,
além de seu nome, a localização do mesmo.
O diretório tem, por objetivo, organizar os arquivos de forma hierárquica, porém
também de localizar as entradas dos blocos do disco.
2
IMPLEMENTAÇÃO DE DIRETÓRIOS
Cada diretório possui uma lista de arquivos que fazem parte de seu agrupamento.
Cada entrada (de tamanho fixo) desta lista representa um arquivo no diretório,
ainda, cada uma destas entradas especifica a localização do arquivo em disco e
seus respectivos atributos.
3
IMPLEMENTAÇÃO DE DIRETÓRIOS
Porém se analisarmos o fato de que normalmente os sistemas de arquivos permitem
uma nomenclatura de arquivos contendo muitos caracteres, podemos dizer que uma
entrada de lista fixa não seria uma boa solução, haveria gasto de memória
desnecessária.
Imagine uma entrada de lista com tamanho fixo de 255 caracteres. Caso 200
arquivos tenham nomes com uma média de 55 caracteres, teremos 200 caracteres
restantes em cada entrada. Sendo assim, com 200 arquivos desperdiçamos
aproximadamente 39KB.
4
IMPLEMENTAÇÃO DE DIRETÓRIOS
Uma alternativa para resolução deste impasse é a utilização de duas porções de
entrada, uma fixa contendo os atributos e uma variável contendo o nome do arquivo.
Porém após o processo de exclusão teremos espaços vagos de tamanho variável (o
mesmo problema da alocação contígua), a compactação é possível, porém nem
sempre viável.
Outro problema deste método que um nome de arquivo grande poderá incidir em
uma entrada também grande, o que fará com que uma única entrada ocupe mais de
uma página de memória.
5
IMPLEMENTAÇÃO DE DIRETÓRIOS
Outra alternativa é a de adicionar o nome do arquivo em uma área temporária ao
final do diretório. Mesmo se mostrando mais vantajoso, este método ainda está
suscetível a ausência de páginas na existência de um arquivo com nome muito
grande.
6
ARQUIVOS COMPARTILHADOS
Algumas vezes é conveniente que um ou mais arquivos apareçam em mais de um
diretório ao mesmo tempo. O desenvolvimento de um projeto em conjunto com
diversos usuários de um computador é um exemplo.
Atualmente podemos realizar essa tarefa de diversas formas, compartilhando
através das contas de usuário um diretório específico, utilizando gerenciadores de
projetos.
7
ARQUIVOS COMPARTILHADOS
Alguns sistemas de arquivo, porém, permitem que um arquivo seja conectado entre
diversos diretórios (em baixo nível) criando a ilusão ao usuário de estar
simultaneamente em diversos locais.
8
ARQUIVOS COMPARTILHADOS
O compartilhamento a nível de sistema de arquivos, porém, introduz um problema.
Se os diretórios possuírem controle dos endereços de disco, durante a conexão,
ambos diretórios devem receber uma cópia dos endereços do arquivo.
Imagine porém que o diretório o usuário do diretório b realize uma alteração de
arquivo (append), tais endereços não serão copiados ao diretório c e as
modificações não poderão ser acessados pelo usuário de C.
9
ARQUIVOS COMPARTILHADOS
A resolução para tal problema é a associação dos endereços de bloco ao próprio
arquivo e não mais aos diretórios.
Outra resolução um pouco mais elaborada é a criação de uma ligação simbólica
onde um diretório recebe um arquivo do tipo LINK, que por sua vez, aponta para o
arquivo a ser compartilhado. Quando um usuário acessa o endereço do arquivo
compartilhado, na realidade o está fazendo através de um arquivo de LINK.
10
ARQUIVOS COMPARTILHADOS
Tal solução, porém, pode causar aumento do tráfego de disco, pois o caminho de
dados será relativamente maior. Outro problema a ser enfrentado é o da exclusão
do arquivo, que quando excluído irá manter o LINK (agora inválido).
Um problema relativo ao compartilhamento de arquivos é a cópia dos dados. Tais
ligações, sejam elas simbólicas ou não, podem induzir o sistema de cópia a criar
cópias redundantes de um arquivo compartilhado, devido ao fato de que este
possuirá diversos caminhos.
11
ARQUIVOS COMPARTILHADOS
Outro porém é que um arquivo compartilhado poderá aparecer diversas vezes em
uma busca ao sistema, afinal, possui n caminhos.
12
GERENCIAMENTO DE ESPAÇO EM DISCO
Sabemos que existem duas formas de armazenar informações em um disco: de forma
contígua ou de forma aleatória. Sabemos ainda que estas informações/dados são
armazenadas de forma fracionada em blocos de memória de tamanho fixo.
Porém, se o bloco de memória possui um tamanho fixo, qual seria este tamanho? E se
fosse menor? E se fosse maior?
13
TAMANHO DO BLOCO
Quando a discussão a respeito do tamanho que um bloco deve assumir é iniciada,
existem diversos pontos de encontro.
Um dado ocupa de forma isolada um bloco, ou seja, mesmo que haja espaço
disponível no bloco, outro dado de um arquivo diferente não poderá utilizá-lo.
Blocos grandes podem desperdiçar armazenamento, blocos pequenos podem afetar
o desempenho.
14
TAMANHO DO BLOCO
15
Linha tracejada – eficiência de ocupação do disco
Linha contínua – taxa de dados do disco
Todos os arquivos possuem 2K
TAMANHO DO BLOCO
Porém mesmo que ajustemos o tamanho
do bloco a um determinado tamanho
médio de arquivo, dificilmente nos
livraremos de possuir espaço
desperdiçado. Isso acontece porque
dificilmente possuímos arquivos com
tamanho múltiplo do tamanho do bloco.
16
MONITORAMENTO DE BLOCOS LIVRES
Após selecionarmos o tamanho que um bloco de disco irá assumir, necessitamos
monitorar o número de blocos de um disco. Normalmente realiza-se o controle
apenas dos blocos livres, pois os demais já estão associados a arquivos ou diretórios.
A monitoração dos blocos livres pode ser realizada de duas formas: Através de uma
lista encadeada de blocos, onde o endereço de cada um dos blocos livres é
armazenado. Nesta modalidade, para controlar 16 GB são necessários 16794
blocos, ou aproximadamente 33KB.
17
MONITORAMENTO DE BLOCOS LIVRES
Outro método de monitoramento é através do mapa de bits. Cada bloco de um disco
é representado por um bit no mapa e recebe um 1 se estiver alocado ou um 0 se
estiver livre. Nesta modalidade, 16 GB de blocos podem ser controlados com apenas
2048 blocos
18
QUOTAS DE DISCO
De modo a impedir que usuários exagerem no uso do armazenamento em disco o
administrador do sistema pode impor restrições ou quotas de uso de disco.
Essa administração de espaço ocorre da seguinte forma. Um arquivo de cota é
criado para o usuário. Todos os arquivos criados por este usuário (observado pelos
atributos) tem seu valor de tamanho debitado da cota. Caso haja um operação de
adição de informação, tal adição será debitada da cota do usuário.
19
QUOTAS DE DISCO
De modo a impedir que usuários exagerem no uso do armazenamento em disco o
administrador do sistema pode impor restrições ou quotas de uso de disco.
Essa administração de espaço ocorre da seguinte forma. Um arquivo de cota é
criado para o usuário. Todos os arquivos criados por este usuário (observado pelos
atributos) tem seu valor de tamanho debitado da cota. Caso haja um operação de
adição de informação, tal adição será debitada da cota do usuário.
20
QUOTAS DE DISCO
É importante que toda vez que um arquivo é aberto, seu endereço é enviado a
memória onde uma tabela de arquivos abertos armazena tais informações. Esta
tabela conecta-se a cota do usuário, fornecendo informações.
Este controle permite ao sistema negar o acréscimo ou a criação de arquivos a um
usuário em específico, mesmo que haja espaço em disco.
21
QUOTAS DE DISCO
22
CONFIABILIDADE DO SISTEMA DE ARQUIVOS
As informações de um disco são dificilmente (muitas vezes impossível se levado em
consideração custo/benefício) recuperáveis quando o problema é a nívelde sistema
de arquivos.
Possuir um sistema de arquivos confiável é importante, pois, mesmo que não
apresente qualquer proteção conta danos físicos, apresenta meios de
armazenamento organizado e formas de recuperação de dados.
23
CONFIABILIDADE DO SISTEMA DE ARQUIVOS
Cópia de segurança: de modo geral tratam de situações das quais queremos
recuperar informações perdidas em situações de desastre ou de mal uso.
Realizar a cópia de segurança dos dados parece uma tarefa simples, porém
esconde alguns porém.
Normalmente uma cópia de segurança pode reunir dezenas de gigabytes de dados,
o que torna um processo lento e desgastante. Neste sentido, o número de vezes que
se realiza um backup ou a frequência, podem levar a uma tarefa dispendiosa.
24
CONFIABILIDADE DO SISTEMA DE ARQUIVOS
O local de armazenamento também deve ser levado em consideração, pois de nada
adianta realizar uma cópia de segurança em uma partição reservada em seu
computador se este pegar fogo ou sofrer algum dano.
Ainda, as unidades de armazenamento de dados podem sofrer alterações físicas de
acordo com o ambiente no qual são alocadas.
25
CONFIABILIDADE DO SISTEMA DE ARQUIVOS
Outra preocupação na realização do backup e que normalmente é desconsiderado
é o momento da recuperação dos dados.
Compactar é um ótimo recurso para diminuir o arquivo de dados resultante, porém
uma alteração de apenas um dado em um arquivo compactado pode corromper o
arquivo.
26
CONFIABILIDADE DO SISTEMA DE ARQUIVOS
Cópia Física realiza a cópia de 100% dos BLOCOS do disco, independe de sistema
operacional pois é realizada por aplicações que antecedem o boot do SO.
Cópia Lógica realiza a cópia de diretórios específicos e suas modificações, tais
cópias são criteriosamente analisadas, organizadas e armazenadas.
27
DESEMPENHO DO SISTEMA DE ARQUIVOS
A leitura de uma palavra em disco é em média 40 vezes mais lenta do que se
estivesse em memória. Isso nos faz pensar na dependências criadas pelo sistema
para uma leitura simples. Desde a alocação até a leitura diversos fatores podem
fazer com que o disco retorne a informação de forma mais rápida ou lentamente.
Veremos agora métodos de otimização de acesso utilizados nos sistemas de arquivo.
28
* CACHE DE BLOCOS
Neste método utiliza-se de uma coleção de blocos armazenadas em memória para
acelerar o acesso a tais dados.
Sempre que uma solicitação de leitura é realizada, verifica-se se o bloco está em
cache, caso esteja, a leitura é realizada em memória, caso contrário o bloco é
copiado para a memória e após isso a chamada é atendida.
29
* CACHE DE BLOCOS
Os dados são mantidos encadeados em memória, afinal é coerente, e ainda
organizados pela ordem de chegada o que permite que dados antigos sejam
retirados assim que a cache estiver cheia.
30
* LEITURA ANTECIPADA DE BLOCOS
Outro método utiliza-se de uma característica do sistema de arquivos, a
sequencialidade, para copiar de forma antecipada alguns dados para a memória.
Porém esta técnica depende de uma leitura sequencial, ou seja, não se obtém sucesso
ao acessar dados de forma aleatória.
31
* REDUÇÃO DO MOVIMENTO DO BRAÇO DO 
DISCO
Reduzir o número de movimentos do braço do disco também pode levar ao aumento
de desempenho. Nesta técnica, ao contrário das antecessoras, a organização deve
ser realizada no momento da gravação.
Se o sistema controlar os espaços livres através de um mapa de bits, será fácil
encontrar espaços próximos o suficientes a fim de economizar a movimentação dos
braços. Desta forma, a leitura dos dados será muito mais eficiente.
Se o sistema controlar espaços livres através de uma lista, é muito difícil que o
sistema proporcione este método de incremento de desempenho.
32
PARA CASA =D
Crie uma tabela comparativa entre 8 sistemas de arquivo comerciais.
Descreva taxa de transferência, organização de blocos, tamanho padrão de blocos,
limitações de nomenclatura, tamanho da palavra do sistema (8, 16, 32, 64 ou 128
bits) e sua organização de arquivos e diretórios.
Entrega na próxima aula 1/11/2013, em folha!!!
33

Continue navegando