Sistemas Operacionaisdocente.ifrn.edu.br/tadeuferreira/disciplinas/2015.2/sistemas... · Sistema de...

25
Sistemas Operacionais Sistema de entrada e Saída

Transcript of Sistemas Operacionaisdocente.ifrn.edu.br/tadeuferreira/disciplinas/2015.2/sistemas... · Sistema de...

Sistemas Operacionais

Sistema de entrada e Saída

Tadeu Ferreira IFRN 2011

Sistema de Entrada e Saída I/O

● É uma das principais tarefas de um sistemacomputacional

● Como máquina abstrata o S.O. deve ofereceruma visão padronizada dos dispositivos deEntrada e Saída

● Controlar acesso concorrente

● Camadas de abstração

● Dispositivos não-confiáveis

Tadeu Ferreira IFRN 2011

I/O uma das principais tarefas deum computador

● Toda computação começa com uma entrada dedados

● Toda computação termina com uma saída dedados

● O tempo de reposta dos dispositivos de I/O sãoMUITO diferentes (comumente maiores) que otempo de componentes como memória eprocessador

Tadeu Ferreira IFRN 2011

Tempo de resposta de dispositivos

Tadeu Ferreira IFRN 2011

Visão padronizada dos dispositivosde Entrada e Saída

● Usuário não deve se preocupar se o dispositivoestá ligado numa placa ou na placa mãe

● Usuário não deve ter de se preocupar com otempo de resposta

● Usuário não deve ter de se preocupar com ascaracterísticas mecânicas do dispositivo

● O SO deve tratar da melhor maneira possíveisfalhas de hardware

Tadeu Ferreira IFRN 2011

Controlar acesso concorrente

● Alguns dispositivos não são preemptíveis● Portas Seriais

● Alguns deles nem são compartilháveis● Impressora● Gravador de Cds

● O sistema deve evitar situações de deadlock eprover acesso justo a todos os recursos portodos os processos

Tadeu Ferreira IFRN 2011

Arquitetura em camadas

Tadeu Ferreira IFRN 2011

Tipos de Dispositivos

● Dispositivos de Bloco

● Dispositivos de caractere

Tadeu Ferreira IFRN 2011

Dispositivos de Bloco

● Acesso em conjuntos de n Bytes (Blocos)

● Cada bloco tem um endereço diferente

● Transferências são em um ou mais blocos

● Ex.:● Disco● Pen drive● CDROM

Tadeu Ferreira IFRN 2011

Dispositivos de Caractere

● Acesso em Bytes

● Transferências em fluxo de caracteres

● Não endereçavel

● Ex.:● Impressoras● Rede● Mouse

Tadeu Ferreira IFRN 2011

I/O Mapeada em memória

● Os registradores e o buffer de memória ficamem um endereço fixo na memória

● O acesso aos dispositivos é feito do mesmojeito que se faz com a memória

● Pode ser híbrido com os registradores em umespaço de endereços separado

Tadeu Ferreira IFRN 2011

Conexão da CPU com osdispositivos de I/O

Tadeu Ferreira IFRN 2011

Vantagens do I/O mapeado emmemória

● Programação simplificada: o acesso é feitocomo um espaço de memória comum

● A proteçao a áreas de I/O é mais simples bastanunca oferecer a área de memória de I/O a umprocesso

● Todas funções de tratamento de memóriapodem ser usadas para dispositivos de I/O

Tadeu Ferreira IFRN 2011

Desvantagens do I/O mapeado emmemória

● Deve desablitar cache de memória

● Quando um pedido de memória é feito todos osdispositivos de I/O e a memória precisamreceber o sinal● Fácil com um só barramento● Complexo para multi-barramentos (Pentium)● Possível solução: pedir sempre para a memória se

falhar pedir aos dispositivos

Tadeu Ferreira IFRN 2011

Transferência entre o dispositivo e amemória Sem DMA

● 1 – Controlador Lê do disco

● 2 – Controlador Checa Integridade

● 3 – Controlador Interrompe a CPU

● 4 – SO em loop copia os dados do controladorpara memória principal

CPU

MemóriaPrincipal

1

2

3

4

Tadeu Ferreira IFRN 2011

Transferência entre o dispositivo e amemória Com DMA

Tadeu Ferreira IFRN 2011

Desvantagens de usar DMA

● A CPU é muito mais rápida que o controladorde DMA

● Se os dispositivos de I/O não sào tão lentos émelhor que a CPU espere pelo I/O

● Usando DMA a CPU espera pelo controladorDMA que espera pelo dispositivo

● Em sistemas embarcados isso implica em umcusto por vezes muito alto

Tadeu Ferreira IFRN 2011

Interrupções

● Provêem comunicação assíncrona com a CPU

● Funcionamento:

Tadeu Ferreira IFRN 2011

Gerenciadores de Interrupções

● Nível mais baixo antes do físico

● São pequenos trechos de código executadosquando ocorre uma interrupção

● É a responsável por comunicar aos níveissuperiores quando uma operação foicompletada

● Devem ser escondidos de outros blocos doS.O.

Tadeu Ferreira IFRN 2011

Gerenciador de Interrupções

1. salva registradores que ainda não foram salvos pelo hardwarede interrupção

2. estabelece contexto para rotina de tratamento de interrupção3. estabelece uma pilha para a rotina de tratamento de

interrupção4. sinaliza o controlador de interrupção, reabilita as interrupções5. copia os registradores de onde eles foram salvos6. executa rotina de tratamento de interrupção7. escolhe o próximo processo a executar8. estabelece o contexto da MMU para o próximo processo a

executar9. carrega os registradores do novo processo10. começa a executar o novo processo

Tadeu Ferreira IFRN 2011

Drivers de dispositivos

● Contem todo o código dependente dodispositivo

● Comunica-se com as controladoras enviandoos comandos e preenchendo registradores

● Tradução de instruções abstratas paracomandos concretos do dispositivo

● Tratamento de possíveis erros do dispositivo

● O criador do hardware desenvolve para o S.O.

● Espaço do Kernel X Espaço do usuário

Tadeu Ferreira IFRN 2011

Drivers de Dispositivos

● O SO oferece uma interface padrão para odesenvolvimento de drivers● De bloco● De caractere

Tadeu Ferreira IFRN 2011

Software Independente dedispositivo(1)

● Interface uniforme para os drivers dos dispositivos

Tadeu Ferreira IFRN 2011

Software Independente dedispositivo(2)

● Armazenamento em buffer

a) Entrada sem utilização de bufferb) Utilização de buffer no espaço do usuárioc) Utilização de buffer no núcleo seguido de cópia para oespaço do usuáriod) Utilização de buffer duplo no núcleo

Tadeu Ferreira IFRN 2011

Visão geral do Software de I/O