sistemas de arquivos artigo

13
Sistemas de Arquivos Daiana Paula de Ávila <[email protected]> Universidade do Contestado - UnC Concórdia - 04/2012 Resumo Um sistema de arquivos é o conjunto de estruturas lógicas e rotinas que permitem ao sistema operacional armazenar dados nas unidades de memória persistentes como discos flexíveis e rígidos, pendrives, CDROM e DVDs, ou seja, são dados não voláteis de acesso concorrente. As principais operações que podem ser executadas são as de abrir, fechar, deletar, ler, escrever. Possui Diretório, também conhecidos como pastas, são arquivos do sistema de arquivos que tem a função de guardar as informações de identificação dos documentos no computador. O Diretório pode ser de um ou dois níveis. A alocação dos sistemas de arquivos poderá ser contíngua, por lista encadeada ou indexada. Abstract A file system is the set of logical structures and routines that allow the operating systemto store data in persistent memory units such as floppy disks and hard

Upload: daiana-de-avila

Post on 24-Jan-2015

1.715 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sistemas de arquivos   artigo

Sistemas de Arquivos

Daiana Paula de Ávila

<[email protected]>

Universidade do Contestado - UnC Concórdia - 04/2012

Resumo

Um sistema de arquivos é o conjunto de estruturas lógicas e rotinas que permitem

ao sistema operacional armazenar dados nas unidades de memória persistentes

como discos flexíveis e rígidos, pendrives, CDROM e DVDs, ou seja, são dados não

voláteis de acesso concorrente. As principais operações que podem ser executadas

são as de abrir, fechar, deletar, ler, escrever. Possui Diretório, também conhecidos

como pastas, são arquivos do sistema de arquivos que tem a função de guardar as

informações de identificação dos documentos no computador. O Diretório pode ser

de um ou dois níveis. A alocação dos sistemas de arquivos poderá ser contíngua,

por lista encadeada ou indexada.

Abstract

A file system is the set of logical structures and routines that allow the operating

systemto store data in persistent memory units such as floppy disks and hard

drives, flash drives, CDROM and DVDs, or non-volatile data are concurrent

access. The main operations that can be performed are as open, close, delete, read,

write. Has directory,also known as folders, files are system files that have the

function of storing identification information of the documents on your

computer. The directory can be one or two levels.The allocation of file systems can

be contíngua for linked list or indexed.

Page 2: Sistemas de arquivos   artigo

Introdução

O sistema de arquivos provê o mecanismo para o armazenamento online e o

acesso a dados e programas do sistema operacional e de todos os usuários do

computador. O sistema de arquivos consiste em duas partes distintas: uma coleção

de arquivos, cada um armazenando dados relacionados, e uma estrutura de

diretório, que organiza e fornece informações sobre todos os arquivos no sistema.

Alguns sistemas de arquivos possuem uma terceira parte, as partições, usadas para

separar grandes coleções de diretórios física e logicamente. (SILBERSCHATZ et al,

2004).

Os arquivos são gerenciados pelo sistema operacional. O modo como eles

são estruturados, nomeados, acessados, utilizados, protegidos e implementados

constitui temas importantes no projeto de um sistema operacional. Como um todo, a

parte do sistema operacional que lida com arquivos é conhecida como o sistema de

arquivos. (TANENBAUM & WOODHULL, 2000).

Arquivos

Os arquivos são mapeados pelo sistema operacional em dispositivos físicos.

Esses dispositivos de armazenamento não são voláteis, de modo que o conteúdo

persiste mesmo em casos de falta de energia e reinicialização do sistema.

(SILBERSCHATZ et al, 2004).

Arquivos são um poderoso mecanismo de abstração que permite ao usuário

(e seus programas) utilizar dados armazenados dentro do sistema computacional,

ou seja, através da manipulação dos arquivos são realizadas as operações de

escrita e leitura de dados, de forma transparente, evitando que sejam conhecidos

detalhes do funcionamento com que estas operações tratam e armazenam a

informação. (JANDL, 2004).

Provavelmente a mais importante característica de qualquer mecanismo de

abstração é a maneira como são nomeados os objetos que estão sendo

gerenciados. Quando um processo cria um arquivo, ele lhe dá um nome. Quando o

Page 3: Sistemas de arquivos   artigo

processo termina, o arquivo continua a existir e a poder ser acessado por outros

processos, utilizando seu nome. (TANEBAUM; WOODHULL, 2000).

Atributos de Arquivo

São informações de controle de cada arquivo. Variam dependendo o Sistema

de Arquivos, porém estes estão presentes em quase todos os sistemas: nome, local,

tipo, tamanho, proteção, identificação do criador, data da criação. (SILBERSCHATZ

et al, 2004).

Nem sempre os atributos oferecidos pó um sistema de arquivos são

suficientes para exprimir todas as informações a respeito de um arquivo. Nesse

caso, a “solução” encontrada pelos usuários é usar o nome do arquivo para exprimir

a informação desejada. Por exemplo, em muitos sistemas a parte final do nome do

arquivo (sua extensão) é usada para identificar o formato de seu conteúdo. Outra

situação é usar parte do nome do arquivo para identificar diferentes versões do

mesmo conteúdo. (MAZIERO, 2011).

As informações sobre todos os arquivos são manipuladas na estrutura do

diretório, que também reside no armazenamento secundário. Em geral, uma entrada

de diretório consiste no nome do arquivo e seu identificador exclusivo. O

identificador, por sua vez, localiza os outros atributos do arquivo. Pode ser

necessário 1 kilobyte para registrar essas informações para cada arquivo. Em um

sistema com muitos arquivos, o tamanho do próprio diretório pode ser de

megabytes. Como os diretórios, assim como os arquivos precisam ser não voláteis,

eles precisam ser armazenados no dispositivo e trazidos para a memória aos

poucos, conforme a necessidade. (SILBERCHATZ et al, 2004).

Operações com Arquivos

Os arquivos existem para armazenar informações e permitir que estas sejam

recuperadas mais tarde. Sistemas diferentes oferecem operações diferentes para

permitir armazenamento e recuperação. São chamadas de sistema mais comuns

Page 4: Sistemas de arquivos   artigo

que se relacionam com arquivos: create, delete, open, close, read, write, append,

seek, get atributes, set atributes e rename. (TANENBAUM; WOODHULL, 2000).

Diretórios

Os sistemas de arquivos dos computadores podem ser extensos. Alguns

sisteas armazenam milhões de arquivos em terabytes de disco. Para gerenciar todos

esses dados, precisamos organizá-los. Essa organização é feita em duas partes:

primeiro, os discos são divididos em uma ou mais partições. Cada disco em um

sistema contém pelo menos uma partição, que é uma estrutura de nível inferior em

que os arquivos e diretórios residem. As partições podem ser consideradas discos

virtuais, também podem armazenar vários sistemas operacionais, permitindo a um

sistema inicializar e executar mais de um deles. Segundo, cada partição contém

informações dentro dela. Essas informações são mantidas em entradas no diretório

do dispositivo ou sumário do volume. O diretório do dispositivo registra

informações - como nome, local, tamanho e tipo – para todos os arquivos nessa

partição. (SILBERSCHATZ et al, 2004).

- Sistema de Diretório em nível único

A maneira mais simples de sistema de diretório é ter um diretório contendo

todos os arquivos. Algumas vezes ele é chamado de diretório-raiz, mas, como ele é

só um, o nome não importa muito. Nos primeiros computadores pessoais, esse

sistema era comum, em parte, porque havia somente um usuário. Curiosamente, o

primeiro supercomputador do mundo, o CDC 6600, também tinha somente um

diretório para todos os arquivos, mesmo sendo usado por várias pessoas ao mesmo

tempo. São mostrados os proprietários dos arquivos e não seus nomes. As

vantagens desse esquema são a simplicidade e a capacidade de localizar os

arquivos rapidamente – afinal, há somente um lugar onde procurar. (TANENBAUM,

2003).

Page 5: Sistemas de arquivos   artigo

- Diretório de dois níveis

Um diretório de único nível normalmente ocasiona confusão de nomes de

arquivos entre diferentes usuários. A solução é criar um diretório separado para

cada usuário. Na estrutura de diretório de dois níveis, cada usuário possui seu

próprio diretório de arquivos do usuário (UFD). Os UFD possuem estruturas

semelhantes, mas cada um lista apenas os arquivos de um único usuário. Quando a

tarefa de um usuário é iniciada ou quando um usuário efetua o login, o diretório de

arquivos mestre (MDF) é pesquisado. O MDF é deixado por nome de usuário ou

número de conta, e cada entrada aponta para o UFD desse usuário. Quando um

usuário se refere a determinado arquivo, somente se próprio arquivo UFD é

pesquisado. Assim, diferentes usuários podem ter arquivos com o mesmo nome,

desde que todos os nomes de arquivo dentro de cada UFD sejam exclusivos.

(SILBERCHATZ et al, 2004).

Implementação de Arquivos

A questão mais importante na implementação de armazenamento de arquivos

talvez seja a manutenção do controle de quais blocos de discos estão relacionados

a quais arquivos. São usados vários métodos em diferentes sistemas operacionais.

(TANENBAUM, 2003).

A alocação de um arquivo no disco tem como ponto de partida a definição de

um bloco de controle de arquivo (FCB – File Control Block), que nada mais é que

uma estrutura contendo os meta-dados do arquivo e a localização de seu conteúdo

no disco. Em alguns sistemas de arquivos mais simples, como o sistema FAT (File

Alocation Table) usado em plataformas MS-DOS, o FCB é bastante pequeno e cabe

na entrada correspondente ao arquivo, na tabela de diretório onde ele se encontra

definido. Em sistemas de arquivos mais complexos, os blocos de controle de

arquivos são definidos em estruturas separadas, como a Master File Table do

sistema NTFS e os i-nodes do sistema UNIX. (MAZIERO, 2011).

Page 6: Sistemas de arquivos   artigo

- Alocação contíngua

O esquema mais simples de alocação é armazenar cada arquivo como um

bloco contíguo de dados no disco. Assim, em um disco com blocos de 1K, um

arquivo de 50K alocaria 50 blocos consecutivos. Esse esquema tem duas vantagens

significativas, é simples de implementar porque monitorar os blocos de um arquivo

estão reduz-se a lembrar um número, o endereço de disco do primeiro bloco. A outra

vantagem é que o desempenho é excelente porque o arquivo inteiro pode ser lido do

disco em uma única operação. (TANENBAUM; WOODHULL, 2000).

A alocação contígua tem dois grandes problemas também. Primeiro, só pode

ser usada se o tamanho máximo do arquivo for conhecido no momento de sua

criação. Sem esta informação, o sistema operacional não pode saber quanto espaço

em disco deve ser reservado. O segundo problema é a fragmentação do disco,

resultante desta política de alocação. Perde-se muito espaço útil. A compactação do

disco normalmente é tão cara que torna-se proibitiva, apesar de poder ser realizada

à noite, quando o sistema é pouco usado. (TANENBAUM, 1995).

- Alocação por lista encadeada

Este método para armazenar arquivos mantém, cada um, como uma lista

encadeada de blocos de disco. A primeira palavra de cada bloco é usada como

ponteiro para um próximo. O restante do bloco é usado para dados, todo bloco de

disco pode ser usado. Para manter uma entrada de diretório é suficiente armazenar

apenas o endereço em disco do primeiro bloco. O restante pode ser encontrado a

partir dele. (TANENBAUM, 2003).

Os principais problemas da alocação encadeada são o baixo desempenho

nos acessos diretos e a relativa fragilidade em relação a erros nos blocos do disco.

Ambos os problemas provêm do fato de que os ponteiros dos blocos são

aramzenados nos próprios blocos, junto dos dados do arquivo. Para resolver esse

problema, os ponteiros podem ser retirados dos blocos de dados arazaenados em

uma tabela separada. Essa tabela é denominada Tabela de Alocação de Arquivos

(FAT), sendo a base dos sistemas de arquivos FAT12, FAT16 e FAT32 usados nos

Page 7: Sistemas de arquivos   artigo

sistemas operacionais MS-Dos, Windows e em muitos dispositivos de

armazenamento portáteis, como pen-drives, reprodutores MP3 e câmeras

fotográficas digitais. (MAZIERO, 2011).

- Alocação indexada

Na alocação indexada cada arquivo possui seu próprio bloco de índice, que é

um array de endereços de bloco do disco. A entrada i do bloco de índice aponta para

o bloco i do arquivo. O diretório contém o endereço do bloco de índice. Para ler o

bloco i, usamos o ponteiro para a entrada de bloco de índice i a fim de encontrar e

ler o bloco desejado. A alocação indexada admite acesso direto, sem sofrer com a

fragmentação externa, pois qualquer bloco livre no disco pode satisfazer a uma

requisição de mais espaço. (SILBERSCHATZ et al, 2004).

Page 8: Sistemas de arquivos   artigo

Conclusão

Quando visto de fora, um sistema de arquivos é uma coleção de arquivos e

de diretórios, mais as operações sobre os mesmo. Os arquivos podem ser lidos,

gravados, os diretórios podem ser criados e destruídos, e os arquivos podem ser

movidos de um diretório para outro. Sistemas de arquivos mais modernos suportam

um sistema de diretório hierárquico, nos quais diretórios podem ter subdiretórios ad

infinitum.

Quando visto do interior, um sistema de arquivos parece bem diferente. Os

projetistas de sistema de arquivos precisam preocupar-se com o modo como o

armazenamento é alocado e com o modo como o sistema monitora qual bloco vai

com qual arquivo. Bem como diferentes sistemas têm diferentes estruturas de

diretórios, a confiabilidade e o desempenho do sistema de arquivos também são

questões importantes.

Entre os exemplos de sistemas de arquivos estão ISSO 9660, CP/M, MS-

DOS, Windows 98 e Unix. Eles se diferenciam de várias maneiras, inclusive pelo

modo de monitorar quais blocos vão para quais arquivos, pela estrutura de diretórios

e pelo gerenciamento do espaço livre em disco.

Page 9: Sistemas de arquivos   artigo

Referências

JANDL, Peter, Jr. Notas sobre Sistemas Operacionais. 2004. Disponível em:

<http://rossano.pro.br/fatec/cursos/soii/SistemasOperacionais-peter-jandl-jr.pdf>.

Acesso em 20-03-2012 ás 16:00.

MAZIERO, Carlos Alberto. Sistemas Operacionais VI – Gerência de Arquivos.

2011. Disponível em: <http://dainf.ct.utfpr.edu.br/~maziero>. Acesso em 06-04-2012

ás 10:50.

SILBERSCHATZ, Abraham; GALVIN, Peter Baer; GAGME, Game. Sistemas

operacionais. Rio de Janeiro: Elsevier, 2004.

TANENBAUM, Andrew S. Sistemas Operacionais Modernos. Rio de Janeiro: JC,

1995.

TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2. Ed. São Paulo:

Pearson Prentice Hall, 2003.

TANENBAUM, Andrew S.; WOODHULL, Albert S. Sistemas Operacionais: projeto

e implementação. 2. ed. Porto Alegre: Bookman, 2000.