39
Fundamentos de Sistemas Operacionais Aula 16: Entrada e Saída: Estudo de Caso Diego Passos

Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Fundamentos de Sistemas Operacionais

Aula 16: Entrada e Saída: Estudo de Caso

Diego Passos

Page 2: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Última Aula

Page 3: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Software de Entrada e Saída.

● Subsistema de E/S.○ Conjunto de camadas de abstração para realização de

operações de E/S.● SO usa device drivers para fazer manipulações específicas

de dispositivos de E/S.● SO provê camada com serviços comuns a todos os tipos de

dispositivos.● SO provê uma interface para o usuário (programador).

○ Através de chamadas de sistema.○ Linguagens e bibliotecas fornecem abstrações mais

altas.● Há três modos de execução de uma E/S:

○ Bloqueante, não-bloqueante e assíncrona.

Page 4: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Disco Rígido: Visão Geral

Page 5: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Por que estudar o Disco Rígido

● Há inúmeros dispositivos de E/S.● Estudar todos seria inviável.● O disco rígido (ou HD) é um dos dispositivos mais

interessantes.● É utilizado em diversas tarefas dentro do sistema:

○ Armazenamento não-volátil.○ Swap.○ ...

● É um dos poucos dispositivos nos computadores modernos que faz uso de operações mecânicas.

○ Por isso:■ Tende a ser muito mais lento que os demais

componentes.■ Tende a apresentar falhas muito mais

frequentemente.

Page 6: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Outros Dispositivos de Armazenamento em Massa

● Há vários outros dispositivos deste tipo.● Baseados em mídia removível:

○ Cartões de memória.○ Pendrives○ CD, DVD, e Blu-ray.

● Há também outros não removíveis:○ SSDs.

■ Usados em substituição aos HDs em netbooks.■ Empregam memória flash.

○ HyperDrives.■ Usados em substituição aos HDs em servidores

muito especializados.■ Empregam memória RAM e baterias (para manter

informações permanentemente)

Page 7: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Domínio do Mercado

● HDs convencionais ainda dominam o mercado.○ Baixos preços.○ Grandes capacidades de armazenamento.

■ É possível ter um PC com HD de 1TB a custo acessível.

Page 8: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Composição Física

● Composto por conjunto de discos metálicos.

○ Chamados de pratos.

○ Recobertos por uma película magnética.

○ Giram em torno de um eixo comum.

● Há ainda um braço mecânico com cabeçotes de leitura e escrita.

Page 9: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Composição Lógica

● Cada superfície de um prato é dividida em trilhas.○ Circunferências concêntricas (centradas no eixo de

rotação).● Cada trilha é composta por setores.

○ Arcos sobre a circunferência da trilha.○ Ângulos são fixos.○ Setores são conjuntos de bits.

■ "Pedaços" da película do prato que armazenam fisicamente um bit.

● Conjunto de trilhas de um mesmo raio em todos os pratos é chamado de cilindro.

Page 10: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Composição Lógica (mais)

Page 11: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Representação de um Bit

● Bits são representados pela orientação magnética de partes da película que recobre os pratos.

● Vários tipos de modulação podem ser usados.● A mais simples de todas é simplesmente definir duas

orientações opostas. Exemplo:○ Orientação de dentro para fora do prato representa 0.○ Orientação de fora para dentro do prato representa 1.

● Durante a escrita, cabeçote gera um campo que polariza a película.

● Durante a leitura, o campo da película induz uma corrente no cabeçote.

Page 12: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Densidade de Bytes por Área

● Setores são divisões radiais das trilhas.● Logo, toda trilha deve ter o mesmo número de setores.● Fisicamente, isso significa que trilhas mais externas

armazenam menos bytes por unidade de área.○ A densidade nestas trilhas é menor.

● Duas consequências:○ Tendência de falhas é maior nas trilhas internas.○ Alguns fabricantes testaram HDs de densidade

homogênea.■ Trilhas mais externas têm mais setores.■ Mudança feita em hardware.■ Para o software, geometria continuava igual

Page 13: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Capacidade de Armazenamento de um HD

● Em geral, fabricantes identificam quatro informações em um HD:

○ Número de cabeçotes (Heads ou h).■ Cada cabeçote corresponde a uma superfície de

leitura/escrita.○ Número de cilindros (Cylinders ou c).○ Número de setores por trilha (Sectors ou s).○ Bytes por setor.

● A capacidade de um HD pode ser calculada pelo produto destes três valores. Exemplo:

○ HD tem 16 cabeçotes,1016 cilindros, 51 setores e 512 bytes por setor.

○ Capacidade é 424476672 bytes (400 MB).

Page 14: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Endereçamento de Dados em um HD

● Originalmente, os HDs só suportavam um modo de endereçamento de dados: o CHS.

○ Três componentes:■ Cilindro.■ Cabeçote.■ Setor.

● Mais recentemente, surgiu o LBA (Linear Block Addressing).

○ Setores do HD são vistos como sequenciais.○ Cada um recebe um identificador numérico único,

começando do 0.○ Endereçamento é mais intuitivo.

● Pode-se facilmente converter um endereço do LBA para o CHS (e vice-versa).

○ Basta saber as características do HD.

Page 15: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Tempo de Acesso de um HD

Page 16: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Operações Necessárias para Acesso

● Quando uma requisição de leitura ou escrita chega ao HD, este realiza uma sequência de três operações:

○ Seek: posicionamento do cabeçote de leitura sobre a trilha desejada.

○ Latência: espera até que o giro do prato faça a setor desejado se posicionar sob o cabeçote.

○ Transferência: leitura/escrita efetiva, realizada durante a passagem do setor sob o cabeçote.

● Tempo total de acesso é dado pelo somatório dos tempos das três operações.

Page 17: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Tempos de Cada Operação

● O tempo de seek é determinado pela velocidade de movimentação do braço que manipula os cabeçotes.

○ Em média, da ordem de 10 ms.● O tempo de latência é determinado pela velocidade de

rotação do disco (que varia de 3600 a 15000 RPM).○ Em média, da ordem de 5 ms.

● O tempo de transferência também depende da velocidade de rotação do disco.

○ Bem menor que 1 ms.● Os tempos de seek e latência também dependem das

posições atuais do prato e do cabeçote.● Tempo de seek domina o tempo total de acesso a disco.

Page 18: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Entrelaçamento

● Técnica para melhorar o tempo de acesso a disco.● Também chamada de Interleaving. ● Processos, em geral, requisitam leitura de vários setores

consecutivos.○ Exemplo, setores 14 e 15.○ Quando leitura do setor 14 termina,CPU (ou DMA) tem

que fazer a requisição do setor 15.○ Neste intervalo, prato continua em rotação.

■ Provavelmente, já passando pelo setor 15.○ Quando a requisição chega, setor 15 já passou.

■ É preciso esperar uma nova revolução completa do prato.

Page 19: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Entrelaçamento (mais)

● Ideia do entrelaçamento:○ Não colocar setores de IDs consecutivos fisicamente

consecutivas.○ Inserir outros setores intermediários.

■ Usar um Fator de Entrelaçamento.■ Número de setores entre dois consecutivos.

Page 20: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Algoritmos de Escalonamento

Page 21: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Motivação

● Um HD é um dispositivo que pode receber várias requisições ao mesmo tempo.

● A ordem de grandeza do tempo de acesso de um HD é muito maior que a dos demais dispositivos da máquina.

● Por exemplo, nos 10 ms utilizados pela operação de seek, um processador de 2 GHz executa20 milhões de ciclos.

● Otimizaro tempo de acesso a disco é fundamental.○ Pequenos ganhos percentuais, são enormes em termos

absolutos.

Page 22: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Objetivo

● O objetivo do escalonamento do HD é sempre maximizar a vazão.

○ Quantidade de dados lidos/escritos por unidade de tempo.

● Uma vez que o cabeçote de leitura esteja posicionado sobre o setor desejado, a velocidade de leitura/escrita é sempre igual.

○ Determinada pela velocidade de rotação dos pratos.● Portanto, vazão é maximizada minimizando os tempos de

seek e latência.○ Especialmente o de seek, que é maior.

Page 23: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Algoritmo FIFO

● Não se preocupa com o desempenho.● Apenas escalona as requisições na ordem em que elas

chegam ao SO.● Desempenho é "aleatório".

○ Determinado ao acaso, pela ordem de chegada das requisições.

● Vantagem: implementação muito simples.

Page 24: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Algoritmo SSTF

● Shortest Seek Time First.● Dentre as requisições, atende primeiro a que tiver o menor

tempo de seek.○ A trilha desejada é a mais próxima da trilha atual.

● Tem bom desempenho, no melhor caso.○ Quando as requisições chegam em uma ordem propícia.

● Tem péssimo desempenho no pior caso.○ Quando as requisições chegam em uma ordem ruim.

● Pode resultar em starvation.○ Requisições para trilhas muito distantes da atual podem

nunca ser atendidos.

Page 25: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Algoritmo SCAN

● Determina um sentido de percorrimento para os cabeçotes.● Por exemplo:

○ Inicialmente, cabeçotes estão na parte mais externa dos pratos.

○ Sentido de percorrimento será sempre em direção a parte mais interna.

○ Ao longo do caminho, requisições são atendidas na ordem de percorrimento.

● Quando os cabeçotes chegam ao outro extremo dos pratos, sentido de percorrimento é invertido e procedimento continua.

● Também conhecido como Algoritmo do Elevador.○ Funcionamento similar a um elevador.

Page 26: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Algoritmo SCAN (mais)

● Tem diversas variações:○ CSCAN: Quando cabeçotes chegam ao outro extremo

dos pratos, eles voltam ao início, sem atender novos pedidos.

■ Objetiva maior justiça para requisições em trilhas nos extremos.

○ LOOK: não vai até o extremo, se não há outras requisições para lá.

■ Para na trilha da última requisição e começa a volta.○ ...

Page 27: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Comparação dos Algoritmos

FIFO SSTF

SCAN CSCAN

Page 28: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Comparação dos Algoritmos

● FIFO é o mais simples.○ Mas não leva em consideração informações de

desempenho.● SSTF pode resultar em bom desempenho.

○ Mas desempenho varia muito e pode levar a starvation.● O algoritmo do elevador (e suas variações) resultam nos

melhores desempenhos na média.○ Mas são tem implementação complexa.

Page 29: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

RAID

Page 30: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Redundant Array of Independent Disks

● Técnica utilizada para minimizar dois problemas comuns do uso de HDs em grande escala:

○ Velocidade de acesso baixa (comparada aos demais componentes da máquina).

○ Alta probabilidade de falha.■ Ocasionando perda de dados.

● Ideia é formar um vetor de HDs físicos, que contenha algum tipo de redundância.

○ A redundância permite a recuperação dos dados em caso de certas falhas.

○ O vetor de vários HDs é visto como um único grande HD.

● Existem vários níveis de RAID.○ Cada um com características específicas.

Page 31: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

RAID 0

● Não há redundância.● Todos os discos armazenam apenas dados.● Vantagens:

○ Como há vários HDs físicos, requisições podem ser atendidas em paralelo.

■ RAID 0 faz um balanceamento de carga na distribuição dos dados pelos HDs.

○ Ou seja, o RAID 0 oferece benefícios apenas de desempenho.

● Esquema conhecido também como stripping.● Capacidade total de armazenamento é igual a soma das

capacidades dos HDs.

Page 32: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

RAID 1

● Método de espelhamento.● São usados n HDs de igual capacidade.

○ Um principal, outros secundários.● Todos os dados são escritos no HD principal.

○ Mas automaticamente são espelhados para os HDs secundários.

● Em caso de falha do HD principal, os outros contêm uma cópia perfeita.

● Não há benefícios de desempenho.● Capacidade total de armazenamento é igual a soma das

capacidades dos HDs dividida por n.

Page 33: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

RAID 2/3/4

● Os três níveis são parecidos.● Todos usam n+1 HDs.

○ Os n primeiros, armazenam dados.○ O último armazena informações de redundância:

■ Paridade de bit, no RAID 2.■ Paridade de byte, no RAID 3.■ Paridade de bloco, no RAID 4.

● Há tanto benefícios de desempenho (stripping nos n primeiros HDs), quanto de redundância.

○ Em caso de falha de um dos n primeiros HDs, as informações dos demais, pode ser usada para recuperar os dados perdidos.

Page 34: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

RAID 5

● Idêntico ao RAID 4, exceto pelo fato de que as informações de paridade são distribuídas por todos os discos.

● Isto é, não existe um único HD para armazenar informações de paridade.

● Objetivo:○ Evitar que o HD de paridade se torne um gargalo na

escrita.

Page 35: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

RAID 6

● Idêntico ao RAID 5, porém com um esquema de paridade dupla.

● No RAID 5, se um HD falha, todo o sistema fica sujeito a perda de dados até que este HD seja substituído.

○ Se mais um HD falhar antes da substituição, dados serão perdidos.

● O RAID 6 tolera a falha de até dois HDs do conjunto.○ Logo, no caso de um defeito em um HD, o sistema

ainda tem uma proteção contra perda de dados.

Page 36: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

RAID 10

● Combina os níveis 0 e 1.● Há vários conjuntos de HDs que fazem espelhamento.● Cada conjunto é usado como um HD do nível 0.● Vantagens:

○ Alta tolerância a falhas.■ A falha de um HD é facilmente corrigida através da

ativação de um HD secundário do seu conjunto.○ Alto desempenho.

■ Até k requisições podem ser atendidas simultaneamente, onde k é o número de conjuntos.

● Desvantagem:○ Ao menos 4 discos são necessários.○ Custo muito alto.

Page 37: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Implementações do RAID

● RAID pode ser implementado tanto por hardware, quanto por software.

● Caso implementado em hardware, SO vê todo o vetor de discos como um único HD.

○ Funcionamento é completamente transparente para o SO.

● Implementação em hardware tende a ser mais rápida que em software.

○ Mas a diferença já foi bem maior.

Page 38: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Revisão

Page 39: Fundamentos de Sistemas Operacionaisdiego/disciplinas/2011_1/sisop/aula16.pdf · Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados

Para Lembrar

● Funções do HD nos computadores.○ Armazenamento não volátil.○ Swap.

● Características de um HD (enquanto dispositivo de E/S).○ Partes mecânicas.

■ Altos tempos de acesso.■ Alta probabilidade de falha.

● Componentes do tempo de acesso a disco.○ Tempo de seek, latência, transferência.

● Redução do tempo de acesso.○ Entrelaçamento.○ Algoritmos de escalonamento.

● RAID.○ O que é e para que serve.