Baixe o app para aproveitar ainda mais
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
Compartilhar