sistemas operacionais cap5 - dca.ufrn.braffonso/dca0108/pdf/so_cap5_6f.pdf · caracterização dos...

12
1 Luiz Affonso Guedes 1 DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Luiz Affonso Guedes 2 Capítulo 5 Gerência de Dispositivos Luiz Affonso Guedes 3 Caracterização dos dispositivos de entrada e saída Aspectos de Hardware Aspectos de Software Aspectos de desempenho de dispositivos de entrada e saída Conteúdo Luiz Affonso Guedes 4 Objetivo Apresentar de forma sistemática os principais dispositivos de entrada e saída existentes atualmente. Estudar as estruturas associadas com dispositivos de entrada e saída. Estudar aspectos de desempenho. Luiz Affonso Guedes 5 Recordando Cenário Atual Execução concorrente de CPUs e devices competindo por recursos. Luiz Affonso Guedes 6 Os 4 componentes de sistema computacional Recordando Nosso objetivo de estudo

Upload: buicong

Post on 25-Jan-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

1

Luiz Affonso Guedes 1

DCA-108 Sistemas Operacionais

Luiz Affonso Guedeswww.dca.ufrn.br/~affonso

[email protected]

Luiz Affonso Guedes 2

Capítulo 5Gerência de Dispositivos

Luiz Affonso Guedes 3

Caracterização dos dispositivos de entrada e saída

Aspectos de HardwareAspectos de Software

Aspectos de desempenho de dispositivos de entrada e saída

Conteúdo

Luiz Affonso Guedes 4

Objetivo

Apresentar de forma sistemática os principais dispositivos de entrada e saída existentes atualmente.Estudar as estruturas associadas com dispositivos de entrada e saída.Estudar aspectos de desempenho.

Luiz Affonso Guedes 5

Recordando

Cenário AtualExecução concorrente de CPUs e devices competindo por recursos.

Luiz Affonso Guedes 6

Os 4 componentes de sistema computacional

Recordando

Nosso objetivode estudo

2

Luiz Affonso Guedes 7

Objetivos de sistema operacionalExecutar programas de forma convenientepara o usuário.Gerenciar os recursos de software e hardware como um todo.Utilizar os recursos de hardware de forma eficiente e segura.

Recordando

Luiz Affonso Guedes 8

Tipos de Processos

CPU BoundI/O BoundTempo de Acesso a Dispositivos é elevado!

Luiz Affonso Guedes 9

Hardware - Recordando

Luiz Affonso Guedes 10

Hardware - Recordando

PeriféricosDispositivos conectado de modo a possibilitar a interação do computador com o mundo externo.

• Parte mecânica + Parte eletrônica.Conectados via interfaces de hardware.Conexão via barramento de dados

• Controladores de dispositivos: processamentodedicado

Luiz Affonso Guedes 11

Hardware de Entrada/Saída

Há uma grande variedade de dispositivos de Entrada/Saída

Forma de transferência de dados• Orientado a caracter

– Teclado, interface serial (RS-232)• Orientado a bloco de caracter

– Disco, fitas DAT.• Outros tipos

– Relógio, memória de vídeo mapeada em espaço de E/S.

Velocidade de transferência

Luiz Affonso Guedes 12

Alguns tipos de dispositivos de E/S

3

Luiz Affonso Guedes 13

Sistema de E/S

Sistema baseado em interrupçãoConceitos comuns:

PortaBarramentoControlador (adaptador) de dispositivo

Dispositivos: Mapeado em memóriaAcesso Direto à Memória (DMA)

Luiz Affonso Guedes 14

Estrutura Típica de Barramento

Luiz Affonso Guedes 15

Camadas do Sistema de E/S do SO

Luiz Affonso Guedes 16

Sistema Orientado a Interrupção

Luiz Affonso Guedes 17

O acesso ao controlador de dispositivo éefetuado pelo núcleo do SO

Uso de SystemCall

Sistema Orientado a Interrupção

Luiz Affonso Guedes 18

Sistema Orientado a Interrupção

4

Luiz Affonso Guedes 19

E/S por Mapeamento em Memória

Luiz Affonso Guedes 20

Acesso Direto à Memória - DMA

DMA – Direct Memory Access

Usado para evitar que as transferência de dados entre dispositvos e memória sejarealizada via CPU.

Aumento de desempenhoRequer um controlador DMA

A transferência de dados é relizadadiretamente entre o dispositivo de E/S e a memória, sem passar pela CPU.

Luiz Affonso Guedes 21

Acesso Direto à Memória - DMA

Luiz Affonso Guedes 22

DMA – Execução mais Detalhada

Luiz Affonso Guedes 23

Camadas do Sistema de E/S do SO

Luiz Affonso Guedes 24

Device Drivers

Camada de software que abstrai detalhesespecíficos de hardware.Fornece acesso aos controladores dos dispositivos de forma padronizada.Cada foenecedor de controlador de disposito deve fornecer o seu device driver.

5

Luiz Affonso Guedes 25

Device Drivers

Luiz Affonso Guedes 26

Device Drivers

Luiz Affonso Guedes 27

Camada de Software Independente de Dispositivo

Padronizar o acesso aos dispositivosTratamento de erros e exceçõesPolíticas de proteção do dispositivos

Luiz Affonso Guedes 28

Importância da padronização

Camada de Software Independente de Dispositivo

Luiz Affonso Guedes 29

Bufferização e Proteção

Camada de Software Independente de Dispositivo

Luiz Affonso Guedes 30

Padronização e Bufferização

Camada de Software Independente de Dispositivo

6

Luiz Affonso Guedes 31

Principais Funcionalidades

Camadas do Sistema de E/S do SO

Luiz Affonso Guedes 32

Mecanismo de Comunicação(a)Síncrona(b) Assíncrona (multithreading)

Luiz Affonso Guedes 33

Dispositivos Periféricos Típicos

Há uma grande variedade de dispositivos de E/S

Impossível se analisar todosO disco é um dos dispositivos periféricos mais importantes

Armazenamento de dadosSuporte a implementação de memória virtualAspectos relacionados com tolerância a falhas e segurança de dados (RAID)

Luiz Affonso Guedes 34

Disco Magnético

Disco de plástico ou metal recoberto de material magnético

PratosDados são gravados e, posteriormente, recuperados através de uma mola condutora (cabeçote de leitura e gravação)

Escrita: o cabeçote magnetiza o disco, via a aplicação de uma tensão elétrica.Leitura: a variação do campo magnético provocado pela rotação do disco, gera uma corrente elétrica no cabeçote de leitura. Rotação típica: 60 a 200 rotações por segundo

Luiz Affonso Guedes 35

PratosCilindrosSetoresTrilhasGapsBraçosCabeçotesDensidade

SimplesDupla

Disco Magnético - Componentes

Luiz Affonso Guedes 36

Prato é organizado em trilhasCírculos concêntricosA largura da trilha corresponde à largura do cobeçote de leitura/escrita

Trilhas são separadas por Gaps, para evitar problemas de alinhamentos

Disco Magnético - Organização

7

Luiz Affonso Guedes 37

Quantidade de bits por trilhaConstante

• Trilhas mais internas possuem uma densidade maior de bits/polegada

• Tecnologia CAV (Constant Angular Velocity)Variável

• Tecnologia CLV (Constant Linear Velocity) CDROM

Disco Magnético - Organização

Luiz Affonso Guedes 38

A transferência de dados para o disco éfeita em blocos

Tipicamente, bloco é menor que a capacidade de uma trilha

Trilha é subdividida em unidades de tamanho fixo setoresSetores

DadosInformações de Controle

A definição de trilhas e setores é feita pela formatação física do disco na fábrica

Disco Magnético - Organização

Luiz Affonso Guedes 39

Disco Magnético - Organização

Luiz Affonso Guedes 40

Disco com 4.1 Gigabytes255 cabeças63 setores de 512 bytes525 cilindrosCapacidade = 255 x 63 x 512 x 525

O sexagésimo quarto setor mantém um mapa de setores na trilhaA tecnologia atual permite até 8 pratos com 16 cabeçotes

A diferença no número de cabeçotes é lógico

Disco Magnético - Exemplo

Luiz Affonso Guedes 41

Menor unidade de transferência é um bloco lógicoComposto por um ou mais setores físicos

Acessar dado implica em localizar trilha, superfície e setor.

Método CHS (Cylinder, Head, Sector)Método LBA (Linear Block Addressage)

Conversão de bloco lógico para sua localização física não é um mapeamento direto, pois pode haver setores defeituosos, além do número de setores por trilha não ser constante.

Disco Magnético – Acesso a Dados

Luiz Affonso Guedes 42

Tempo de posicionamento (seek time)Tempo necessário para posicionar o cabeçote na trilha desejada

Tempo de latência rotacional• Tempo necessário para atingir o início do setor a ser

lido/escrito

Tempo de transferência• Tempo para escrita/leitura dos dados

Disco Magnético – Tempo de Acesso a Dados

8

Luiz Affonso Guedes 43

Disco Magnético – Tempo de Acesso a Dados

Luiz Affonso Guedes 44

Acessar um arquivo de dados de 1.3Mbytesarmazenado em disco com as seguintes características:

Tseekmédio = 10ms.Rotação = 10.000rpm512 bytes por setor320 setores por trilha

Caso 1: Acesso seqüencial (só há 1 Tseek)Tacesso = 10 + 8x(3+6) = 82ms

Caso 2: Acesso randômico (um setor por leitura)Tacesso = 2560 (10 +3+ 0.01875) = 33,328s

Tempo de Acesso a Dados - Exemplo

Luiz Affonso Guedes 45

Entrelaçamento (Interleaving)Forma de aumentar o desempenho no acesso ao discoObjetivo é evitar a latência rotacional em setores adjacentesTécnica consiste em numerar os setores não mais de forma contígua mas sim com um espaço entre eles.

Luiz Affonso Guedes 46

Escalonamento de DiscoTratar E/S em disco de forma eficiente se traduz em obter um tempo de acesso rápido e explorar ao máximo a largura de banda do disco

Diminuição do tempo de posicionamento (seek)• Software de controle• Algoritmo de escalonamento

Diminuição do tempo de latência rotação• tecnologia/hardware

Diminuição do tempo de transferência• Tecnologia/hardware

Largura de BandaNúmero total de bytes transferidos, dividido pelo tempo decorrido entre o primeiro acesso e a conclusão da transferência

Luiz Affonso Guedes 47

Algoritmos para diminuir o tempo de seekAlgoritmos de escalonamento do disco

• FCFS, SSTF, SCAN, C-SCANExemplo:

• Disco organizado em 200 trilhas (0-199)• Posição inicial do cabeçote: trilha 53• Atender a seguinte fila de requisições

– 98, 183, 37, 122, 14, 124, 65, 67

Escalonamento de Disco

Luiz Affonso Guedes 48

Acessa na ordem que as requisições são solicitadasPara o exemplo, obtém-se um deslocamento total de 640 trilhas/cilindros

First Come First Served (FCFS)

9

Luiz Affonso Guedes 49

SSTF – Shortest Seek Time FirstSeleciona a requisição com o menor tempo de seekem relação à posição atual do cabeçote

Análogo ao algoritmo SJF (Shortest Job First)• Pode haver starvation.

Total percorrido de 236 trilhas/cilindros

Luiz Affonso Guedes 50

SCAN

O movimento do cabeçote inicia em uma extremidade do disco e se movimenta em direção a outra extremidade

Executa as requisições na ordem desta varreduraAo chegar no outro extremo, inverte o sentido e repete o procedimento

Conhecido como algoritmo do elevador

Luiz Affonso Guedes 51

SCAN - ExemploDeslocamento total de 208 trilhas/cilindros

Luiz Affonso Guedes 52

C-SCAN

É uma variação do algoritmo SCANProcedimento é idêntico ao SCAN, porém as requisições são atendidas apenas em um sentido da varredura

Ao final da varredura, o cabeçote é re-posicionado no início do disco

O disco é tratado logicamente com uma fila circular

Possui um tempo médio de acesso mais uniforme que o algoritmo SCAN

Luiz Affonso Guedes 53

C-SCAN - Exemplo

Luiz Affonso Guedes 54

C-LOOKVariação do SCAN

O cabeçote não necessita atingir o extremo do disco para voltar ao início.

10

Luiz Affonso Guedes 55

Outras Variações do SCAN

N-Step-SCANDivide a fila de requisições em um certo número de filas de tamanho NCada fila é atendida separadamente utilizando se SCANNovas requisições são inseridas em filas diferentes da que está sendo atendida no momento da chegada destas requisições

FSCANBaseado em duas filasUma fila recebe todas as novas requisições, enquanto a outra é empregada para atender às requisições já feitas

Luiz Affonso Guedes 56

Selecionando um Algoritmo de Escalonamento de Disco

SSTF é o método mais comumente empregadoSCAN e C-SCAN apresentam um melhor desempenho em discos que possuem um grande número de acessoFatos importantes

Quantidade e tipo de requisiçõesOrganização de arquivos e diretórios no disco

O algoritmo de escalonamento deve ser escrito como um módulo separado do SO, para permitir sua substituição de forma fácil

Luiz Affonso Guedes 57

RAID – Redundant Array ofInexpensive Disks

Conjunto de discos rígidos visto pelo sistema operacional como um único disco lógicoDados são distribuídos entre os diferentes discos físicos

Permite o acesso paralelo a dados aumentando o desempenho

Possibilita o armazenamento de informações de paridade para permitir a recuperação de dados em caso de problemas no disco

Aumento de possibilidade de falhas já que existem mais dispositivos envolvidos

São arranjados em diversos níveis

Luiz Affonso Guedes 58

RAID – Nível 0

Dados são distribuídos nos diferentes discos do array

Requisições a blocos de dados armazenados em discos distintos podem ser efetuados em paralelo

O disco lógico é dividido em unidade de distribuição (strips)

Strip pode ser blocos físicos, setores, etc.Strip são mapeados de round-robin em N discosTécnica conhecida como stripping

Luiz Affonso Guedes 59

RAID – Nível 0

Luiz Affonso Guedes 60

RAID – Nível 1

Objetivo de RAID é fornecer redundância de dados para fornecer um certo grau de tolerância a falhasNo RAID Nível 1, a redundância é obtida através da replicação dos dados

Strips são armazenados em 2 conjuntos distintos de discos físicosDenominado de espelhamento (mirroring)

11

Luiz Affonso Guedes 61

RAID – Nível 1

Vantagens:Leitura de um dado pode ser feita privilegiando-se o disco que oferece o menor tempo de seek e atraso rotacional.O procedimento de recuperação em caso de erro é simples

Desvantagem:Custo: necessita o dobro do espaço do disco lógico em discos físicos

Luiz Affonso Guedes 62

RAID – Nível 2

O conjunto de discos é sincronizadoTodos os cabeçotes estão posicionados no mesmo ponto (trilha e setor)

Todos os discos são acessados na realização de uma requisição de E/SA unidade de stripping é byte ou palavraExecuta o cálculo de código de correção de erros considerando um certo número de bits e armazena o resultado em discos separados

Luiz Affonso Guedes 63

RAID – Nível 2

Luiz Affonso Guedes 64

RAID – Nível 2

O número de discos redundantes é proporcional ao logaritmo da quantidade de dados armazenada no disco

2 discos 1 redundante4 discos 2 redundantes8 discos 3 redundantes ...

Requisição de E/SLeitura: código de correção á calculado para dados lidos e comparado com o código de correção lido.Escrita: cálculo e gravação do código de correção.

Luiz Affonso Guedes 65

RAID – Nível 3Similar ao RAID nível 2A diferença é que existe apenas um disco de redundânciaO código de detecção de erro é a Paridade

Erros aos pares não são detectados

Luiz Affonso Guedes 66

RAID – Nível 4A diferença em relação aos níveis 2 e 3 é que os discos são independentes, podendo, então, satisfazer requisições em paralelo.Redundância é obtida calculando-se a paridade bit a bit de cada strip e armazenando o resultado em um disco de paridade

12

Luiz Affonso Guedes 67

RAID – Nível 5No RAID 4, o que ocorre se houver um defeito no disco de paridade?Organização similar ao RAID 4.A informação de paridade é distribuída em tos os discos do array de forma round-robin.

Luiz Affonso Guedes 68

RAID – Nível 6Há um segundo cálculo de paridade para um mesmo conjunto de dados

Aumento da confiabilidadeSuporta falhas aos pares.

Luiz Affonso Guedes 69

RAID 0 a 6

Luiz Affonso Guedes 70

RAID 10

Combinação dos níveis RAID 0 e RAID 1Os dados são divididos em strips (RAID 0) e, então, os discos de armazenamento de dados são espelhados (RAID 1)

Luiz Affonso Guedes 71

Implementação de RAID

Configurações de RAID podem ser implementadas em hardware (firmware) ou em softwareRAID em hardware

Diferentes discos físicos são organizados de forma a compor um disco lógicoO controlador de disco é responsável pela configuração e geração de informação redundante.

RAID em softwareDiferentes partições (discos lógicos) compõem um único discoO RAID é feito devide driver do disco (software)Normalmente implementa RAID nível 1 e RAID nível 5