sistemas operacionais cap5 - dca.ufrn.braffonso/dca0108/pdf/so_cap5_6f.pdf · caracterização dos...
TRANSCRIPT
1
Luiz Affonso Guedes 1
DCA-108 Sistemas Operacionais
Luiz Affonso Guedeswww.dca.ufrn.br/~affonso
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