Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Arquitetura da gerência de arquivos Sistema de arquivos lógicos Organização de arquivos Sistema de arquivos básico Controle de entrada/saída Dispositivos físicos API de acesso a arquivos aplicaçãoaplicação �Visão física: cabeças, trilhas, setores �Aciona comandos de leitura/escrita nos dispositivos. �Mostra o arquivo como um vetor de blocos de mesmo tamanho. 2 Memória secundária- Discos � A informação é gravada em uma ou mais superfícies, e armazenada em trilhas na superfície. � Cada trilha é normalmente dividida em setores. � Um setor é a menor porção endereçável do disco. Quando um READ precisa de um byte em particular, o setor inteiro é lido 3 Memória secundária- Cilindro � Um cilindro é o conjunto de trilhas que estão na mesma posição em cada disco. Por exemplo: o cilindro 0 é o conjunto de todas as trilhas 0 dos sub-discos que compõem o disco rígido. � Vantagem ���� toda a informação contida num cilindro pode ser obtida sem movimentação da cabeça de R/W. � A movimentação, chamada seeking, é normalmente a parte mais lenta da operação de acesso. O tempo desse movimento é chamado tempo de busca (seek time). 4 Memória secundária- Discos � Organização de Trilhas � Setores (clusters) � Blocos 5 Memória secundária- Discos Visões da organização de trilhas em setores � Visão lógica ����os setores são adjacentes. � Fisicamente���� Pode não ser uma boa forma de organização a de setores fisicamente adjacentes . � após ler os dados de um setor, pode ser necessário processar os dados. � Se dois setores logicamente adjacentes também estão fisicamente adjacentes, pode-se perder a leitura do próximo setor (pois o disco continua em movimento de rotação), e teria que esperar uma outra rotação inteira do disco para acessar o setor perdido. � Técnica intercalação(interleaving)���� vários setores físicos são colocados entre setores logicamente consecutivos. 0 1 2 3 4 5 6 7 Visão física Visão lógica 6 Memória secundária- Discos Cluster � Um cluster (também chamado de agrupamento) é a menor parte reconhecida pelo sistema operacional, e pode ser formado por vários setores. � Um arquivo com um número de bytes maior que o tamanho do cluster, ao ser gravado no disco, é distribuído em vários clusters. � Um cluster não pode conter dados de mais um arquivo. � Considerando que um cluster associado a um arquivo foi encontrado, todos os seu setores podem ser acessados sem necessidade de um acesso adicional. � Essa organização por setores/clusters é gerenciada através de uma File Alocation Table (FAT). � Nessa tabela,cada entrada dá a localização física do cluster associado a um certo arquivo lógico. 7 Memória secundária- Discos Organização de trilhas em blocos definidos pelo usuário � Em alguns sistemas, pode-se organizar as trilhas do disco não por setores, mas por blocos, onde o tamanho do bloco é definido pelo usuário. � Neste caso, a quantidade de dados transferidos em uma operação de leitura/escrita é dada pelo tamanho do bloco. Fator de bloco ���� número de registros por bloco em um arquivo. � se tivermos registros de 300 bytes, podemos definir blocos de 300 bytes (ou um valor múltiplo de 300). Assim, não teremos "quebra" de registros entre blocos. Vantagens X desvantagens � vantagem: permite ao programador escolher a organização dos dados, de forma a explorar melhor a capacidade do disco e otimizar o acesso. � desvantagem: exige do programador um conhecimento da organização dos dados. 8 Memória secundária Fragmentação � Fragmentação interna consiste em espaço não utilizado nos cluster/blocos de um arquivo. � Exemplo: Se um arquivo é alocado em blocos: � Se usarmos blocos de 4096 bytes, um arquivo de 5700 bytes ocupará 2 blocos (um bloco não pode ser alocado parcialmente) � 2492 bytes serão perdidos no último bloco. � Fragmentação externa � Espaços vazios entre cluster/blocos de arquivos. � A medida que o sistema evolui registros/arquivos são criados e removidos � mais espaços vazios aparecem. � Um agrupamento de clusters/blocos é chamado um extent . 9 Memória secundária arquivo inicio #blocos Organização de discos em blocos ����Alocação contígua •Cada arquivo ocupa um conjunto de blocos lógicos, consecutivos. •Não há blocos vazios entre os blocos de um mesmo arquivo. •Para cada arquivo, o diretório informa seu bloco de início e o no de blocos. Vantagens: –Simplicidade de implementação. –Rapidez de acesso aos arquivos � todos os blocos do arquivo estão próximos. –Facilidade de acesso seqüencial e aleatório: •sequencial: basta ler os blocos consecutivos •aleatório: posições internas podem ser facilmente calculadas a partir da posição do bloco inicial. Desvantagens: –Pouca flexibilidade no crescimento dos arquivos. –Tamanho máximo do arquivo deve ser conhecido no momento da alocação. –Necessidade de desfragmentação periódica. 0 1 2 3 4 5 6 7 8 9 readme.txt 010 003 apostila.doc 002 008 10 Memória secundária Organização de discos em blocos ����Alocação encadeada •Os arquivos são armazenados como listas de blocos •cada bloco aponta para o próximo •diretório aponta para o bloco inicial •os blocos podem estar espalhados •Base de funcionamento de arquivos Windows readme.txt 010 003 apostila.doc 002 008 arquivo inicio #blocos Vantagens •não há fragmentação externa (arquivo fisicamente separado) •todo o disco pode ser usado •tamanho dos arquivos pode ser mudado facilmente Desvantagens •acesso aleatório é mais demorado •maior fragilidade em caso de problemas 11 Memória secundária Organização de discos em blocos ����Alocação indexada •Baseada em tabelas de blocos –um bloco especial guarda a tabela de blocos do arquivo: index-node (i-node) –diretório aponta para os i-nodes –blocos podem estar espalhados •Base de funcionamento do UNIX Vantagens •não há fragmentação externa •todo o disco pode ser usado •acesso rápido •robustez em caso de problemas Desvantagens •gerência mais complexa •espaço em disco perdido com os i-nodes readme.txt 010 003 apostila.doc 002 008 Aula.pdf 017 005 arquivo inicio #blocos I-node 12 Organização de discos Overhead (espaço sem dados) O processo de formatação provoca a inclusão de informações extras. � discos organizados por setor: � Overhead���� marcas de início/fim de setor, marcas de sincronização, se o setor é válido ou danificado, entre outras, são inseridas no processo de formatação. Esse overhead é invisível para o usuário. � discos organizados por bloco: � Overhead���� marcas de sub-blocos e inter-blocos devem ser adicionadas em cada bloco. � um número maior de informação que não é “dado” pode ser colocada no disco, quando comparado ao esquema de organização por setores. 13 Memória secundária Organização de discos - Exemplo � Seja um disco organizado em blocos onde cada trilha tem capacidade de armazenamento de 20.000 bytes e o overhead/bloco é de 300 bytes. Queremos armazenar um arquivo contendo registros de 100 bytes. Quantos registros podem ser armazenados, se o fator de bloqueamento é 10 ? Se 10 registros de 100 bytes são armazenados por bloco, cada bloco terá 1.000 bytes de dados, mas usará 1.300 bytes no total, devido ao overhead. Então, o número de blocos que podem ser colocados em uma trilha é dado por: 20.000/1.300 = 15.38 = 15, portanto 15 blocos, ou 150 registros. Quantos registros podem ser armazenados, se o fator de bloqueamento é 60? Se são 60 registros de 100 bytes, cada bloco armazena 6.000 bytes de dados e 6.300 no total. Então, o número de blocos por trilha fica: 20.000/6.300 = 3.17, portanto, 3 blocos, ou 180 registros 14 Memória secundária Exercício � Se um arquivo tem apenas 500 bytes, com clusters de 3 setores de 512 bytes, qual é a perda? � Solução: � Um cluster é a menor porção alocável para um arquivo. Se o número de bytes do arquivo não é múltiplo do tamanho do cluster, entãohá uma perda (a perda ocorre na última extensão do arquivo). � 3 setores de 512=1536 � Como o tamanho do arquivo é 500bytes �a perda é de 1536-500=1.036 bytes. 15 Memória secundária Organização de discos � A escolha do tamanho dos blocos/clusters é importante para a eficiência do sistema. � Blocos pequenos: � menor perda por fragmentação interna � mais blocos/clusters por arquivo: maior custo de gerência � Melhor quando o disco contém pequenos arquivos e/ou arquivos a serem acessados aleatoriamente (acesso direto). � Blocos grandes: � maior perda por fragmentação interna � menos blocos por arquivo: menor custo de gerência � Melhor quando o disco contém arquivos grandes a serem processados seqüencialmente. � O tamanho do cluster é definido pelo administrador do sistema.
Compartilhar