Sunteți pe pagina 1din 80

Armazenamento

Secundrio

SCC-503 Algoritmos e Estruturas de Dados II

Thiago A. S. Pardo
Leandro C. Cintra
M.C.F. de Oliveira
Armazenamento
secundrio
Primeiro tipo de armazenamento
secundrio: papel!
Cartes perfurados

HDs, CD-ROM, floppy disks, memrias


flash, fita, etc.

HD se distingue dos demais meios


Capacidade
Velocidade
Fixo
2
HDs
HDs evoluram quase to radicalmente
quanto os processadores
Primeiro HD tinha menos de 5Mb, por
U$35.000

HDs melhores tinham cerca de 10Mb, mais de


U$100 por Mb

Atualmente menos de 1 centavo por Mb

IBM teve um papel importante!

3
HDs
No incio, mais em sistemas
corporativos
1.70m de altura e de comprimento, quase 1
tonelada
Chamado unidade de disco

IBM 350 (1956) 4


HDs
Papel fundamental em vrios aspectos do
computador
Desempenho
Velocidade de acesso ao HD, boot, carregamento de
programas, multitarefa
Capacidade
Mais dados, programas maiores e mais complexos
Confiabilidade
A importncia de um dispositivo se mede pelo
impacto de sua perda

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

Grande avano: cabeas de leitura flutuam


Quanto mais prximas as cabeas do disco, melhor

Densidade de rea, capacidade e desempenho


melhoram a cada ano

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

Cabeas de leitura: lem e escrevem nos discos


enquanto eles giram (~15.000 RPM atualmente)
Convertem entre sinais eltricos e pulsos magnticos

A informao lida armazenada em um buffer, de


onde transferida para a memria

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

Disco: conjunto de pratos empilhados


Dados so gravados nas superfcies desses pratos

Superfcies: so organizadas em trilhas

Trilhas: so organizadas em setores

Cilindro: conjunto de trilhas na mesma posio

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

O que acontece se d pau na FAT?

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

Ex: setor de 512 bytes, arquivos c/ registro


de 300 bytes. Temos duas alternativas:
1 registro por setor => fragmentao
Registros ocupando mais de 1 setor => acesso
mais complexo

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

necessria uma formatao lgica, que instala o


sistema de arquivos no disco
Subdivide o disco em regies endereveis

Sistema de arquivos: estruturas lgicas e sub-rotinas


usadas para controlar acesso aos dados em disco

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

Um arquivo ocupa, no mnimo, 1 cluster


Unidade mnima de alocao

Se um programa precisa acessar um dado, cabe


ao sistema de arquivos do SO determinar em
qual cluster ele est (FAT)
29
Fragmentao interna
(clusters)
Fragmentao tambm ocorre
organizando os arquivos em clusters!
Ex: 1 cluster = 3 setores de 512 bytes,
arquivo com 1 byte (quanto espao se
perdeu?)

Alternativa: alguns SO organizam as


trilhas em blocos de tamanho definido
pelo usurio

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

FAT (Windows): sempre uma potncia de 2


2, 4, 8, 16, 32KB

Determinado pelo mximo que a FAT


consegue manipular, e pelo tamanho do disco
FAT16: pode enderear 216 clusters = 65.536

Quanto maior o cluster, maior a


fragmentao!

33
Outros sistemas de
arquivos
FAT32 (Windows 95 e posteriores)
clusters de tamanho menor, enderea
mais clusters, menos fragmentao

NTFS (New Technology File System)


Sistemas OS/2 (IBM) e Windows NT
Lida melhor com arquivos maiores, a
depender do tamanho do volume

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

O contedo de todo um cilindro pode


ser lido com 1 nico seeking

o movimento mais lento da operao


leitura/escrita

Deve ser reduzido ao mnimo


38
Observao
Os tempos de acesso reais so afetados
no s pelas caractersticas fsicas do
disco

Tambm pela distribuio do arquivo no


disco

e modo de acesso (aleatrio x seqencial)

39
Exerccio em duplas

Voc sabe o seguinte sobre seu HD


Nmero de bytes por setor: 512
Nmero de setores por trilha: 40
Nmero de trilhas por cilindro: 11
Nmero de cilindros: 1.331

H um conjunto de dados composto por 20.000


registros, sendo que cada registro tem 256 bytes

Quantos cilindros so necessrios para se


armazenar esses 20.000 registros?

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

Um cilindro tem 11 trilhas, sendo que cada uma tem 40 setores


Nmero de setores por cilindro: 11 * 40 = 440 setores por cilindro

Nmero de cilindros necessrios: 10.000/440 = 22,7 cilindros

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

Discos so mais lentos que a CPU

Muitos processos so disk-bound,


i.e., CPU tem que esperar pelos dados
do disco

43
Tcnicas para minimizar o
problema
Multiprogramao: CPU trabalha em outro
processo enquanto aguarda o disco

RAID (Redundant Array of Inexpensive Disks)


vs. SLED (Single Large Expensive Disk)
Striping: o arquivo repartido entre vrios drives
(paralelismo), preferencialmente de forma transparente
para o usurio/programa
Espelhamento: redundncia de dados

44
Tcnicas para minimizar o
problema

Disk cache: blocos de memria RAM


configurados para conter pginas de dados
do disco
Ao ler dados de um arquivo, o cache verificado
primeiro; se a informao desejada no
encontrada, um acesso ao disco realizado e o
novo contedo carregado no cache

RAM Disk: simula em memria o


comportamento do disco mecnico
Carrega arquivos muito usados, dados
descompactados, etc.

45
Fitas Magnticas

Introduzidas pela IBM na dcada de 50


Padronizou o tamanho do byte como 8 bits!

Material plstico coberto por material


magnetizvel (xido de ferro ou de cromo)

46
Fitas Magnticas

47
Fitas Magnticas
Leitor
Motor que rotaciona a fita
Cabeas de leitura que lem a fita
seqencialmente

Tecnologia similar a fitas cassetes

Sofre mais desgaste que discos


48
Fitas Magnticas
Fitas: permitem acesso seqencial
muito rpido, mas no permitem acesso
direto/aleatrio

Compactas, resistentes, fceis de


transportar, mais baratas que disco

Usadas como memria terciria (back-


up, arquivo-morto) juntamente com os
discos ticos

49
Organizao dos dados na
fita
Posio de um registro dada por um
deslocamento em bytes (offset) relativo
ao incio do arquivo

Posio lgica de um byte no arquivo


corresponde diretamente sua posio
fsica relativa 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

9 trilhas paralelas formam 1 frame


Cada trilha tem 1 byte + paridade (em geral,
paridade mpar, i.e., o nmero de bits 1
mpar)

51
Superfcie da fita
Frames so agrupados em blocos
de dados de tamanhos variados, os
quais so separados por intervalos
(interblock gaps) sem informaes

Intervalos so necessrios para


viabilizar parada/reincio

52
Superfcie da fita

53
Medidas de comparao
Densidade: bpi - bytes per inch
Ex: 6.250 bpi

Velocidade: ips - inches per second


Ex: 200 ips

Tamanho do interblock gap: inches


Ex: 0.3 inches

1 inch (polegada) ~ 2,5 cm

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?

b = comprimento fsico do bloco de dados


(pol.)
g = comprimento fsico do intervalo (pol.)
n = nmero de blocos de dados

S = comprimento de fita necessrio (espao


fsico) dado por: S=n*(b+g)

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

Supondo 1 bloco=50 registros


n=1.000.000/50=20.000 blocos
b=5000/6250 ~ 0.8 pol
S=20.000*(0.8+0.3)=22.000 pol ~ 492 m

Comprimentos tpicos de fitas: 91 a 1.000 m

56
Estimativa do tamanho de fita
necessrio
1 registro por bloco

50 registros por bloco

57
Estimativa de tempos de
transmisso
Taxa nominal de transmisso de
dados=densidade (bpi)*velocidade (ips)

Ex: Fita de 6.250 bpi e 200 ips


taxa transmisso = 6.250*200=1.250
KB/s

58
Quando usar fitas
magnticas
Apropriadas para armazenamento
seqencial, quando no necessrio
acesso direto/aleatrio

Quando no necessria a atualizao


imediata (alteraes peridicas so
suficientes)

Baixo custo e alta capacidade, adequada


para armazenagem e transporte

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.

A fita tem sido -e ainda - a maneira mais


rentvel para as empresas realizarem backups e
recuperao de seus dados.

62
Fitas magnticas
Nova fita magntica construda com
nanotecnologia
Redao do Site Inovao Tecnolgica, 25/07/2005

A empresa japonesa FujiFilm anunciou o lanamento do


primeiro meio de armazenamento digital de dados
baseado na nanotecnologia. Trata-se de uma fita
magntica, voltada para backups em grandes centros de
computao, que consegue armazenar at 300 GB de
informaes... a fita que agora foi lanada consegue
garantir fidelidade dos dados gravados por 30 anos. A
tecnologia Nanocubic consiste em uma camada ultra-fina
de nanopartculas magnticas, que so aplicadas por um
processo que permite o controle preciso da espessura da
camada de gravao de dados...

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

aproximadamente 100 mil ciclos


Aps isso o dispositivo pode comear

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);

Todo o controle passado ao sistema operacional


que possui uma srie de programas, compostos de
camadas a cada nvel com tratamento mais fsico.

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

Permite trabalhar com grandes


quantidades de RAM para armazenar
informao sendo transferida, de
modo a reduzir o nmero de acessos
ao dispositivo de memria secundria

75
Gerenciamento de buffer
Buffering

Um gerenciador de arquivos aloca


buffers de E/S grandes o suficiente
para conter dados, mas quantos so
necessrios?

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?

Os sistemas precisam de, no mnimo, 2


buffers: 1 para entrada, 1 para sada
Por exemplo, enquanto um buffer transmitido
para o disco, a CPU carrega dados em outro(s)

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

Para reduzir o problema


Algumas estratgias, que nem sempre so
conhecidas pelo programador

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

S-ar putea să vă placă și