Si t
O
i
i
F
RGS
Sistemas Operacionais
c
a
-U
F
Entrada/Saída
Disco magnético
o
rmáti
c
Disco magnético
d
e Inf
o
tituto
d
Ins
t
Aula 23
Introdução
ç
Disco magnético talvez seja o mais importante dispositivo de E/S
Gerência de memória (área de swap) Si t d i ( i di tó i ) Sistema de arquivos (arquivos + diretórios)
Prós e contras:
Meio barato de armazenamento permanente
U
FRGS
Meio barato de armazenamento permanente
Se comparado com processador e memória apresenta uma velocidade de acesso muito lenta
rmática
-U
Necessidade:
Otimizar o desempenho do disco visando aumentar a sua largura de banda, i é id d d b f id d
u
to de
Info isso é, quantidade de bytes transferidos por segundo.
1 /201 6 Instit u Sistemas Operacionais I 2 16/1 1
Disco magnético ou disco rígido
g
g
Visão Lógica cilindro
Cabeçote eixo setor Cabeçote r/w U FRGS Braço Fisicamente: 2 pratos, 4 cabeçotes rmática -U trilha Braço móvel u to de Info trilha
IBM Model DKLA-24320 8944 ili d
1
/201
6
Zonas: Cilindros que possuem mesmo número de setores
Instit
u 8944 cilindros
15 cabeçotes 63 setores por trilha
Velocidade linear constante
16/1
1
Formatação de disco: física e lógica
ç
g
Formatação física
Realizada pelo fabricante do disco
N l t f it id útil d di Normalmente feita apenas uma vez na vida útil do disco Consiste em criar setores e trilhas na superfície magnética
Nos setores são colocados informações de identificação
U
FRGS
Nos setores são colocados informações de identificação Assinala os badblocks
Formatação lógica
rmática
-U
ç
g
Realizada através de comandos do sistema operacional Cria uma organização de blocos e sua estrutura gerencial
u
to de
Info Sistema de arquivos
Um disco pode ser formatado logicamente várias vezes
1 /2016 Instit u 4 16/1 1
Acesso a dados
Menor unidade de transferência é um bloco (n setores)
Acessar dado implica localizar trilha, superfície e setor
Dois métodos:
Método CHS (Cylinder, Head, Sector)
U
FRGS
Método LBA (Linear Block Addressage)
Tradução do L-CHS (Logical) para P-CHS (Physical)
Discos modernos endereçam blocos sequencialmente
rmática
-U
Discos modernos endereçam blocos sequencialmente
Conversão de um bloco para sua localização física
Não é um mapeamento direto por haver setores fisicamente defeituosos e
u
to de
Info
Não é um mapeamento direto por haver setores fisicamente defeituosos e pelo número de setores por trilha não ser constante
Feito de forma transparente pela controladora de disco
1 /201 6 Instit u Sistemas Operacionais I 5 16/1 1
Fatores de desempenho do disco
p
Fornecido em MB/sec (largura de banda)
Aspectos mecânicos
Para ler/escrever dados é necessário que o cabeçote de leitura e escrita esteja posicionado na trilha e no ínicio do setor desejados
Envolve três tempos: busca (seek), latência rotacional e transferência
U
FRGS
p ( )
Aspectos do sistema operacional
Escalonamento de requisições ao disco
rmática
-U
Emprego de caches de E/S
Política de alocação do espaço em disco Mét d tí d d i d d
u
to de
Info Métodos contíguo, encadeado ou indexado
1 /201 6 Instit u Sistemas Operacionais I 6 16/1 1
Tempo de acesso ao disco
p
Trilha Tempo de transferência Tempo de busca (seek) Setor transferência Cabeçote leitura/escrita
tacesso= tbusca+ tlatência+ ttransf.
U
FRGS
Tempo de latênica
rmática
-U •Tempo para posicionar
o cabeçote no início do bloco a ser lido/escrito •Função da taxa de
•Tempo para a leitura/escrita efetiva dos dados
•Função da quantidade de dados •Tempo para posicionar o
cabeçote na trilha desejada •Função do deslocamento do cabeçote u to de Info 1 /2016 •Função da taxa de
rotação do disco acessados (r/w) e da rotação
C t í ti l i t â i cabeçote C t í ti ló i d di (f t ã i t d Instit u 16/1
1 Características exclusivamente mecânicas Características lógicas do disco (formatação, sistemas de
arquivos, tamanho do bloco) e mecânicas
Tempo de busca (seek)
p
(
)
Influenciado pelo tempo de acionamento, aceleração e
deslocamento do cabeçote até a trilha desejada
Não é linear em função do número do trilhas
Tempo de identificação da trilha (confirmação)
N lid d i t
t ê
t
d
k
U
FRGS
Na realidade existem três tempos de seek
seek time: tempo de deslocamento até uma determinada trilha
head switch time: tempo para acionar o cabeçote de leitura/escrita
rmática
-U head switch time: tempo para acionar o cabeçote de leitura/escrita
cylinder time: tempo de deslocamento da trilha i para a trilha i+1
Tempo médio de seek
u
to de
Info
e po éd o de see
Dado fornecido pelo fabricante e.g.; 5 a 10 ms 1 /2016 Instit u 16/1 1
Tempo de latência rotacional
p
Definido pela velocidade de rotação do motor
Discos rígidos 5400 RPM, 7200 RPM, 10000 RPM e 15000 RPM
Considera-se o tempo médio
Não se sabe a posição relativa do cabeçote com a do setor a ser lido Metade do tempo de uma rotação
U
FRGS
Metade do tempo de uma rotação
e.g.: 3 ms para um disco de 10000 rpm ( 6 ms uma rotação )
rmática
-U
Disco exemplo:
512 bytes por setor, 5400 RPM (latência rotacional de 5.55 ms), single track
u
to de
Info (4-5.5 ms read; 4-6.5 ms write), seek time (13 -16 ms read, 14-17 ms write)
1 /201 6 Instit u Sistemas Operacionais I 9 16/1 1
Tempo de transferência
p
Depende da velocidade de rotação do disco e da quantidade de
bytes a serem lidos ou escritos
Expresso por:
b Ttransf b Tt f 60 Ttransf btrotação U FRGS rN f RN Ttransf ç N f rmática -Ub = número de bytes a serem transferidos N = número de bytes em uma trilha R = número de rotações por minuto (RPM)
u
to de
Info
R = número de rotações por minuto (RPM) r = número de rotações por segundo (RPS)
1 /201 6 Instit u Sistemas Operacionais I 10 16/1 1
Exemplo: disco IBM deskstart 180 GXP
p
Bytes per sector: 512 bytes
Data zones: 27
Sector per track: 536 to 1092
Seek time
Track to track: 1.1 ms
Average: 8 5 ms
Sector per track: 536 to 1092
Platters: 3
Tracks per cylinder: 6
Average: 8.5 ms Full stroke: 15 ms Latency time: 4.7 ms U FRGS p y Cylinders: 70.553 Sectors (total): 361.882.080 y Buffer size: 8 MB Rotation speed: 7200 RPM rmática -U
Total size: 185.283.264.960 bytes
u to de Info 1 /2016 Instit u 16/1 1
Exemplo de tempo de transferência
p
p
Ler completamente, de forma randômica, um arquivo de dados de
160 Kbytes, armazenado em disco com:
C t í ti fí i T 10 10000 RPM (l tê i t 3 ) Características físicas: Tbusca= 10 ms, 10000 RPM (latência rot. = 3 ms)
Formatação física: 512 bytes por setor, 320 setores por trilha Formatação lógica: 1 bloco é formado por um setor (512 bytes)
U
FRGS
Formatação lógica: 1 bloco é formado por um setor (512 bytes)
Caso I: Acesso sequencial (16 KB corresponde a 320 setores)
rmática -U Tacesso= 10 ms + 3 ms + 6ms = 19 ms = 0,019s C II A dô i (l it b bl ) u to de
Info Caso II: Acesso randômico (leitura na base um bloco por vez)
Implica realizar 320 posicionamentos do cabeçote
T = 320 x (10 ms + 3 ms + (512/(320*512) * 6 ms)) = 4166 ms = 4 16s 1 /2016 Instit u Tacesso 320 x (10 ms + 3 ms + (512/(320 512) 6 ms)) 4166 ms 4,16s 16/1 1
Estratégias para melhorar o desempenho do disco
g
p
p
Mecânicas
Trocar o disco por um de melhor desempenho
t d b i l id d t ã e.g.: menor tempo de busca, maior velocidade rotação Adicionar mais discos físicos ao sistema
Atendimento simultâneo de mais de uma requisição
U
FRGS
Atendimento simultâneo de mais de uma requisição
Software (sistema operacional)
Otimizar o atendimento a requisições
rmática
-U q ç
Escalonamento do disco
Empregar cache do subsistema de E/S
Tópico a ser visto
u
to de
Info O acesso aos dados é feito em memória
Utilizar o sistema de arquivos adequado (alocação de espaço em disco) Minimiza deslocamentos 1 /201 6 Instit u Minimiza deslocamentos Sistemas Operacionais I 13 16/1 1
Escalonamento do disco
Problema:
Requisições proveem de diferentes processos e são geradas mais rapidamente do que são atendidas → fila de requisições
rapidamente do que são atendidas fila de requisições
Atendimento pode “quebrar” a ordem de acesso a um arquivo mesmo com um bom mapeamento físico
Solução:
U
FRGS
Solução:
Reordenar as requisições na fila de pendentes para otimizar o tempo de busca (seek) e latência rotacional
rmática
-U
Objetivos:
Aumentar a taxa de transferência (rendimento) Red ir o tempo médio de resposta
u
to de
Info
Reduzir o tempo médio de resposta
Ser justo no atender a requisições dos processos (variância)
1 /201 6 Instit u Sistemas Operacionais I 14 16/1 1
Políticas de escalonamento do disco
Otimização de busca
FIFO ou FCFS
SSTF (Sh t t S k Ti Fi t) SSTF (Shortest Seek Time First) Scan (elevador) e suas variações
Otimização rotacional
U
FRGS
Otimização rotacional
SLTF (Shortest Latency Time First) SPTF (Shortest Positioning Time First)
rmática -U ( g ) u to de Info 1 /2016 Instit u 16/1 1
First Come, First Served (FCFS)
,
(
)
As requisições são atendidas na sua ordem de chegada
• Prós:
• Simples de executar
U
FRGS
• Justo: requisições são atendidas na ordem
• Contras:
rmática
-U Contras:
• Padrão de busca aleatório (movimentação mecânica)
u
to de
Info Cabeçote percorre 640 trilhas • Comportamento ruim sob carga
altas (fila de requisição grande)
1 /201 6 Instit u 16/1 1
Shortest Seek Time First (SSTF)
(
)
Seleciona a requisição com o menor tempo de seek em relação a
posição atual do cabeçote de leitura/escrita
• Prós:
• Redução do tempo de busca (maior di t )
U
FRGS
rendimento)
• Tempo médio tende a ser mais baixo • Contra:
rmática
-U Contra:
• Não garante justiça ( ”fura” a fila ) • Postergação indefinida
u
to de
Info • Variância alta (ruim para sistema
interativos, aceitável para sistemas batch)
Cabeçote percorre 236 trilhas
1 /201 6 Instit u Sistemas Operacionais I 17 batch) 16/1 1
Scan (elevador)
(
)
Atende requisições em uma direção
Muda de direção ao atingir os cilindros mais interno ou mais externo D fi i ã d di ã f i l (fi ité i SSTF)
Definição da direção preferencial (fixa ou critério SSTF) • Prós
Of b t édi d
U
FRGS
• Oferece bons tempos médios de resposta
• Bom rendimento
rmática
-U
• Contra
• Na inversão de sentido tende haver i i õ já t ilh
u
to de
Info Cabeçote percorre 208 trilhas poucas requisições já que as trilhas foram recentemente visitadas
1
/201
6
Se uma requisição chega logo na frente da direção do
Instit
u
Sistemas Operacionais I 18
16/1
1 cabeçote ela é atendida na sequência, senão tem que
esperar a volta.
C-SCAN
Variação do algoritmo de SCAN com as requisições sendo atendidas
apenas em um sentido da varredura
C f t l it d i tid l d i d i ã ã Compensa o fato que na leitura nos dois sentidos, logo depois da inversão não
há quase requisições para atender
Uniformiza o tempo de espera das requisições
U
FRGS
p p q ç
Ao final da varredura o cabeçote é reposicionado no início do disco
Fornece uma visão lógica onde o disco é tratado como uma fila circular
rmática
-U
Outra variação: escalonamento LOOK
O braço não vai até o final do disco, mas sim até a posição da trilha mais
d i i id d d
u
to de
Info extrema correspondente a requisição no sentido da varredura
1 /2016 Instit u 16/1 1
Otimização rotacional: estratégias combinadas
ç
g
Di i t d k tá d d d d
Discos mais novos o tempo de seek está na ordem de grandeza da
latência rotacional
SLTF – Shortest Latency Time First
Reordena o atendimento de requisições de um mesmo cilindro em função do atraso rotacional mais curto.
SPTF – Shortest Positioning Time First
U
FRGS
Reordena requisições considerando a soma do tempo de seek com a latência Variação: Shortest Access Time First (SATF)
Reordena as requisições considerando a soma do tempo de seek e de
rmática
-U transferência q ç p
Ambas são implementadas organizando a fila de requisições por blocos (n
setores) de acordo com a política usada (SLTF ou SPTF)
u
to de
Info Normalmente é feito na controladora do disco, não pelo sistema operacional
1 /2016 Instit u 16/1 1
RAID: Redundant Array of Independent* Disks
y
p
Conjunto de discos rigídos visto pelo sistema operacional como um
único disco lógico
Definição de 5 níveis (original)
RAID 1, RAID 2, RAID 3, RAID 4 e RAID 5
Diferentes capacidades de desempenho e confiabilidade
U
FRGS
Diferentes capacidades de desempenho e confiabilidade
Padrões posteriores: níveis RAID 0, RAID 6 e combinações (RAID 1+0 e 0+1)
RAID pode ser implementado por software ou por hardware
rmática
-U
RAID pode ser implementado por software ou por hardware
Agrupamento de discos (JBOD – Just a bunch of disks)
Difere de RAID por não prover desempenho e confiabilidade
u
to de
Info
Difere de RAID por não prover desempenho e confiabilidade
*Na proposta original no artigo de David Patterson Garth Gibson e Randy Katz o “I” era de inexpensive
1 /201 6 Instit u Sistemas Operacionais I 21
*Na proposta original, no artigo de David Patterson, Garth Gibson e Randy Katz, o I era de inexpensive.
16/1
1
Implementação de RAID
p
ç
RAID em software:
Diferentes partições (discos lógicos) compõem um único disco RAID é f it l d i d di ( ft )
RAID é feito pelo driver de disco (software)
Normalmente implementa RAID nível 1 e RAID nível 5
RAID em hardware:
U
FRGS
RAID em hardware:
Diferentes discos físicos são organizados de forma a compor um disco lógico Organização é configurada e gerenciada pelo controlador de disco RAID
rmática
-U g ç g g p
Controlador realiza a geração das informações de redundância (firmware) Implementa todos os níveis de RAID
u to de Info 1 /201 6 Instit u Sistemas Operacionais I 22 16/1 1
RAID: Princípio de funcionamento
p
Dividir os dados de uma operação de E/S em vários discos fazendo
as operações em paralelo
A l lt t d t f ê i Acelerar o acesso e alta taxa de transferência
A unidade de divisão é o strip e pode ser setor, bloco ou trilha
U
FRGS strip disco
rmática
-U
Inserir redundância da informação para obter confiabilidade
registro stripe
p disco
u
to de
Info Redundância é inserida em porção de disco (extra) e não em setores como é
o caso dos FEC (Forward Error Correction)
Não há sobrecusto de tempo porque dados e redundância podem ser
1
/2016
Instit
u Não há sobrecusto de tempo porque dados e redundância podem ser
acessados em paralelo
16/1
1
RAID nível 0
Faz apenas striping
Não inclui redundância
Fornece alta taxa de transferência
Problema é falta de confiabilidade
U FRGS rmática -U u to de Info 1 /2016 Instit u 16/1 1
RAID nível 1
Faz espelhamento (mirroring)
Redundância de 100%
Não melhora a taxa de escrita, apenas a de leitura
Dados podem ser lidos em paralelos nos diferentes discos
U FRGS rmática -U u to de Info 1 /201 6 Instit u Sistemas Operacionais I 25 16/1 1
RAID nível 2
A unidade de striping é o bit
Oito superfícies para gravar um byte
Redundância é inserida em unidades adicionais (discos)
Código de Hamming (detecção e correção de erros)
U id d d di
d
i
t i
i d
U
FRGS
Unidades de disco devem ser rigorosamente sincronizadas
Não encontrado em unidades comerciais
1 1 0 1 0 0 1 0 0 1 0 (nibble superior apenas)
rmática -U ( p p ) u to de Info 1 /201 6 Instit u Sistemas Operacionais I 26 16/1 1
Discos de paridade (Hamming) Discos de dados
RAID nível 3 e RAID nível 4
O RAID 3 é similar ao RAID 2
Emprega apenas uma unidade para armazenar a paridade P id d d i l t d f il t h d (XOR) Paridade pode ser implementada facilmente em hardware (XOR)
Letra W : 0101 0111 Pi= b3xor b2xor b1xor bo
U FRGS 0101 0 0 11 01 11 0111 01 rmática -U Paridade u to de
Info
RAID 4 é similar ao RAID 3
Usa um bloco de dados como unidade de striping invés de bit O di d id d é l i t
1
/2016
Instit
u
O disco de paridade é um gargalo no sistema
16/1
1
RAID nível 5
Similar a configuração de RAID 4, mas distribui as paridades entre
os discos, ou seja
Nã f di ti ã t di d d d di d id d Não faz distinção entre discos de dados e disco de paridade
Permite a recuperação dos dados em caso de falha de disco única
U FRGS Paridade rmática -U u to de Info 1 /2016 Instit u 16/1 1
RAID nível 6
Emprega paridade P+Q
Permite a reconstrução dos dados na presença de falha dupla de discos N d d é ódi d d t ã ã d
Na verdade é um código de detecção e correção de erros
U FRGS Paridade rmática -U u to de Info 1 /201 6 Instit u Sistemas Operacionais I 29 16/1 1
Outros tipos de RAID
p
RAID 1+0 (RAID 10)
Espelha um bloco de dados e realiza o striping
RAID 0+1
Realiza o strip e depois o espelhamento
U FRGS rmática -U u to de Info 1 /201 6 Instit u Sistemas Operacionais I 30 16/1 1
E, por fim, Backup...
, p
,
p
Cópia de segurança
Baseado em atributo de arquivamento e/ou datas criação/modificação T bé d i d d ó i ló i ( i ã ó i fí i ) Também denominada de cópia lógica (em oposição a uma cópia física) Inicia em um ou mais diretórios especificados e recursivamente copia
todos os arquivos e diretórios criados/modificados desde uma data base
U FRGS q
Tipos de backup
Incremental rmática -U Diferencial Normal (completo) u to de Info 1 /2016 Instit u 16/1 1Tipos de backup
p
p
Normal Copia todos os arquivos selecionados para o backup Desmarca atributo de arquivamentoDesmarca atributo de arquivamento
Incremental
Copia todos os arquivos criados ou modificados desde o último backup normal ou incremental
U
FRGS
incremental
Desmarca atributo de arquivamento
Recuperação: último normal e todos os incrementais
rmática
-U
Diferencial
Copia todos os arquivos criados ou modificados desde o último backup normal ou diferencial
u
to de
Info Não desmarca atributo de arquivamento
Recuperação: ultimo normal e último diferencial
1 /2016 Instit u 16/1 1
Acaabooouu... (parte teórica)
(p
)
U
FRGS
rmática
-U
Mas vocês ainda tem trabalho pela frente...
Prova 3: 23 de novembro de 2016
u
to de
Info Entrega do trabalho 2: 6 de dezembro de 2016
Prova de recuperação: 14 de dezembro de 2016
Demonstração dos trabalhos T1 e T2 em 12 de dezembro 2016
1
/201
6
Instit
u Demonstração dos trabalhos T1 e T2 em 12 de dezembro 2016
Sistemas Operacionais I 33
16/1
1
Leituras complementares
p
A. Tanenbaum. Sistemas Operacionais Modernos (3
aedição),
Pearson Brasil, 2010.
C ít l 9 ã 3 5 Capítulo 9: seção 3.5
A. Silberchatz, P. Galvin; Sistemas Operacionais. (7
aedição).
Campus 2008
U
FRGS
Campus, 2008.
Capítulo 9: seções 9.5 a 9.9
R Oliveira A Carissimi S Toscani; Sistemas Operacionais Editora
rmática
-U
2
01
6