Você está na página 1de 7

Sistemas Operacionais

AULA 16 - Sistema de Arquivos


Arquivos podem ser vistos como recipientes que contm dados ou como um grupo de registros correlatos. Os arquivos armazenam informaes que sero utilizadas, em geral, por programas aplicativos. Os arquivos so implementados atravs da criao, para cada arquivo no sistema, de uma estrutura de dados composta por registros. O descritor de arquivo um registro que mantm informaes sobre o arquivo, como posio de incio e fim.

As informaes tpicas (atributos) mantidos pelo sistema operacional so: 1. Nome do arquivo 2. Tamanho (bytes) 3. Data e hora da criao, do ltimo acesso, da ltima modificao 4. Identificao do usurio que criou o arquivo 5. Listas de controle de acesso 6. Local do disco fsico onde o contedo do arquivo foi colocado

As operaes mais comuns relacionadas manipulao dos arquivos so: Create Append Delete Seek Open Get attributes Close Set attributes Read Rename Write

Para controlar e organizar os arquivos, os sistemas de arquivos tm, em geral, os diretrios ou pastas, que podem ser arquivos em muitos sistemas tambm. Os diretrios podem ser organizados em um nico nvel (contendo todos os arquivos) ou em mltiplos nveis (diretrios dentro de diretrios). Um dos principais problemas como alocar espao em disco para que os arquivos sejam armazenados de forma eficiente e que permita acesso rpido?

Prof. Dr. Jean M. Laine

Sistemas Operacionais Existem alguns mtodos que podem ser utilizados, tais como: 1. Alocao contgua 2. Alocao com Lista Ligada 3. Alocao com Lista Usando um ndice

Alocao Contgua Este o esquema mais simples de alocao de arquivos, onde cada arquivo armazenado no disco como um bloco contguo de dados. Neste esquema, em um disco com blocos de 1 KB, um pequeno arquivo de 20 KB seria armazenado em 20 blocos consecutivos.

Figura 1. Alocao contgua. Principais Vantagens: 1. simples implementao: controle de onde est cada arquivo no disco feito por 1 nico nmero (endereo em disco do 1 bloco). 2. performance: todo o bloco (arquivo) pode ser lido do disco de uma nica vez. necessrio o tempo de somente um seek.

Prof. Dr. Jean M. Laine

Sistemas Operacionais Problemas: 1. a estratgia s pode ser usada se o tamanho Mx. do arquivo for conhecido no momento de sua criao (devido a necessidade existente em saber o tamanho total do arquivo ou quantidade de blocos que ele ocupa). 2. fragmentao do disco: perde-se muito espao til com este esquema de alocao. Ao remover um arquivo a rea ocupada pelo mesmo liberada ocasionando lacunas por todo o disco. Necessidade de compactao (custo alto).

Alocao com Lista Ligada Nesta estratgia de alocao, usamos uma lista ligada para indicar os espaos ocupados em disco pelo arquivo. Assim, no mais necessrio que o arquivo seja armazenado em posies contguas do disco. A primeira palavra de cada bloco usada com um ponteiro para o prximo bloco e o restante do bloco usado para armazenar as informaes (dados) do arquivo.

Figura 2. Alocao com lista ligada. Principais Vantagens: 1. no se perde espao por fragmentao externa. 2. qualquer bloco pode ser utilizado, permitindo que os arquivos cresam indefinidamente enquanto houver espao no disco.

Prof. Dr. Jean M. Laine

Sistemas Operacionais 3. a entrada do diretrio s precisa armazenar o endereo do 1 bloco do arquivo (em cada bloco existir um ponteiro para o prximo bloco do arquivo). Problemas: 1. o acesso randmico lento pois existe a necessidade de percorrer a lista. 2. a implementao deste mtodo de alocao mais complicada.

Alocao com lista ligada usando uma Tabela na Memria Para eliminarmos os problemas apresentados por ltimo, podemos dispor de uma tabela em memria armazenando os ponteiros para cada bloco do arquivo. Esta tabela recebe o nome de FAT (File Allocation Table) - esquema adotado pelo DOS. Com este esquema o acesso aleatrio fica muito mais fcil pois todo o esquema de ponteiros agora fica armazenado em memria, o que muito mais rpido. O principal problema o gasto com memria para manter a tabela com as informaes. Para um disco de 40 GB e blocos de 1 KB, a tabela precisar de 40 milhes de entradas. Considerando que cada entrada tem no mnimo 3 bytes a tabela ocupar um espao total de 120 MB.

Figura 3. Tabela de alocao de arquivos (FAT).

Prof. Dr. Jean M. Laine

Sistemas Operacionais Alocao com Lista Usando um ndice Busca resolver o problema de ponteiros esparramados pelo disco que a alocao encadeada provoca. Para isso, mantm, por arquivo, um ndice de blocos que o compe. Este o ndice mantido em um bloco do disco. O diretrio possui um ponteiro para o bloco onde est o ndice associado a um determinado arquivo. Este esquema elimina as desvantagens existentes na alocao com lista ligada: retira os ponteiros de cada um dos blocos e os coloca em uma tabela ou ndice na memria. Apesar de o acesso ser randmico tambm, sua implementao bem mais simples. A tabela armazenada na memria principal e pode ser seguida sem a necessidade de acessar o disco. Desvantagem: a tabela tambm deve estar na memria o tempo todo, o que implica em utilizao de espao de memria.

Figura 4. Alocao com lista usando um ndice.

Prof. Dr. Jean M. Laine

Sistemas Operacionais INode A cada arquivo associa-se uma pequena tabela, denominada INode, que lista os atributos e os endereos em discos dos blocos do arquivo. Os primeiros endereos de disco so armazenados no prprio INode. Se o arquivo for pequeno, toda a informao encontrada diretamente no Inode. O contedo do arquivo s transferido do disco para a memria quando o arquivo for aberto (esquema utilizado pelo UNIX).

Figura 5. Inode.

Prof. Dr. Jean M. Laine

Sistemas Operacionais

Exercicios
1. O que um arquivo? 2. Como os arquivos podem ser organizados? 3. Diferencie os mtodos de acesso: seqencial, direto e indexado. 4. O que alocao contgua de blocos e quais benefcios a desfragmentao pode proporcionar quando esta tcnica utilizada? 5. Quais os tipos de proteo de acesso a arquivos existentes e quais suas principais vantagens? 6. Em alguns sistemas operacionais possvel mapear parte de um arquivo na memria. Quais restries devem ser impostas a esses sistemas? Como implementado esse mapeamento parcial? 7. Apresente as diferenas entre os sistemas FAT32 e NTFS.

Bibliografia SILBERSCHATZ, A. et al. Sistemas Operacionais: conceitos e aplicaes. Campus, 2001. STALLINGS, W. Operating Systems. Prentice Hall, 4th Ed, 2001.

Prof. Dr. Jean M. Laine

Você também pode gostar