S is te m a d e A rq uiv os
Sistemas de Arquivos
Sistemas de Arquivos
S is te m a d e A rq uiv os
Definições Básicas
Definições Básicas
1.1.Um arquivo é uma unidade lógica de informação Um arquivo é uma unidade lógica de informação criado por processos. As informações podem
criado por processos. As informações podem
representar instruções e dados de qualquer tipo [1].
representar instruções e dados de qualquer tipo [1].
Exemplo de arquivos.
Exemplo de arquivos.
2
2.Os arquivos são gerenciados pelo sistema .Os arquivos são gerenciados pelo sistema operacional para facilitar o acesso pelos usuários. A
operacional para facilitar o acesso pelos usuários. A
parte do sistema operacional responsável por este
parte do sistema operacional responsável por este
gerenciamento é o Sistema de Arquivos [2].
gerenciamento é o Sistema de Arquivos [2].
S is te m a d e A rq uiv os
Considerações
Considerações
1.1.O armazenamento e a recuperação de informações O armazenamento e a recuperação de informações são as atividades essenciais de qualquer aplicação;
são as atividades essenciais de qualquer aplicação;
2.Um processo deve ser capaz de ler e gravar de forma
2.Um processo deve ser capaz de ler e gravar de forma
permanente grande volumes de dados em
permanente grande volumes de dados em
dispositivos de armazenamento;
dispositivos de armazenamento;
3.O sistema operacional estrutura e organiza estas
3.O sistema operacional estrutura e organiza estas
informações através do Sistema de Arquivos.
informações através do Sistema de Arquivos.
S is te m a d e A rq uiv os
Organização de Arquivos
Definição
A organização de arquivos consiste em como os
dados
estão
internamente
armazenados,
podendo variar em função do tipo de dados
contido no arquivo [2].
Formas de Organização de Arquivos
a)Organização não-estruturada de bytes;
b)Organização Indexada;
c)Organização Sequencial;
d)Organização Relativa.
S is te m a d e A rq uiv os
Organização de Arquivos
Exemplos de Organização de Arquivos
Byte
(a ) O rg a n iza çã o n ã o - e str u tu r a d a
A n a C lá u d ia Tere sa
Bea triz Ca m ila D a n iele Pa tr ícia Tin a Va n e ssa
Isa b ela M a r ia
Reg istr o
S is te m a d e A rq uiv os
Métodos de Acesso
Em função de como os arquivos estão
organizados, o sistema de arquivos pode
recuperar registros de diferentes maneiras:
a) Acesso sequencial;
b) Acesso direto
c) Acesso Indexado ou Acesso por Chave.
S is te m a d e A rq uiv os
Métodos de Acesso
Acesso direto
Permite a leitura/gravação de um registro diretamente da sua posição. Este método é implementado através através da identificação do número do registro, que é a sua posição relativa ao inicio do arquivo.
Reg istr o
0 Reg istr o1 Registr o2 Registr on
D eslo ca m en to d e d o is reg istr os
S is te m a d e A rq uiv os
Métodos de Acesso
Acesso Indexado
Considerado o mais sofisticado método de
acesso, pois tem como base o acesso
direto. Para este tipo de acesso o arquivo
deve possuir uma chave de índice onde
existam ponteiros para os diversos
registros.
S is te m a d e A rq uiv os
Métodos de Acesso
S is te m a d e A rq uiv os
Operações de Entrada/Saída
O sistema de arquivos disponibiliza uma interface simples e uniforme entre as aplicações e os diversos dispositivos, através das rotinas de E/S, que têm como função realizar operações como a tradução de nomes em endereços, leitura e gravação de dados e criação/eliminação de arquivos.
S is te m a d e A rq uiv os
Operações de Entrada/Saída
A figura abaixo, ilustra de forma simples a comunicação entre a aplicação e dispositivos de entrada/saída.
D i sp o sit iv o s Ro ti n a s d e E/ S
S is te m a d e A rq uiv os
Operações de Entrada/Saída
A tabela abaixo, presenta algumas destas rotinas de E/S implementadas no sistema de Arquivos.
Rotina Descrição
create Criação de arquivos
open Abertura de um arquivo
read Leitura de um arquivo
S is te m a d e A rq uiv os
Atributos do Arquivos
Cada arquivo possui informações de controle denominadas atributos, podendo variá em função do sistema de arquivos, mas alguns são muito utilizados, como os apresentados na tabela abaixo:
Atributo Descrição
Tamanho Especifica o tamanho dos arquivos
Proteção Código de proteção de acesso
Dono Identifica o criador do arquivo
Criação Data e hora de criação do arquivo
Backup Data e Hora do último backup
Organização Indica a organização lógica do arquivo
S is te m a d e A rq uiv os
Diretórios
O diretório é uma estrutura de dados que contém
entradas associadas aos arquivos, onde cada
entrada armazena informações como localização
física, nome organização e demais atributos.
A estrutura de diretórios é a foma como o
sistema organiza logicamente os diversos
arquivos contidos em um ambiente de
armazenamento secundário [1].
S is te m a d e A rq uiv os
Diretórios
Tipos de Estruturas de Diretórios
Nível Único é a mais simples, pois possui apenas um
único diretório contendo todos os arquivos do disco.
I d e n ti f i ca çã o Pr o te çã o O r g a n iza çã o Lo ca l i za çã o A t r ib u t o s D i r e t ó r i o s A r q u i v o s
S is te m a d e A rq uiv os
Diretórios
Tipos de Estruturas de Diretórios
Estrutura de diretórios com dois níveis, neste caso, a
implementação permite a existência de um diretório particular para cada usuário UFD (User File Directory).
Para controlar os diretórios dos usuários é necessário um diretório adicional MFD (Master File Directory) que controla os diretórios do usuário, isto é, a indexação é por nome de usuário, e nele cada entrada aponta para o diretório pessoal.
S is te m a d e A rq uiv os
Diretórios
Tipos de Estruturas de Diretórios
Estrutura de diretórios com dois níveis
Master File Directory (MFD) U su á r i o 1 U su á r i o 2 U su á r i o 3 U su á r i o n A r q u i v o 1 A r q u i v o 2 A r q u i v o 3 A r q u i v o 1 A r q u i v o 1 A r q u i v o 2 A r q u i v o 3 U se r Fi l e D i r e cto r y (U FD ) A r q u i v o s
S is te m a d e A rq uiv os
Diretórios
Tipos de Estruturas de Diretórios
Estrutura de Diretórios em Árvore é semelhante a
estrutura em dois níveis, onde o MFD é a raiz, os galhos são os diretórios UFD e os arquivos são as folhas.
Neste tipo de estrutura, quando é necessário se referenciar a um arquivo é preciso especificar, além do seu nome, o diretório onde ele se localiza, esta referencia é denominada de PATH (caminho).
S is te m a d e A rq uiv os
Diretórios
Estruturas de Diretórios em Árvore
U su á r io 1 U su á r io 2 U su á r io 3 U su á r io n D iretó rio Ra iz D iretó ri o 1 D iretó ri o 2 A rq u ivo 1 A rq u ivo 1 D iretó ri o 1 A rq u ivo 1 A rq u ivo 2 A rq u ivo 1 A rq u ivo 2 A rq u ivo 1 A rq u ivo 1 A rq u ivo 2
S is te m a d e A rq uiv os
Diretórios
Estruturas de Diretórios em Árvore
Path de um arquivo
D i sco C :/ Iva n Iva n C a r lo s Pa u l o Te ste Pe sso a l So m a .exeS is te m a d e A rq uiv os
Gerência de Espaço
Livre em Disco
A criação de arquivos em discos exige que o sistema tenha total controle de quais áreas podem ser utilizadas. Este controle é realizado utilizando-se algum tipo de estrutura de dados, que armazenam informações que possibilitam ao sistema de arquivos gerenciar o espaço livre em disco. As formas mais comuns de implementações são:
a) Mapa de bits;
b) Lista encadeada;
S is te m a d e A rq uiv os
Gerência de Espaço
Livre em Disco
Alocação de espaço em disco
1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 0 . . . 0 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 (a ) M a p a d e b its In íci o (b ) Lista e n ca d ea d a Blo co C o n ta d o r 4 2 1 0 1 2 5 2 0 1 3 7 5 0 5 © Ta b ela d e b lo co s l ivr es
S is te m a d e A rq uiv os
Da mesma forma que o sistema operacional gerencia espaços livres no disco, a gerência dos espaços alocados aos arquivos é de fundamental importância para o sistema de arquivos. A seguir, apresenta-se as principais técnicas de alocação:
a) Alocação Contígua; b) Alocação Encadeada; c)Alocação Indexada.
Gerência de Alocação de
Espaço em Disco
S is te m a d e A rq uiv os
Alocação Contígua
Alocação Contígua consiste em armazenar um arquivo em blocos sequencialmente disposto no disco. Neste esquema, o sistema localiza um arquivo através do endereço do primiero bloco e da sua extensão em blocos. 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 A rq u ivo Blo co A . TXT 4 B. TXT 1 0 C . TXT 1 3 3 1 2 Exte n sã o
S is te m a d e A rq uiv os
Alocação Contígua
Estratégias de Alocação Contígua1.First-Fit:primeiro segmento livre é alocado com tamanho suficiente.
2.Best-Fit:menor segmento livre é alocado com tamanho suficiente.
3.Worst-Fit: maior segmento livre é alocado com tamanho suficiente. 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 A r q u ivo Blo co A . TXT 4 B. TXT 1 0 C . TXT 1 3 3 1 2 Exte n sã o
S is te m a d e A rq uiv os
Alocação Contígua
Desfragmentação
Á r e a d e tr a b a l h oS is te m a d e A rq uiv os
Alocação Encadeada
Na Alocação Encadeada, um arquivo pode ser organizado como um conjunto de blocos ligados logicamente no disco, independente de sua localização física, onde cada bloco deve possuir um ponteiro para o próximo bloco. In íci o 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 A r q u iv o Blo co A .TXT 6 . . . . . . . . . . . . . . . .
S is te m a d e A rq uiv os
Alocação Indexada
Alocação Indexada, é uma técnica que tem como
princípio manter os ponteiros de todos os blocos do arquivo em uma única estrutura denominada de bloco de índice.
Permite acesso direto aos blocos do arquivo, não utiliza informações de controle nos blocos de dados.
Este tipo de alocação soluciona uma das principais limitações da alocação encadeada, que é o acesso direto aos blocos dos arquivos.
S is te m a d e A rq uiv os
Alocação Indexada
Alocação Indexada utiliza um bloco de índice que
armazena os ponteiros de todos os blocos do arquivo
0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 Blo co d e ín d ice 3 1 0 1 1 7
S is te m a d e A rq uiv os
Proteção de Acesso
Como os meios de armazenamento são
compartilhados entre diversos usuários é fundamental que o sistema de arquivos implemente
mecanismos de proteção individual de arquivos e diretórios.
Existem diferentes mecanismos e níveis de proteção, cada qual com suas vantagens e desvantagens, sendo que, para cada tipo de sistema, um modelo pode ser mais adequado do que outro. A seguir, são apresentados três mecanismos de proteção presentes na maioria dos dos sistemas de arquivos.
S is te m a d e A rq uiv os
Senhas de Acesso
A associação de uma senha de acesso a um arquivo é um principio muito simples, o controle de acesso resume-se ao conhecimento da senha.
Problemas
a)cada arquivo possui apenas uma senha;
b)não é possível determinar quais tipos de operações podem ou não ser concedidas
c)dificuldade de compartilhamento de arquivos – todos
S is te m a d e A rq uiv os
Grupos de Usuário
Proteção por grupos de usuários é baseada em
grupos de usuários, sendo implementada por diversos dos sistemas operacionais. Neste caso, o usuário é associado ao um grupo, sendo possivel o compartilhamento de arquivos e diretórios entre os membros do mesmo grupo.
D A D O S.TXT O w n er G ro u p A ll Leitu ra Escr ita Execu çã o Elim in a çã o Leitu ra
S is te m a d e A rq uiv os
Lista de Controle de Acesso
A Lista de Controle de Acesso ( LCA), consiste
em uma lista de associada a cada arquivo, onde
são especificados quais os usuários e os tipos de
acesso permitido. Neste caso, quando um usuário
tenta acessar um arquivo, o sistema operacional
verifica se a lista de controle autoriza a operação.
S is te m a d e A rq uiv os
Lista de Controle de Acesso
Problemas da LCA
a)Tamanho da lista pode ser bastante extenso, já
que um arquivo pode ser compartilhado por
vários usuários;
b)Overhead adicional, se comparado com o
mecanismo de proteção por grupo de vários
usuários, devido a pesquisa sequencial que o
sistema deverá realizar na lista sempre que um
acesso for solicitado.
S is te m a d e A rq uiv os
Lista de Controle de Acesso
U suário: M aia
Acesso: Leitura + Escrita U suário: M achado
Acesso: Leitura
Usuário: M aia
Acesso: Leitura + Escrita + Execução Usuário: M achado
S is te m a d e A rq uiv os
Implementação de Caches
MotivaçãoAcesso a disco é mais lento do que o acesso a memória principal, já que as operações de E/S com disco causam problema de desempenho para o sistema.
Solução
Implementar a técnica de Buffer Cache
O sistema operacional reserva uma área da memória para que se tornem disponíveis caches utilizados em operações de acesso a disco.
S is te m a d e A rq uiv os
Implementação de Caches
Implementação do Buffer CacheQuando uma operação é realizada, seja leitura ou gravação, o sistema verifica se a informação desejada se encontra no Buffer Cache. Em caso positivo, não é necessário o acesso a disco. Coso o bloco requisitado não se encontra no cache, a operação de E/S é realizada e o cache é atualizado.
Problema na implementação do Buffer Cache
1)Como existe uma limitação no tamanho do cache, cada sistema adota politicas para a substituição de blocos como a FIFO ou a LRU.
S is te m a d e A rq uiv os
Implementação de Caches
Problema na implementação do Buffer Cache1)Como existe uma limitação no tamanho do cache, cada sistema adota politicas para a substituição de blocos como a FIFO ou a LRU;
2) Problemas de Segurança – perdas de dados por por problemas de energia
S is te m a d e A rq uiv os
Referências
[1]Andrew S. Tanenbaum. 3a Edição. Editora Pearson Prentice Hall – 2009. (capítulo 4)
[2]Silberchatz. Abraham. Galin, Peter. Gagne, Greg.. Tradução de Adriana Rieche. Rio de Janeiro: Elvier, 2008 – 7ª Reimpressão. Editora Campus. (Capítulo 12)