Documente Academic
Documente Profesional
Documente Cultură
Secundrio
Thiago A. S. Pardo
Leandro C. Cintra
M.C.F. de Oliveira
Armazenamento
secundrio
Primeiro tipo de armazenamento
secundrio: papel!
Cartes perfurados
3
HDs
No incio, mais em sistemas
corporativos
1.70m de altura e de comprimento, quase 1
tonelada
Chamado unidade de disco
5
HDs
Previso
em 2001
Como
estamos?
6
HDs
HD
Em 1973, IBM lanou o
que considerado o pai
dos HDs modernos
Winchester
7
HDs
No incio, as cabeas de leitura dos discos
encostavam neles
Necessrio para que os dispositivos eletrnicos
antigos pudessem ler os campos magnticos
8
HDs
Componentes importantes
Discos (podem haver vrios)
Substrato slido (alumnio, vidro/cermica)
Superfcie magntica: ferrugem no passado, filme
magntico no presente, molculas orgnicas no futuro
9
10
Cabeas de leitura
Distncia em relao ao disco
Flutuam em funo do colcho de ar gerado
quando o disco gira
No h vcuo dentro do disco!
11
Cabeas de leitura
Sem o disco
12
Interior do HD
Entrada de ar com filtro para manter a presso interna
igual externa
13
HDs
HDs funcionam em altitudes altssimas (mais
de 3.000m)?
14
HDs
Por que os HDs so sempre exibidos meio de
lado?
15
Organizao da informao no
disco
16
Organizao da informao no
disco
17
Endereos no disco
Um setor a menor poro enderevel
do disco
Ao ler 1 byte
SO determina qual a superfcie, trilha e setor em que
se encontra esse byte
O contedo do setor carregado para uma memria
especial (buffer de E/S) e o byte desejado lido do
buffer para a RAM
Se o setor necessrio j est no buffer, o acesso ao
disco torna-se desnecessrio
18
Cluster
Conjunto de setores
logicamente contguos no disco
Um arquivo visto pelo SO como um
grupo de clusters distribudo no disco
Arquivos so alocados em um ou
mais clusters
19
FAT File Allocation Table
Cada entrada na tabela d
a localizao fsica do(s)
cluster(s) associado(s) a um
certo arquivo lgico
1 seeking para localizar 1
cluster
Todos os setores do cluster
so lidos sem necessidade de
seeking adicional
20
FAT File Allocation Table
Questo
21
Extent
Seqncia de clusters consecutivos no
disco, alocados para o mesmo arquivo
1 seeking para recuperar 1 extent
A situao ideal um arquivo ocupar 1
extent
Freqentemente isso no possvel e o
arquivo espalhado em vrios extents
pelo disco
22
Extent
23
Capacidade do disco
(nominal)
Capacidade do setor
n bytes (Ex. 512 bytes)
Capacidade da trilha
Capacidade do cilindro
Capacidade do disco
24
Capacidade do disco
(nominal)
Capacidade do setor
n bytes (Ex. 512 bytes)
Capacidade da trilha
n de setores por trilha * capacidade do setor
Capacidade do cilindro
n de trilhas por cilindro * capacidade da trilha
Capacidade do disco
n de cilindros x capacidade do cilindro
25
Fragmentao interna
Perda de espao til decorrente da
organizao em setores de tamanho fixo
26
Fragmentao interna
27
Sistema de Arquivos
A organizao do disco em setores/trilhas/cilindros
uma formatao fsica (j vem da fbrica)
Pode ser alterada se o usurio quiser dividir o disco em
parties
28
Sistema de Arquivos
O sistema de arquivos FAT (Windows 9x e
dispositivos de memria Flash) no enderea
setores, mas grupos de setores (clusters)
1 cluster = 1 unidade de alocao
1 cluster = n setores
30
Setores X Blocos
31
Overhead
Overhead espao ocupado com informaes
para gerenciamento , introduzidas pelo processo
de formatao do disco:
Endereos, identificadores, cdigo de verificao de
erro, marcadores de badblock.
no so dados teis
O overhead existe tanto em discos organizados
por setor quanto em discos organizados por
blocos
32
Tamanho do cluster
Definido automaticamente pelo SO quando o
disco formatado
33
Outros sistemas de
arquivos
FAT32 (Windows 95 e posteriores)
clusters de tamanho menor, enderea
mais clusters, menos fragmentao
34
Tamanhos padro de clusters para NTFS
35
Outros sistemas de
arquivos
ext3 e 4
clusters entre 1 e 8KB
36
Custo de acesso a disco
Combinao de 3 fatores:
Tempo de busca (seek): tempo para posicionar o brao de
acesso no cilindro correto
Delay de rotao: tempo para o disco rodar de forma que a
cabea de L/E esteja posicionada sobre o setor desejado
Tempo de transferncia: tempo p/ transferir os bytes
Tempo transferncia =
(n de bytes transferidos/n de bytes por trilha)*tempo de rotao
37
Seeking
Movimento de posicionar a cabea de
L/E sobre a trilha/setor desejado
39
Exerccio em duplas
40
Exerccio: resoluo
Dados
Nmero de bytes por setor: 512
Nmero de setores por trilha: 40
Nmero de trilhas por cilindro: 11
Nmero de cilindros: 1.331
Tamanho de cada um dos 20.000 registros: 256 bytes
Cada setor, de 512 bytes, armazena dois registros (de 256 bytes
cada)
Portanto, so necessrios 10.000 setores
41
Para discusso
Voc est projetando seu prprio HD e
decide armazenar os arquivos em
espaos contnuos, ignorando limites de
setores/clusters/extents/blocos/cilindros
Possveis vantagens?
Possveis desvantagens?
42
Discos
Discos so gargalos
43
Tcnicas para minimizar o
problema
Multiprogramao: CPU trabalha em outro
processo enquanto aguarda o disco
44
Tcnicas para minimizar o
problema
45
Fitas Magnticas
46
Fitas Magnticas
47
Fitas Magnticas
Leitor
Motor que rotaciona a fita
Cabeas de leitura que lem a fita
seqencialmente
49
Organizao dos dados na
fita
Posio de um registro dada por um
deslocamento em bytes (offset) relativo
ao incio do arquivo
50
Superfcie da fita
A superfcie pode ser vista como um
conjunto de trilhas paralelas, cada qual
sendo uma seqncia de bits
51
Superfcie da fita
Frames so agrupados em blocos
de dados de tamanhos variados, os
quais so separados por intervalos
(interblock gaps) sem informaes
52
Superfcie da fita
53
Medidas de comparao
Densidade: bpi - bytes per inch
Ex: 6.250 bpi
54
Exerccio: estimativa do tamanho de
fita necessrio
EX: armazenar em fita 1.000.000 de registros
com 100 bytes cada. Suponha fita com 6.250
bpi, com intervalo entre blocos de 0.3
polegadas. Quanto de fita necessrio?
55
Resoluo do exerccio: estimativa do
tamanho de fita necessrio
Supondo 1 bloco = 1 registro:
S=n*(b+g)
S=1.000.000*(100/6.250+0.3)
S=316.000 pol ~ 7.900 m
56
Estimativa do tamanho de fita
necessrio
1 registro por bloco
57
Estimativa de tempos de
transmisso
Taxa nominal de transmisso de
dados=densidade (bpi)*velocidade (ips)
58
Quando usar fitas
magnticas
Apropriadas para armazenamento
seqencial, quando no necessrio
acesso direto/aleatrio
59
Fitas magnticas
Tecnologia morta?
60
61
Fitas magnticas
Imation (antiga 3M, parceira da IBM), 2004
Recentemente, anunciamos um investimento de
49 milhes de dlares em uma modernssima
unidade de revestimento de fita, que manter a
Imation na linha de frente da tecnologia, alm de
desenvolvermos nossos cartuchos com
capacidades de um terabyte e mais.
62
Fitas magnticas
Nova fita magntica construda com
nanotecnologia
Redao do Site Inovao Tecnolgica, 25/07/2005
63
64
Memria Flash
Um tipo de EEPROM (Electrically-
Erasable Programmable Read-Only
Memory)
um chip de armazenamento no-voltil
pode ser apagado eletronicamente e ser
reprogramado
Inventada em 1980 na Toshiba
Se popularizou 20 anos depois com
preos mais acessveis
Memria Flash
Tempo de acesso: 0,8 milissegundos
(HD ~10 ms - RAM ~0,0007 ms)
Boa resistncia:
choque, presso, temperatura e
umidade
Memria Flash
Flash NOR / NAND
NOR permitia acessar dados de maneira
aleatria, mas com baixa velocidade
NAND faz acesso sequencial e acessa
blocos de clulas (pginas), o tipo
mais usado atualmente pelo custo mais
baixo
Memria Flash
O processo de apagar um bloco
modifica todos os bits para 1
Qualquer local do bloco novo pode ser
programada (modificada para 0)
No entanto, quando um bit modificado
para 0, apenas apagando o bloco inteiro
possvel modific-lo para 1 novamente
Memria Flash
H um nmero finito de ciclos
programar-apagar
A maioria dos produtos garantem
a deteriorar
Jornada de um byte
O que acontece quando 1
programa escreve um byte p/ um
arquivo em disco?
?
Programa disco
70
Jornada de um byte
charch='P';
fwrite(&ch,1,1,fp);
71
Jornada de um byte
Operaes na memria
O comando ativa o SO (parte denominada file
manager), que supervisiona a operao
Verifica se o arquivo existe, se tem permisso de
escrita, etc.
Obtm a localizao do arquivo fsico (drive, cilindro,
cluster ou extent) correspondente ao arquivo lgico
Determina em que setor escrever o byte
Verifica se esse setor j est no buffer de E/S; se no
estiver, carrega-o, e escreve o byte no buffer
Antes de escrever no disco, aguarda possveis bytes
para o mesmo setor
72
Jornada de um byte
Operaes fora da memria
Processador de E/S
Aguarda a disponibilidade do recurso para poder
efetivamente disparar a escrita no disco
Controlador de disco
Verifica se drive de disco est disponvel para escrita
Instrui drive para mover cabea de L/E para trilha/setor
corretos
Disco rotaciona, o setor (e o novo byte) escrito
73
Jornada de um byte
74
Gerenciamento de buffer
Buffering
75
Gerenciamento de buffer
Buffering
76
Buffer como gargalo
Suponha um sistema que utilize um nico
buffer
Em um programa que realiza intercaladamente
operaes de leitura/escrita, o desempenho seria
muito ruim
Por qu?
77
Buffer como gargalo
Mesmo com 2 buffers, mover dados de
e para o disco muito lento, e os
programas podem ficar I/O bound
78
Buffer como gargalo
Multiple buffering
Double buffering o mais comum
Vrios buffers em um pool: escolhe-se um
para usar (de preferncia, o usado menos
recentemente)
Compartilhamento de espao entre
programa e SO
rea de dados do programa usada como
buffer, ou buffer usado para rea de
dados
79
Buffer como gargalo
Diviso e juno de informaes
Vrios buffers que guardam partes
especficas das informaes dos blocos (por
exemplo, cabealho e dados), com escrita e
leitura em paralelo
80