Sumário
• Introdução
Sistema de Arquivos
• Sistema de Arquivos
• Arquivos
• Diretórios
• Esquema do Sistema de Arquivos
M. Sc. Luiz Alberto
[email protected]
Aula - SO – Sistema de Arquivos
Introdução
• A parte do sistema responsável pela gerência é denominada sistema
de arquivo que é a parte mais visível do sistema operacional pois é
uma atividade freqüentemente realizada pelos usuários.
• Deve ocorrer de maneira uniforme independente dos diferentes
dispositivos de armazenamento.
–2–
Prof. Luiz Alberto -
Definição
• Os arquivos são gerenciados pelo sistema operacional e é mediante a
implementação de arquivos que o sistema operacional estrutura e
organiza as informações.
Aula - SO – Sistema de Arquivos
–1–
Prof. Luiz Alberto -
• Um sistema de arquivos provê mecanismos para
acesso a dados e programas em um sistema
operacional.
• Cria um recurso lógico a partir de recursos físicos
através de uma interface coerente e simples.
• Consiste de duas partes distintas:
– Uma coleção de arquivos
– Uma estrutura de diretórios
Aula - SO – Sistema de Arquivos
–3–
Prof. Luiz Alberto -
Definição (cont.)
Arquivos
• Questões no qual o sistema de arquivos tende a resolver
sobre armazenamento de informações a longo prazo:
– Deve ser possível o armazenamento de grande quantidade de
informações.
– A informação deve sobreviver (persistência) ao término do processo
que a estiver usando.
– Vários processos devem ser capazes de manipular concorrentemente
a informação.
Aula - SO – Sistema de Arquivos
–4–
Prof. Luiz Alberto -
• É um conjunto de registros definidos pelo sistema de
arquivos e podem ser armazenados em diferentes
dispositivos físicos.
• É constituído de informações logicamente relacionadas,
podendo representar programas ou dados.
• Para o sistema operacional um arquivo é uma seqüência de
bytes.
Aula - SO – Sistema de Arquivos
Arquivos (cont.)
–6–
Prof. Luiz Alberto -
Arquivos (cont.)
• É identificado por meio de um nome, formado por uma
seqüência de caracteres.
• A atribuição de nomes a arquivos é feita no momento de
sua criação.
• Em alguns sistemas operacionais, a identificação de um
arquivo é composta por duas partes separadas por um
ponto, a parte após o ponto é chamada extensão do arquivo
e serve para identificar o conteúdo.
Aula - SO – Sistema de Arquivos
–5–
Prof. Luiz Alberto -
• As regras a serem adotadas para a confecção do nome de
um arquivo variam de acordo com o SO.
• Exemplos:
– DOS:
• <nome>.<extensao>, onde o <nome> pode conter até 8 caracteres e a extensão
contem até 3 caracteres. Não sensitivo ao caso (caseinsensitive).
– UNIX:
• <nome>, onde <nome> pode conter até 14 ou até 255 caracteres, dependendo
do sistema de arquivos utilizado. Sensitivo ao caso (case-sensitive).
Aula - SO – Sistema de Arquivos
–7–
Prof. Luiz Alberto -
Extensão de Arquivos
Extensão
Descrição
arquivo.c
arquivo.cob
arquivo.exe
arquivo.obj
arquivo.pas
arquivo.txt
arquivo.mp3
arquivo.dll
Arquivo fonte em C
Arquivo fonte em Cobol
Arquivo executável
Arquivo objeto
Arquivo fonte em Pascal
Arquivo texto
Arquivo de música
Arquivo de biblioteca dinâmica
Aula - SO – Sistema de Arquivos
–8–
Estrutura do Arquivo
• O servidor de arquivos deve implementar a abstração de
arquivo para o restante do sistema. Para tanto, ele deve
determinar como o arquivo será estruturado internamente.
• As estruturas de arquivos mais comuns são:
– sequência de bytes
– sequência de registros
– árvore de registros
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
–9–
Prof. Luiz Alberto -
Sequência de Registros
Sequência de Bytes
• Neste caso, não há estrutura. O arquivo é simplesmente enxergado
como uma sequência de bytes.
• O SO não tem conhecimento do significado e da estruturação dos
campos que compõem um arquivo.
• Neste caso, o arquivo é estruturado pelo SO como uma sequência de
registros de tamanho fixo.
• As operações de leitura e escrita retornam um registro.
• Este tipo de estruturação foi muito popular no tempo dos cartões
perfurados e das impressoras com número fixo de caracteres.
• Vantagens: flexibilidade, possibilidade de uso não convencional de
arquivos
• Desvantagens: em alguns casos, acesso não otimizado aos dados
• Estratégia adotada tanto pelo UNIX quanto pelo Windows
• Vantagens: acesso otimizado por registro
• Desvantagens: dificuldade em se determinar o tamanho do registro,
perda de flexibilidade, espaços não utilizados.
• – Exemplo: CP/M
Aula - SO – Sistema de Arquivos
– 10 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 11 –
Prof. Luiz Alberto -
Tipos de Arquivos
Árvores de Registros
• Neste caso, o arquivo é uma árvore de registros de tamanho variável.
Cada registro é composto por um campo chave, contido em uma
posição fixa. A árvore é ordenada pelo campo chave.
• Esta estruturação visa otimizar o acesso randômico a registros.
• Alguns sistemas operacionais suportam vários tipos de arquivos.
• Arquivos regulares
– contem os dados do usuário (Arquivos ASCII ou binários).
• Diretórios
– Mantém a estrutura do sistema de arquivos.
• Arquivos especiais de caracteres
• Vantagens: acesso randômico otimizado
• Desvantagens: complexidade da
implementação, estrutura fixa de
Armazenamento
• Exemplos: sistemas de grande porte,
MUMPS
Aula - SO – Sistema de Arquivos
– 12 –
– Modelam dispositivos de E/S.
• Arquivos especiais de blocos
– Modelam discos.
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
Tipos de Arquivos (cont.)
– 13 –
Prof. Luiz Alberto -
Tipos de Arquivos (cont.)
• Em geral, os arquivos são ASCII ou binários.
• Arquivos ASCII podem ser colocados diretamente na tela ou na
impressora.
• Arquivos binários contem caracteres que não podem ser impressos
sem um tratamento adicional.
• O arquivo executável é um arquivo binário.
• Alguns sistemas operacionais suportam vários tipos de arquivos.
• Arquivos regulares
– contem os dados do usuário (Arquivos ASCII ou binários).
• Diretórios
– Mantém a estrutura do sistema de arquivos.
• Arquivos especiais de caracteres
– Modelam dispositivos de E/S.
• Arquivos especiais de blocos
– Modelam discos.
Aula - SO – Sistema de Arquivos
– 14 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 15 –
Prof. Luiz Alberto -
Acesso a Arquivo (cont.)
Acesso a Arquivo
• Os métodos de acesso determinam como os dados contidos
no arquivo serão recuperados pelo usuário.
– Acesso sequencial
– Acesso direto (ou aleatório)
• Acesso seqüencial
• Os sistemas de arquivos podem oferecer simultaneamente
os dois métodos de acesso e o usuário determina o método
a ser utilizado na criação do arquivo.
• A maioria dos SO modernos oferece somente o método de
acesso direto.
• Acesso aleatório
Aula - SO – Sistema de Arquivos
– 16 –
Prof. Luiz Alberto -
– Uma operação de leitura de um determinado arquivo deve partir do
início, nunca saltando e fora de ordem.
– Este método é baseado no funcionamento da fita magnética.
– Os arquivos sequenciais podem ser rebobinados para o início e lidos
inúmeras vezes.
– Uma operação de leitura pode ser feita a partir de qualquer posição
do arquivo.
– Este método é baseado no funcionamento do disco.
Aula - SO – Sistema de Arquivos
Atributos do arquivo
– 18 –
Prof. Luiz Alberto -
Atributos do arquivo (cont.)
• Além do nome e dos dados, o SO associa a cada arquivo
um conjunto de informações que auxiliam na gerência dos
mesmos.
• Estas informações adicionais são chamadas atributos e
estão geralmente contidas na tabela de arquivos.
Aula - SO – Sistema de Arquivos
– 17 –
Prof. Luiz Alberto -
• São exemplos de atributos de arquivos:
–
–
–
–
–
–
–
–
–
–
–
proteção: indica as permissões de acesso ao arquivo
password: password necessária para o acesso ao arquivo
criador: usuário criador do arquivo
owner: proprietário atual do arquivo
flag de oculto: impede que o nome do arquivo apareça na lista de arquivos
flag de temporário: o arquivo é deletado quando o processo que o criou morrer.
tamanho: tamanho atual do arquivo
tamanho máximo: tamanho máximo que o arquivo pode atingir.
instante da última modificação
instante da criação
etc
Aula - SO – Sistema de Arquivos
– 19 –
Prof. Luiz Alberto -
Operações sobre o arquivo
Operações sobre o arquivo (cont.)
• As operações feitas sobre um arquivo vão depender do sistema de
arquivos de cada SO.
• Existe, no entanto, um conjunto de operações que constam na maioria
dos sistemas de arquvos:
• Operações sobre arquivos:
• Operações sobre arquivos:
– OPEN: Antes de ser utilizado, o arquivo precisa ser aberto. Essa chamada traz a
entrada da tabela de arquivos referente ao arquivo a ser aberto para a tabela de
processos do processo que executou o OPEN. Este comando retorna um descritor
de arquivo, que será utilizado em todas as operações subsequentes sobre o arquivo.
– CREATE: cria um arquivo. Deve-se criar uma entrada para o novo arquivo no
diretório especificado. Além disso, deve-se criar uma entrada na tabela de
arquivoscom o nome do criador, data de criação e permissões de acesso. O arquivo
recem-criado não possui dado nenhum.
– CLOSE: quando o processo não necessitar mais acessar o arquivo, ele executa a
operação CLOSE. Esta operação retira a entrada da tabela de arquivos referente ao
arquivo da entrada da tabela de processos do processo. Todos os acessos
subsequentes ao descritor de arquivo serão inválidos.
– DELETE: Libera o espaço ocupado pelo arquivo, deleta a entrada do diretório que
aponta para o arquivo e deleta a entrada na tabela de arquivos.
– READ: para ler um arquivo, o processo deve especificar um descritor válido, a
quantidade de dados a serem lidos e um local (buffer) em memória onde os dados
lidos devem ser colocados. A maioria das operações de leitura lê a partir da posição
corrente.
Aula - SO – Sistema de Arquivos
– 20 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
Operações sobre o arquivo (cont.)
• Operações sobre arquivos:
– WRITE: para escrever dados em um arquivo, o processo deve especificar um
descritor válido, um buffer local que contenha os dados a serem escritos e o
tamanho destes dados. Normalmente, os dados são escritos em um arquivo a partir
da posição corrente.
– APPEND: escreve dados em um arquivo, a partir do final do mesmo.
– SEEK: utilizado para arquivos de acesso randômico. Para se fazer um seek é
necessário um ponteiro para o arquivo. O SEEK faz com que o ponteiro fornecido
seja a nova posição corrente do arquivo.
– 21 –
Prof. Luiz Alberto -
Diretórios
• Modo como o sistema organiza os diferentes arquivos contidos num
disco
• É a estrutura de dados que contém entradas associadas aos arquivos
– localização física, nome, organização e demais atributos
• Quando um arquivo é aberto, o sistema operacional procura a sua
entrada na estrutura de diretórios
• As informações do arquivo são armazenadas em uma tabela mantida
na memória principal(tabela de arquivo abertos)
– Fundamental para aumentar o desempenho das operações com arquivos
– RENAME: muda o nome do arquivo. Simplesmente altera o nome do arquivo na
tabela de arquivos.
Aula - SO – Sistema de Arquivos
– 22 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 23 –
Prof. Luiz Alberto -
Diretório em Nível Único
Diretório em Nível Único (cont.)
• Implementação mais simples
• Existe apenas um único diretório contendo todos os arquivos do
disco
• Bastante limitado já que não permite que usuários criem arquivos
com o mesmo nome
• Isso ocasionaria um conflito no acesso aos arquivos
Identificação
Proteção
Organização
Localização física
Atributos
Diretório
Aula - SO – Sistema de Arquivos
– 24 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
Diretório em Dois Níveis
– 26 –
– 25 –
Prof. Luiz Alberto -
Diretórios Hierárquicos
• Para cada usuário existe um
diretório particular e assim poderia
criar arquivos com qualquer nome.
• Deve haver um nível de diretório
adicional para controle que é
indexado pelo nome do usuário
• Cada entrada aponta para o
diretório pessoal.
Aula - SO – Sistema de Arquivos
Arquivos
•
•
•
•
Adotado pela maioria dos sistemas operacionais
Logicamente melhor organizado
É possível criar quantos diretórios quiser
Um diretório pode conter arquivos e outros diretórios (chamados
subdiretórios)
• Cada arquivo possui um path único que descreve todos os
diretórios da raiz (MFD) até o diretório onde o arquivo esta ligado
• Na maioria dos S.O.s os diretórios são tratados como arquivos tendo
atributos e identificação
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 27 –
Prof. Luiz Alberto -
Nomes de Diretórios
Diretórios Hierárquicos (cont.)
• Como os arquivos estão organizados em diretórios, o “caminho” que
é necessário se percorrer para se chegar até o arquivo também faz
parte do seu nome.
• Nome absoluto: nome que vai do diretório raiz até o arquivo.
• – Ex: /usu1/b/d
• Nome relativo: nome relativo ao diretório corrente.
• – Diretório corrente: diretório no qual estamos posicionados
atualmente.
• – Ex: (diretório corrente=usu1) b/d, ../usu3/c
Aula - SO – Sistema de Arquivos
– 28 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
•
•
•
•
•
•
•
•
• Caminho absoluto:
– Windows: \usr\ast\caixapostal
– Unix: /usr/ast/caixapostal
– MULTICS: >usr>ast>caixapostal
• Caminho relativo:
– Unix: cp caixaposta caixapostal.bak
. diretorio atual
.. diretorio acima (pai)
– 30 –
Prof. Luiz Alberto -
Operações com Diretórios
Nomes de Diretórios (cont.)
Aula - SO – Sistema de Arquivos
– 29 –
Prof. Luiz Alberto -
Create - cria um diretório
Delete - remove um diretório
Opendir - lê diretórios
Closedir - fecha um diretório
Readdir - retorna prox. entrada do dir. aberto
Rename - renomeia o nome do diretório
Link - ligação de arquivos em dirs. Diferentes
Unlink - remove a ligação
Aula - SO – Sistema de Arquivos
– 31 –
Prof. Luiz Alberto -
Esquema do Sistema de Arquivos
Esquema do Sistema de Arquivos (cont.)
• A maioria dos discos é dividida em uma ou mais partições com
Sistemas de arquivos independentes para cada partição
• O setor 0 do disco é chamado de Master Boot Record (MBR)
• Na inicialização do sistema, a BIOS lê e executa o MBR
– O programa do MBR localiza a partição ativa, lê seu primeiro bloco, chamado de
bloco de boot
– O programa no bloco de boot carrega o S.O. contido na partição
• O esquema da partição varia de um S.O. para outro, mas é comum:
– A definição de um SuperBloco: contém os principais parâmetros do sistema de
arquivos (tipo, no. de blocos, etc.)
– As informações sobre os blocos livres
Aula - SO – Sistema de Arquivos
– 32 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 33 –
Prof. Luiz Alberto -
Implementação de arquivos
Alocação Contígua
• A primeira coisa a se decidr na implementação de arquivos
é como os mesmos serão armazenados. Os dados contidos
nos arquivos são armazenados em blocos de disco.
• Para a associação de blocos de disco a arquivos, temos as
seguintes abordagens:
• Consiste em armazenar um arquivo em blocos seqüencialmente
dispostos
• O sistema localiza um arquivo através do endereço do primeiro bloco
e da sua extensão em blocos
• O acesso é bastante simples
• Seu principal problema é a alocação de novos arquivos nos espaços
livres
–
–
–
–
Alocação contígua
Alocação com lista encadeada
Alocação com lista encadeada e índice
Nós-i
– Para armazenar um arquivo que ocupa n blocos, é necessário uma cadeia com n
blocos dispostos seqüencialmente no disco
• Além disso, como determinar o espaço necessário a um arquivo que
possa se estender depois da sua criação?
– Pré-alocação (fragmentação interna)
Aula - SO – Sistema de Arquivos
– 34 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 35 –
Prof. Luiz Alberto -
Alocação Contígua (cont.)
Aula - SO – Sistema de Arquivos
– 36 –
Alocação Contígua (cont.)
Prof. Luiz Alberto -
Alocação por Lista Encadeada
Aula - SO – Sistema de Arquivos
– 37 –
Prof. Luiz Alberto -
Alocação por Lista Encadeada (cont.)
• O arquivo é organizado como um conjunto de blocos ligados no
disco
• Cada bloco deve possuir um ponteiro para o bloco seguinte
• Aumenta o tempo de acesso ao arquivo, pois o disco deve deslocar-se
diversas vezes para acessar todos os blocos
• É necessário que o disco seja desfragmentado periodicamente
• Esta alocação só permite acesso seqüencial
• Desperdício de espaço nos blocos com armazenamento de ponteiros
Aula - SO – Sistema de Arquivos
– 38 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 39 –
Prof. Luiz Alberto -
Alocação por Lista Encadeada usando Tabela Alocação por Lista Encadeada usando Tabela
na Memória
na Memória (cont.)
• Mantém os ponteiros de todos os blocos de arquivos em
uma única estrutura denominada Tabela de Alocação de
Arquivos
Alocação por Lista Encadeada usando Tabela na Memória
Alocação Encadeada
– FAT (File Allocation Table)
• Vantagens:
– Permitir o acesso direto aos blocos
– Não mantém informações de controle dentro dos blocos de dados
• Desvantagem
– A tabela deve estar na memória o tempo
• Esquema usado pelo MS-DOS, Win95 e Win98
Aula - SO – Sistema de Arquivos
– 40 –
Prof. Luiz Alberto -
i-nodes
Aula - SO – Sistema de Arquivos
– 41 –
Prof. Luiz Alberto -
Fragmentação Interna
• Cada arquivo possui uma tabela (inode) no disco
• O i-node só precisa estar na
memória quando o arquivo
correspondente estiver aberto
• Ocupa menos espaço que a FAT
• Arquivos são alocados em blocos:
• Os blocos têm tamanho fixo.
• Entre 512 bytes e 8 Kbytes.
• Um bloco não pode ser alocado parcialmente.
• Se usarmos blocos de 4096 bytes:
– Tamanho da FAT cresce linearmente
com o tamanho do disco
– I-nodes requerem um espaço
proporcional à quantidade máxima de
arquivos abertos
• um arquivo de 5700 bytes ocupará 2 blocos.
• 2492 bytes serão perdidos no último bloco.
• Em média, perde-se 1/2 bloco por arquivo.
• Usados por sistemas baseados no
UNIX
Aula - SO – Sistema de Arquivos
– 42 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 43 –
Prof. Luiz Alberto -
Tamanho dos Blocos
Gerência de Espaço Livre
• A escolha do tamanho dos blocos é importante para a
eficiência do sistema.
• Blocos pequenos:
• Necessidade de alocar espaço livre do disco a arquivos.
• Muitos sistemas operacionais enxergam o disco como uma
seqüência de blocos e não de setores.
– blocos são agrupamentos de setores.
• menor perda por fragmentação interna
• mais blocos por arquivo: maior custo de gerência
• A unidade de gerência do espaço físico passa a ser bloco.
• Blocos grandes:
• maior perda por fragmentação interna
• menos blocos por arquivo: menor custo de gerência
Aula - SO – Sistema de Arquivos
– 44 –
Prof. Luiz Alberto -
Gerência de Espaço Livre (cont.)
• Mapa de bits
– 45 –
Prof. Luiz Alberto -
Gerência de Espaço Livre (cont.)
• Lista de blocos livres
– Forma simples de gerenciar o espaço em disco.
– A cada bloco do disco está associado um bit indicando se
o bloco está livre ou ocupado.
– Como vantagens deste esquema, podemos citar o pouco
espaço consumido. Além disso, o espaço consumido é
fixo.
– A desvantagem é a possibilidade de operações demoradas
de alocação de blocos.
Aula - SO – Sistema de Arquivos
Aula - SO – Sistema de Arquivos
– 46 –
Prof. Luiz Alberto -
– Os blocos livres são organizados em uma lista.
– A lista é mantida no próprio disco
• O problema é o tamanho da lista.
• A medida que o espaço em disco é ocupado a lista diminui de
tamanho liberando espaço do disco.
– Uma solução alternativa é manter uma lista de áreas livres
ao invés de uma lista de blocos livres.
Aula - SO – Sistema de Arquivos
– 47 –
Prof. Luiz Alberto -
Confiabilidade
Gerência de Blocos Ruins
• A perda de dados ou mesmo de arquivos inteiros é
extremamente onerosa para o usuário. No mínimo, ele vai
gastar muito tempo para colocar o SA no estado que estava
antes da perda.
• Existem algumas técnicas que podem ajudar a reduzir a
probabilidade da perda total da informação:
– Gerência de blocos ruins
– Backups
– Gerência da consistência
• Os discos rígidos geralmente saem da fábrica com um conjunto de
blocos defeituosos.
• Para tratar os blocos ruins, existem duas abordagens:
– Por hardware: Um setor específico do disco armazena a lista de blocos ruins.
Quando a controladora de disco é ativada pela primeira vez, ela faz um
mapeamento dos blocos ruins em “blocos reservas”. Desta maneira, os blocos ruins
nunca serão utilizados.
• A capacidade do disco é reduzida do número de blocos ruins.
– Por software: É construído um arquivo contendo todos os blocos defeituosos.
Como os blocos fazem agora parte de um arquivo, o SA não os coloca na lista de
blocos livres.
• O SA tem que impedir que este arquivo seja lido ou escrito.
Aula - SO – Sistema de Arquivos
– 48 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
• Mesmo com todos os controles de defeitos, existe sempre a
possibilidade real de perda irreparável da informação (crash do
disco).
• Para tratar este problema, a única solução é copiar periodicamente as
informações do disco para um outro lugar (disco ou fita), duplicandoas (ou triplicando-as).
• As fitas novas possuem uma capacidade maior ( 300Mb, 600Mb)
porém sua confiabilidade é mais baixa. Além disso, seu preço é alto.
• Por isso, e como o preço dos discos vem caindo, está se tornando
cada vez mais usual o backup disco a disco.
– 50 –
Prof. Luiz Alberto -
Backup (cont.)
Backup
Aula - SO – Sistema de Arquivos
– 49 –
Prof. Luiz Alberto -
• Existem vários tipos de backup, dentre eles:
• Backup total: faz a cópia de todos os arquivos do disco
• Backup incremental: faz a cópia somente dos arquivos que foram
alterados desde o último backup total ou desde o último backup
incremental
• Em uma instalação, é comum se fazer um backup total por semana
(e.g. sexta-feira) e backups incrementais diários. Assim, mantemos
no máximo 7 backups: 1 completo e 6 incrementais.
Aula - SO – Sistema de Arquivos
– 51 –
Prof. Luiz Alberto -
Backup (cont.)
Dúvidas?
• Existem vários tipos de backup, dentre eles:
• Backup total: faz a cópia de todos os arquivos do disco
• Backup incremental: faz a cópia somente dos arquivos que foram
alterados desde o último backup total ou desde o último backup
incremental
• Em uma instalação, é comum se fazer um backup total por semana
(e.g. sexta-feira) e backups incrementais diários. Assim, mantemos
no máximo 7 backups: 1 completo e 6 incrementais.
Aula - SO – Sistema de Arquivos
– 52 –
Prof. Luiz Alberto -
Aula - SO – Sistema de Arquivos
– 53 –
Prof. Luiz Alberto -
Download

Aula - SO - Sistema de Arquivos