Você está na página 1de 34

Armazenamento

Rodrigo Rafael Villarreal Goulart


Professor
Sistemas de Arquivos





































http://www.freesoftwaremagazine.com/files/www.freesoftwaremagazine.com/nodes/1252/phototree.jpg
Um sistema de arquivos um
meio de armazenar informaes
em dispositivos de forma
organizada de acordo com um
mtodo pr-estabelecido ...
Quando formatamos um
disco estabelecemos esta
organizao, e ela segue
alguns princpios ...
Hierarquia de dados Informao
Bits so agrupados em
bytes, palavras ou caracteres, onde:
bytes: geralmente 8 bits
palavra: so nmero de bits que um processador
opera 2 bytes (32 bits), 4 bytes (64bits)
caracteres: o mapeamento de grupos de bits
para smbolos (letras, nmeros, pontuao, etc).

Hierarquia de dados Informao
Padres de conjuntos de bits definem
caracteres:
ASCII: 8 bits ou 256 caracteres possveis, no
suporta conjuntos de caracteres
internacionais
EBCDIC: 8 bits, computadores de grande
porte (IBM)
Unicode: 8, 16 e 32bits, suporta caracteres
internacionais, 8 bits (UTF-8) igual ao ASCII
(traduo)
Ex.: Hello, World
UTF-8: 12 bytes, UTF-16: 24 bytes, UTF-32: 48 bytes
Hierarquia de dados Informao
Campo um grupo de caracteres, por exemplo, o
nome de uma pessoa)
Um registro grupo de campos, como nome,
endereo e telefone.
Um arquivo grupo de registros, como, por
exemplo, um arquivo de alunos contendo registros
de cada aluno desta turma.
O sistema de arquivos so colees de arquivos e
bancos de dados colees de dados.
Hierarquia de dados Informao
Campo um grupo de caracteres, por exemplo, o nome
de uma pessoa)
Um registro grupo de campos, como nome, endereo
e telefone.
Um arquivo grupo de registros, como, por exemplo,
um arquivo de alunos contendo registros de cada aluno
desta turma.
O sistema de arquivos so colees de arquivos e
bancos de dados colees de dados.
Programao convencional e
bancos de dados empregam
estes conceitos ...
Hierarquia de dados Informao
Volume representa a unidade de armazenamento de
dados, por exemplo CDs, DVDs, discos rgidos
(HDs) e fitas.
Volume fsico limitado a um dispositivo de
armazenamento (HD);
Volume lgico pode estar disperso em vrios dispositivos
(Sistemas de Arquivos Distribudos) ou co-existir com outros
num mesmo dispositivo.
Hierarquia de dados Informao
Volume representa a unidade de armazenamento de
dados, por exemplo CDs, DVDs, discos rgidos
(HDs) e fitas.
Volume fsico limitado a um dispositivo de
armazenamento (HD);
Volume lgico pode estar disperso em vrios dispositivos
(Sistemas de Arquivos Distribudos) ou co-existir com outros
num mesmo dispositivo.
Quando formatamos um computador ou
pendrive devemos estabelecer, pelo menos,
uma partio. Se for necessrio possvel criar
mais de uma partio num mesmo dispositivo.
Ex.: 2 parties num nico HD so acessadas
por dois drives quando usamos Windows...
Hierarquia de dados Informao
bits
bytes
arquivos
volumes
Podemos ento organizar estes
princpios da seguinte forma ...
Hierarquia de dados Informao
bits
bytes
palavras
caracteres
arquivos
volumes
ASCII
EBCDIC
Unicode
campos
registros
sistema de
arquivos
HD
A partir daqui podemos identificar
quais operaes e atributos
podem ser feitas com um arquivo
...
Conceitos sobre arquivos
Operaes com arquivos:
abrir, fechar, criar, destruir, copiar, renomear,
listar
Operaes com o contedo de arquivos:
ler, escrever, atualizar, inserir, apagar
Atributos de arquivos:
tamanho, localizao, acessibilidade
(restries), tipo (executvel, dados),
volatilidade (freqncia das atualizaes) e
atividade (percentagem de acessos a
registros por tempo)
Conceitos sobre arquivos
Operaes com arquivos:
abrir, fechar, criar, destruir, copiar, renomear, listar
Operaes com o contedo de arquivos:
ler, escrever, atualizar, inserir, apagar
Atributos de arquivos:
tamanho, localizao, acessibilidade (restries), tipo
(executvel, dados), volatilidade (freqncia das
atualizaes) e atividade (percentagem de acessos a
registros por tempo)
Muitos destes atributos no
foram concebidos originalmente
em sisops para computao
pessoal pois eles no eram
sisops de rede nativos (ex.:
Windows 3.11, DOS ...)
Conceitos sobre arquivos
Operaes com arquivos:
abrir, fechar, criar, destruir, copiar, renomear, listar
Operaes com o contedo de arquivos:
ler, escrever, atualizar, inserir, apagar
Atributos de arquivos:
tamanho, localizao, acessibilidade (restries), tipo
(executvel, dados), volatilidade (freqncia das
atualizaes) e atividade (percentagem de acessos a
registros por tempo)
Para que se ento possa utilizar os arquivos em
um HD, por exemplo, estas operaes e atributos
devem ser disponibilizadas pelo sisop, neste caso,
um subsistema chamado, sistema de arquivos
(servio do sistema)
Sistemas de arquivos
Um sistema de arquivos organiza os arquivos e
gerencia o acesso aos dados
Gerenciamento de arquivos: dispe de mecanismos para o
armazenamento, acesso (nome, localizao, etc),
compartilhamento e segurana dos arquivos;
Gerenciamento de armazenamento auxiliar: aloca espao
para arquivos em dispositivos secundrios e tercirios (CD,
DVDs, etc.)
Sistemas de arquivos
Um sistema de arquivos organiza os arquivos e
gerencia o acesso aos dados
Mecanismos de integridade de arquivo: viabilizar a garantia
de que as informaes armazenadas num arquivo no
sejam corrompidas
Mtodos de acesso: como os dados podem ser acessados
Sequencial
Direto
Diretrios
Sistema de arquivo de
nvel nico
estruturado
hierarquicamente
/
usuarios
rodrigo
pastaA
relatorioA1.doc
pastaB
relatorioB1.doc
rafael
sistema
Um sistema de arquivos pode
ser organizado
hierarquicamente (como vemos
no windows explorer que
usamos diariamente) mas
tambm como num nvel nico
(sem pastas) em dispositivos
simples como celulares ...
Nomes de caminhos
diretrio de trabalho
(./relatorioA1.doc)
relativo
(../pastaB/relatorioB1.doc)
absoluto
(/usuarios/rodrigo/pastaA/rel
atorioA1.doc)
/
usuarios
rodrigo
pastaA
relatorioA1.doc
pastaB
relatorioB1.doc
rafael
sistema
Podemos fazer referncia
arquivos de diferentes formas.
Quem utiliza scripts faz muito
uso de referncias...
Diretrios
URIs tambm utilizam esse
conceito. Que faz pginas para
Web as utiliza ...
Diretrios
Ligao ou link: entrada de diretrio que se refere a um
outro arquivo ou diretrio
Flexvel, simblica (UNIX), atalho (Windows) ou apelido
(MacOS): determina o caminho at a entrada do arquivo ou
diretrio
Estrita: indica a localizao fsica do arquivo ou diretrio
Outra forma de fazer referncias
por meio de links. Ele pode ser
de dois tipos ...
Com todos esses conceitos e
informaes para gerenciar um
sistema de arquivos, o sisop
precisa de uma estrutura de
dados para mant-las so so
metadados...
Metadados
Metadados so informaes sobre o sistema de
arquivos e protegem a integridade do mesmo por no
fornecer acesso direto ao usurios.
Por exemplo: a localizao de espao livre no
dispositivo de armazenamento, horrio da ltima
alterao de um arquivos, etc.
Todo dispositivo de armazenamento deve ser
formatado, e essa operao dependente do
sistema e:
divide o espao de armazenamento em blocos lgicos
verifica o dispositivo em busca
de reas inutilizveis;
apagar dados (hard);
cria um diretrio raiz;
cria um superbloco.
00 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
Metadados
Metadados
O superbloco contm:
Identificador do sistema de arquivos (tipo: NTFS, FAT, ext);
O nmero de blocos do sistema de arquivos
A localizao dos blocos livres
A localizao do diretrio raiz
Data e horrio que o sistema foi modificado pela ltima vez
Informaes indicando que o sistema deve ser verificado
Metadados
Descritores de arquivos so registros mantidos em
memria (principal) contendo informaes sobre os
arquivos abertos. A finalidade contribuir para o
melhor desempenho do sistema.
Organizao (interna) de arquivos
Seqencial: registros armazenados em ordem fsica;
Direto: registros so acessados diretamente por
uma aplicao especfica
Uma organizao com acesso
direto significa que, ou a
aplicao que utiliza o arquivo
sabe como ler registros nele
(ex.: SGBD) ou um arquivo de
dados sequencial (ex.: MP3)
Sistemas de arquivos
Direto




Sequencial
Registro
0
Registro
1
Registro
2
Registro
n
Deslocamento de
dois registros
Alocao de arquivos
Alocao contgua de arquivos
CDs, DVDs no regravveis
Alocao no contgua de arquivos por lista
encadeada
Alocao tabular no contgua
sistema de arquivos FAT
Alocao no contgua indexada
UNIX e NTFS
00 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
Quando criamos, apagamos,
procuramos arquivos e
informaes num dispositivo de
armazenamento, exitem
diferentes formas de alocar o
espao...
Como dito anteriormente (na
formatao) qualquer dispositivo
de armazenamento dividido
em blocos. Um arquivo pode ser
armazenado em 1 ou mais
blocos no dispositivo ...
Alocao de arquivos
Alocao contgua de arquivos
CDs, DVDs no regravveis
Alocao no contgua de arquivos por lista
encadeada
Alocao tabular no contgua
sistema de arquivos FAT
Alocao no contgua indexada
UNIX e NTFS
Nem sempre um arquivo consegue ser armazenado de forma
sequencial, como no HD por exemplo, isso significa que um
arquivo pode estar espalhado pelo disco. Isso fragmenta o disco e
deixa mais lento o sistema. Por isso, desfragmentamos o disco.
Mas isso dependente das tcnicas para a alocao dos blocos
que um arquivo ocupa. So elas ...
00 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
Alocao no contgua de
arquivos por lista encadeada
Arquivo Localizao
Diretrio do usurio
Nesta forma de alocao temos
uma tabela (metadado) mantido
pelo sisop com uma lista de
nomes de arquivos e sua
localizao no dispositivo...
Dados
A partir dela encontramos uma
poro inicial de um arquivo, que
por sua vez indica a prxima
poro, e assim por diante ...
Alocao no contgua de
arquivos por lista encadeada
Arquivo Localizao
Diretrio do usurio
Dados
Dados
Dados
Dados
Dados
nulo
O problema que se quisermos
uma informao na ltima
poro temos que percorrer
todas as pores anteriores, o
que demanda tempo em um
dispositivo lento como um HD...
Alocao tabular no contgua
Arquivo Localizao
Diretrio do usurio
00
01
02
03
04
05
06
07
08
09
10
11
12
2
nulo
8
livre
livre
9
nulo
10
7
6
nulo
livre
livre
00 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
Blocos fsicos
Tabela de alocao
de blocos
Neste tipo de alocao temos
uma tabela que indica onde um
bloco est localizado, assim
resolvemos o problema anterior,
pois basta percorrer este
ndice para encontrar o local

Arquivo Localizao
Diretrio do usurio
00
01
02
03
04
05
06
07
08
09
10
11
12
2
nulo
nulo
8
livre
livre
9
nulo
10
7
6
6
nulo
00
livre
livre
01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
Blocos fsicos
Tabela de alocao
de blocos
Alocao tabular no contgua
Os problemas desta abordagem
so:
1) a lista pode ficar
incrivelmente grande
2) se ela for corrompida (falha
fsica ou lgica), muita
informao pode ser perdida ...
Alocao no contgua indexada
Arquivo Localizao
Diretrio do usurio
Bloco de
ndice
Blocos
de dados
Temos ento a seguinte idia:
utilizarmos blocos no dispositivo
que so ndices para os blocos
que armazenam os dados
Se o ndice ficar cheio, no h
problema ...
Bloco de
continuao
de ndices
Blocos
de dados
Estas idias so para implementar a
alocao de espaos (ento
ocupados) no dispositivo mas
como gerenciamos os espaos
livres... ? Veremos dois mtodos ...
Gerenciamento de espao livre
Os dois mtodos mais comuns para controlar o
espao livre so:
Lista de livres
lista encadeada de blocos livres.
Mapa de bits
mapa de bits para cada bloco livre (zero) ou em uso (um)
Lista de livres
Bloco de
ndice
00 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
Este mtodo
semelhante ao
ltimo mtodo de
alocao ...
Bloco de
continuao
da lista
de livres
Mapa de bits
00 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
0 1 1 1
1 0 0 0
1 1 1 1
1 0 0 1
Mapa de bits
Neste mtodo temos uma
estrutura de dados que
armazena bits, cada bit nesta
estrutura representa um bloco
no dispositivo se ela estiver
em 0 o bloco est livre, caso
contrrio esta ocupado ...
A grande vantagem deste
mtodo que ele utiliza pouca
memria e rpido
amplamente utilizado ...
Buenas, como
sugesto deixo a
todos a tarefa de
identificar os
metadados aqui
apresentados no
sisop do seu
computador
mas cuidado para
no corromp-los
;-)