Escolar Documentos
Profissional Documentos
Cultura Documentos
Armazenamento em Massa
Operating System Concepts Essentials – 2nd Edition Silberschatz, Galvin and Gagne ©2013
Chapter 9: Mass-Storage Systems
Visão Geral da Estrutura de Armazenamento em Massa
Estrutura do Disco
Disk Attachment
Agendamento de disco
Gerenciamento de disco
Gerenciamento de espaço de troca
Estrutura RAID
Implementação de Armazenamento Estável
Operating System Concepts Essentials – 2nd Edition 9.2 Silberschatz, Galvin and Gagne ©2013
Objetivos
Operating System Concepts Essentials – 2nd Edition 9.3 Silberschatz, Galvin and Gagne ©2013
Visão geral da estrutura de
armazenamento em massa
Discos magnéticos fornece grande parte do armazenamento secundário de
computadores modernos
As unidades giram de 60 a 10.000 vezes por segundo
Taxa de transferência é a taxa na qual o fluxo de dados entre a unidade e o
computador
O tempo de posicionamento (tempo de acesso aleatório) é o tempo para
mover o braço do disco até o cilindro desejado (tempo de busca) e o tempo
para o setor desejado girar sob a cabeça do disco (latência rotacional)
A queda da cabeça resulta da cabeça do disco fazendo contato com a
superfície do disco - Isso é ruim A
Discos podem ser removíveis
Drive conectado ao computador via barramento de E / S
Barramentos variam, incluindo EIDE, ATA, SATA, USB, Fibre Channel, SCSI,
SAS, Firewire
O controlador host no computador usa o barramento para falar com o
controlador de disco integrado na unidade ou na matriz de armazenamento
Operating System Concepts Essentials – 2nd Edition 9.4 Silberschatz, Galvin and Gagne ©2013
Mecanismo de disco de cabeça móvel
Operating System Concepts Essentials – 2nd Edition 9.5 Silberschatz, Galvin and Gagne ©2013
Discos Rígidos
Platters variam de 0,85 "a 14"
(historicamente)
Comumente 3,5 ”, 2,5” e 1,8”
Faixa de 20 GB a 20 TB por unidade
Desempenho
Taxa de transferência - teórica - 6 Gb /
s
Efetiva taxa de transferência – real –
1Gb/sec
Tempo de espera de 3ms a 12ms -
9ms comuns para unidades de desktop
Latência baseada na velocidade do
fuso
1 / (RPM / 60) = 60 / RPM (do Wikipedia)
Latência média = ½ latência
Operating System Concepts Essentials – 2nd Edition 9.6 Silberschatz, Galvin and Gagne ©2013
Desempenho do Disco Rígido
Latência de Acesso = Tempo Médio de Acesso = tempo médio de
pesquisa + latência média
Para disco mais rápido 3ms + 2ms = 5ms
Para disco mais lento 9ms + 5.56ms = 14.56ms
Tempo médio de E / S = tempo médio de acesso + (valor da
transferência / taxa de transferência) + sobrecarga do controlador
Por exemplo, para transferir um bloco de 4KB em um disco de
7200 RPM com um tempo de busca médio de 5ms, taxa de
transferência de 1Gb / s com sobrecarga de controlador de .1ms
=5ms + 4.17ms + 0.1ms + transfer time =
Tempo de transferência = 4KB / 1Gb/s * 8Gb / GB * 1GB /
10242KB = 32 / (10242) = 0.031 ms
Tempo médio de E / S para o bloco de 4KB = 9.27ms +
.031ms = 9.301ms
Operating System Concepts Essentials – 2nd Edition 9.7 Silberschatz, Galvin and Gagne ©2013
O primeiro disco comercial
5 M (7 bits) caracteres
Bandejas de 50 x 24 ”
Tempo de acesso = <1
segundo
Operating System Concepts Essentials – 2nd Edition 9.8 Silberschatz, Galvin and Gagne ©2013
Discos de estado sólido
Memória não volátil usada como um disco rígido
Muitas variações tecnológicas
Pode ser mais confiável do que os HDDs
Mais caro por MB
Talvez tenha vida mais curta
Menos capacidade
Mas muito mais rápido
Os barramentos podem ser muito lentos -> conectar-se
diretamente ao PCI, por exemplo
Sem partes móveis, portanto, não há tempo de busca ou latência
rotacional
Operating System Concepts Essentials – 2nd Edition 9.9 Silberschatz, Galvin and Gagne ©2013
Fita Magnética
Foi um meio de armazenamento secundário precoce
Evoluiu de bobinas abertas para cartuchos
Relativamente permanente e detém grandes quantidades de dados
Tempo de Acesso Lento
Acesso aleatório ~ 1000 vezes mais lento que o disco
Usado principalmente para backup, armazenamento de dados pouco
usados, meio de transferência entre sistemas
Mantido em carretel ou rebobinado passando a ler-e escrever através
da cabeça
Uma vez que os dados sob a cabeça, as taxas de transferência são
comparáveis ao disco
140MB/sec e maior
200GB a 330TB de armazenamento
Comuns tecnologias são LTO-{3,4,5} e T10000
Operating System Concepts Essentials – 2nd Edition 9.10 Silberschatz, Galvin and Gagne ©2013
Estrutura do disco
Unidades de disco são endereçadas como grandes matrizes
unidimensionais de blocos lógicos, onde o bloco lógico é a
menor unidade de transferência
A matriz unidimensional de blocos lógicos é mapeada
sequencialmente nos setores do disco
Setor 0 é o primeiro setor da primeira pista no cilindro mais
externo
O mapeamento procede em ordem através dessa trilha,
depois o restante das trilhas nesse cilindro e, depois, através
do restante dos cilindros, do mais externo até o mais interno
Lógico para endereço físico deve ser fácil
Exceto para bad sectors (setores defeituosos)
Número não constante # de setores por faixa através de
velocidade angular constante
Operating System Concepts Essentials – 2nd Edition 9.11 Silberschatz, Galvin and Gagne ©2013
Matriz de Armazenamento
Pode apenas anexar discos ou matrizes de discos
Storage Array possui controlador (es), fornece recursos para
host (s) anexado (s)
Portas para conectar hosts ao array
Memória, software de controle (às vezes NVRAM, etc)
Alguns para milhares de discos
RAID, hot spares, hot swap (discutido mais tarde)
Armazenamento compartilhado -> mais eficiente
Recursos encontrados em alguns sistemas de arquivos
Snaphots, clones, thin provisioning, replication,
deduplication, etc
Operating System Concepts Essentials – 2nd Edition 9.12 Silberschatz, Galvin and Gagne ©2013
Rede da área de armazenamento
Operating System Concepts Essentials – 2nd Edition 9.13 Silberschatz, Galvin and Gagne ©2013
Rede da área de armazenamento (Cont.)
Operating System Concepts Essentials – 2nd Edition 9.14 Silberschatz, Galvin and Gagne ©2013
Armazenamento conectado à rede
Armazenamento conectado à rede (NAS) é o armazenamento
disponibilizado através de uma rede, e não através de uma
conexão local (como um barramento)
Anexando remotamente a sistemas de arquivos
NFS e CIFS são protocolos comuns
Implementado por meio de chamadas de procedimento remoto
(RPCs) entre o host e o armazenamento em geral por meio de
TCP ou UDP na rede IP
Operating System Concepts Essentials – 2nd Edition 9.15 Silberschatz, Galvin and Gagne ©2013
Agendamento de disco
O sistema operacional é responsável pelo uso eficiente do
hardware - para as unidades de disco, isso significa ter um
tempo de acesso rápido e largura de banda de disco
Minimize o tempo de busca (seek time)
Seek time seek distance
Disk bandwidth é o número total de bytes transferidos,
dividido pelo tempo total entre a primeira solicitação de serviço
e a conclusão da última transferência
Operating System Concepts Essentials – 2nd Edition 9.16 Silberschatz, Galvin and Gagne ©2013
Agendamento de disco (Cont.)
Existem muitas fontes de solicitação de E / S de disco
Sistema Operacional
Processos do Sistema
Processos do Usuário
Solicitação de E / S inclui modo de entrada ou saída, endereço de
disco, endereço de memória, número de setores a serem
transferidos
SO mantém fila de pedidos, por disco ou dispositivo
O disco ocioso pode funcionar imediatamente na solicitação de E /
S, disco ocupado significa que o trabalho deve enfileirar
Algoritmos de otimização só fazem sentido quando existe uma
fila
Operating System Concepts Essentials – 2nd Edition 9.17 Silberschatz, Galvin and Gagne ©2013
Agendamento de disco(Cont.)
Observe que os controladores de unidade têm buffers pequenos e
podem gerenciar uma fila de solicitações de E / S (de
"profundidade" variável)
Vários algoritmos existem para agendar a manutenção de
solicitações de E / S de disco
A análise é verdadeira para um ou vários pratos
Ilustramos algoritmos de agendamento com uma fila de
solicitações (0-199)
Operating System Concepts Essentials – 2nd Edition 9.18 Silberschatz, Galvin and Gagne ©2013
FCFS
Ilustração mostra movimento total da cabeça de 640 cilindros
Operating System Concepts Essentials – 2nd Edition 9.19 Silberschatz, Galvin and Gagne ©2013
SSTF
Shortest Seek Time First seleciona a solicitação com o tempo
mínimo de busca da posição atual da cabeça
Agendamento de SSTF é uma forma de agendamento SJF;
pode causar starvation de alguns pedidos
Ilustração mostra movimento total da cabeça de 236 cilindros
Operating System Concepts Essentials – 2nd Edition 9.20 Silberschatz, Galvin and Gagne ©2013
SCAN
Operating System Concepts Essentials – 2nd Edition 9.21 Silberschatz, Galvin and Gagne ©2013
SCAN (Cont.)
Operating System Concepts Essentials – 2nd Edition 9.22 Silberschatz, Galvin and Gagne ©2013
C-SCAN
Fornece um tempo de espera mais uniforme do que o SCAN
A cabeça se move de uma extremidade do disco para a outra,
atendendo as solicitações conforme ela passa
Quando atinge a outra extremidade, no entanto, ele
imediatamente retorna ao início do disco, sem atender a
nenhum pedido na viagem de retorno
Trata os cilindros como uma lista circular que envolve o último
cilindro até o primeiro cilindro
Número total de cilindros?
Operating System Concepts Essentials – 2nd Edition 9.23 Silberschatz, Galvin and Gagne ©2013
C-SCAN (Cont.)
Operating System Concepts Essentials – 2nd Edition 9.24 Silberschatz, Galvin and Gagne ©2013
C-LOOK
LOOK uma versão do SCAN, C-LOOK uma versão do C-
SCAN
O braço só vai até o último pedido em cada direção, então
inverte a direção imediatamente, sem primeiro ir até o final
do disco
Número total de cilindros?
Operating System Concepts Essentials – 2nd Edition 9.25 Silberschatz, Galvin and Gagne ©2013
C-LOOK (Cont.)
Operating System Concepts Essentials – 2nd Edition 9.26 Silberschatz, Galvin and Gagne ©2013
Selecionando um Algoritmo de
Agendamento de Disco
O SSTF é comum e tem um apelo natural
SCAN e C-SCAN executam melhor para sistemas que colocam uma
carga pesada no disco
Menor starvation
Desempenho depende do número e tipos de requisições
Solicitações de serviço de disco podem ser influenciadas pelo método
de alocação de arquivos
E layout de metadados
O algoritmo de agendamento de disco deve ser escrito como um módulo
separado do sistema operacional, permitindo que ele seja substituído
por um algoritmo diferente, se necessário
SSTF ou LOOK é uma opção razoável para o algoritmo padrão
E quanto a latência rotacional?
Difícil para o sistema operacional calcular
Operating System Concepts Essentials – 2nd Edition 9.27 Silberschatz, Galvin and Gagne ©2013
Gerenciamento de Disco
Low-level formatting, ou physical formatting — Dividindo um disco em
setores que o controlador de disco pode ler e gravar
Cada setor pode conter informações de cabeçalho, além de dados,
além do código de correção de erros (ECC)
Geralmente 512 bytes de dados, mas podem ser selecionáveis
Para usar um disco para armazenar arquivos, o sistema operacional ainda
precisa gravar suas próprias estruturas de dados no disco.
Partition (partição) do disco em um ou mais grupos de cilindros, cada
um tratado como um disco lógico
Formatação lógica ou “criação de um sistema de arquivos”
Para aumentar a eficiência, a maioria dos grupos de sistemas de
arquivos bloqueia em clusters
E / S de disco em blocos
E / S de arquivo feito em clusters
Operating System Concepts Essentials – 2nd Edition 9.28 Silberschatz, Galvin and Gagne ©2013
Gerenciamento de Disco(Cont.)
Operating System Concepts Essentials – 2nd Edition 9.29 Silberschatz, Galvin and Gagne ©2013
Booting
de um disco no Windows
Operating System Concepts Essentials – 2nd Edition 9.30 Silberschatz, Galvin and Gagne ©2013
Gerenciamento de Swap-Space
Swap-space (espaço de troca) — Memória virtual usa espaço em disco como uma
extensão da memória principal
Menos comum agora devido aos aumentos de capacidade de memória
Swap-space pode ser extraído do sistema de arquivos normal ou, mais
comumente, pode estar em uma partição de disco separada (raw)
E se um sistema ficar sem espaço de troca?
Alguns sistemas permitem vários espaços de troca
Operating System Concepts Essentials – 2nd Edition 9.31 Silberschatz, Galvin and Gagne ©2013
Estruturas de Dados para Troca em Sistemas Linux
Operating System Concepts Essentials – 2nd Edition 9.32 Silberschatz, Galvin and Gagne ©2013
Estrutura RAID
RAID - matriz redundante de discos baratos
várias unidades de disco fornecem confiabilidade por meio de
redundância
Cresce o mean time to failure (tempo médio para falha)
Mean time to repair (tempo médio para reparar) – tempo de
exposição quando outra falha pode causar perda de dados
Mean time to data loss (Tempo médio para perda de dados) com
base nos fatores acima
Se os discos espelhados falharem independentemente, considere
disco com 100.000 tempo médio de falha e 10 horas de tempo
médio para reparar
Tempo médio para perda de dados é 100, 0002 / (2 ∗ 10) = 500
∗ 106 horas, ou 57,000 anos!
Várias melhorias nas técnicas de uso de disco envolvem o uso de
múltiplos discos trabalhando cooperativamente
Operating System Concepts Essentials – 2nd Edition 9.33 Silberschatz, Galvin and Gagne ©2013
RAID (Cont.)
Disk striping (distribuição de disco) usa um grupo de discos como
uma unidade de armazenamento
RAID é organizado em seis níveis diferentes
Operating System Concepts Essentials – 2nd Edition 9.34 Silberschatz, Galvin and Gagne ©2013
RAID Níveis
Operating System Concepts Essentials – 2nd Edition 9.35 Silberschatz, Galvin and Gagne ©2013
RAID (0 + 1) e (1 + 0)
Operating System Concepts Essentials – 2nd Edition 9.36 Silberschatz, Galvin and Gagne ©2013
Outras características
Independentemente de onde o RAID foi implementado, outros
recursos úteis podem ser adicionados
Snapshot é uma visão do sistema de arquivos antes que um
conjunto de alterações ocorra (ou seja, em um determinado
momento)
Mais no Capítulo 12
A replicação é a duplicação automática de gravações entre sites
separados
Para redundância e recuperação de desastres
Pode ser synchronous ou asynchronous
O disco hot spare não é usado, usado automaticamente pela
produção de RAID, se um disco não conseguir substituir o disco
com falha e reconstruir o conjunto de RAID, se possível
Diminui o tempo médio de reparo
Operating System Concepts Essentials – 2nd Edition 9.37 Silberschatz, Galvin and Gagne ©2013
Extensões
O RAID sozinho não impede ou detecta corrupção de dados ou
outros erros, apenas falhas de disco
Solaris ZFS adiciona checksums (somas de verificação) de
todos os dados e metadados
Checksums mantido com o ponteiro para o objeto, para
detectar se o objeto é o correto e se ele mudou
Pode detectar e corrigir dados e corrupção de metadados
O ZFS também remove volumes, partições
Discos alocados em pools
Sistemas de arquivos com um pool que compartilham,
usam e liberam espaço como malloc () e free () alocam /
liberam chamadas
Operating System Concepts Essentials – 2nd Edition 9.38 Silberschatz, Galvin and Gagne ©2013
ZFS Checksums
Todos os metadados e dados
Operating System Concepts Essentials – 2nd Edition 9.39 Silberschatz, Galvin and Gagne ©2013
Armazenamento tradicional e em pool
Operating System Concepts Essentials – 2nd Edition 9.40 Silberschatz, Galvin and Gagne ©2013
Fim do Capítulo 9
Operating System Concepts Essentials – 2nd Edition Silberschatz, Galvin and Gagne ©2013