sistemas operacionais gerenciamento de dispositivos de entrada e saída marcos josé santana regina...

85
SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação e Departamento de Ciências de Computação e Estatística Estatística

Upload: internet

Post on 16-Apr-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

SISTEMAS OPERACIONAIS

Gerenciamento de Dispositivos

de Entrada e Saída

Marcos José Santana

Regina Helena Carlucci Santana

Universidade de São PauloUniversidade de São PauloInstituto de Ciências Matemáticas e de ComputaçãoInstituto de Ciências Matemáticas e de ComputaçãoDepartamento de Ciências de Computação e EstatísticaDepartamento de Ciências de Computação e Estatística

Page 2: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

2

Dispositivos de Entrada e SaídaDispositivos de Entrada e Saída

SO pode atuar de duas maneiras diferentes: Como máquina estendida (top-down) – tornar

uma tarefa de baixo nível mais fácil de ser realizada pelo usuário;

Como gerenciador de recursos (bottom-up) – gerenciar os dispositivos que compõem o computador;

Page 3: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

3

Dispositivos de Entrada e SaídaDispositivos de Entrada e Saída

Funções específicas: Enviar sinais para os dispositivos; Atender interrupções; Tratar possíveis erros; Prover interface entre os dispositivos e o

sistema;

Princípios: Hardware; Software;

Page 4: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

4

Dispositivos de E/SDispositivos de E/SPrincípios de HardwarePrincípios de Hardware

Diferentes visões: Engenheiros eletricistas: em termos de chips,

cabos, capacitores, baterias, ou seja, os componentes que fazem parte do hardware;

Programadores: em termos da interface apresentada:Comandos aceitos;Funcionalidades (serviços prestados);Tratamento de erros;

Page 5: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

5

Dispositivos de E/SDispositivos de E/SPrincípios de HardwarePrincípios de Hardware

Podem ser divididos em duas categorias: Dispositivos baseados em bloco: informação

é armazenada em blocos de tamanho fixo, cada um com um endereço próprio;

Tamanho varia entre 512 bytes e 32.768 bytes;Permitem leitura e escrita independentemente de

outros dispositivos;Permitem operações de busca;Ex.: discos rígidos;

Page 6: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

6

Dispositivos de E/SDispositivos de E/SPrincípios de HardwarePrincípios de Hardware

Dispositivos baseados em caracter: aceita uma seqüência de caracteres, sem se importar com a estrutura de blocos; informação não é endereçável e não possuem operações de busca;

Ex.: impressoras, interfaces de rede (placas de rede); placas de som;

Page 7: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

7

Dispositivos de E/SDispositivos de E/SPrincípios de HardwarePrincípios de Hardware

Pseudo-dispositivo: abstração empregada para adicionar funcionalidades ao sistema operacional:

UNIX:Permite acesso à memória com se fosse um

disco (ramdisk);Dispositivos nulos: /dev/null;

Page 8: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

8

Dispositivos de E/SDispositivos de E/SPrincípios de HardwarePrincípios de Hardware

Classificação não é perfeita, pois alguns dispositivos não se encaixam em nenhuma das duas categorias: Clocks: provocam interrupções em intervalos

definidos;

Classificação auxilia na obtenção de independência ao dispositivo;

Page 9: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

9

Dispositivos de E/SDispositivos de E/SPrincípios de HardwarePrincípios de Hardware

Parte dependente está a cargo dos drivers:

software que controla o acionamento dos dispositivos;

Page 10: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

10

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Dispositivos de E/S possuem basicamente dois componentes:

Mecânico o dispositivo propriamente dito; Eletrônico controladores ou adaptadores

(placas);

Page 11: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

11

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

O dispositivo (periférico) e a controladora se comunicam por meio de uma interface:

Serial, paralela, USB, etc. Barramentos: IDE, ISA, SCSI, AGP, etc.

Page 12: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

12

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Driver envia sinais para a controladora, que é responsável por converter esse sinal;

Comunicação em baixo nível – instruções em assembly;

Page 13: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

13

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Ex.: Terminal de vídeo dispositivo operando com uma seqüência de bits, recebidos serialmente; A controladora realiza as seguintes tarefas:

Lê os bytes contendo os caracteres (da memória) a serem exibidos e gera os sinais que modulam o feixe de elétrons que escreve os caracteres na tela; Cathode Ray Tube (CRT) similar ao tubo de imagens

da TV; Também gera sinais de sincronismo; SO inicializa a controladora com:

Número de linhas por tela; Número de caracteres por linha;

Page 14: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

14

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Cada controladora possui um conjunto de registradores de controle comunicação com a CPU;

Além dos registradores, alguns dispositivos possuem um buffer de dados: Ex.: placa de vídeo – memória de vídeo (RAM);

algumas impressoras;

Page 15: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

15

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

SO gerencia os dispositivos de E/S escrevendo e lendo esses registradores/buffers;

Enviar comandos para os dispositivos; Saber o estado dos dispositivos;

Page 16: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

16

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Como a CPU se comunica com esses registradores de controle?

Duas maneiras básicas:

Page 17: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

17

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Porta: cada registrador de controle possui um número de porta E/S de 8 ou 16 bits;

Instrução em Assembler;Endereço de espaço de memória e de E/S são

diferentes; Mainframes IBM;

Page 18: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

18

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Memory-mapped: mapear os registradores de controle em espaços de memória;

Cada registrador possui um único endereço de memória;

Introduzida com o PDP-11 (minicomp. da 3ª geração);

Em geral, os endereços estão no topo da memória;

Instruções em C (ou outra linguagem de alto nível);

Page 19: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

19

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Existe ainda um terceira maneira híbrida Registradores Porta;Buffers Memory-mapped;

Pentium: endereços de 640k a 1M para os buffers e as portas de E/S de 0a 64k para registradores;

Instruções em C; Registradores são apenas variáveis na memória;

Page 20: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

20

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Memória

Porta HíbridoMemory-mapped

0

0xFFFF...

Memória

Memória

Porta E/S

Page 21: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

21

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Como funciona a comunicação da CPU com os dispositivos?

Quando a CPU deseja ler uma palavra, ou da memória ou da porta, ela coloca o endereço que ela está desejando no barramento de endereço e manda um comando (sinal) READ no barramento de controle;

Page 22: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

22

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

DMA (Direct Access Memory) acesso direto à memória:

Presente principalmente em dispositivos baseados em bloco;

Pode estar na placa-mãe e servir vários dispositivos;

Page 23: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

23

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Leitura de um bloco de dados em um disco: Sem DMA:

CPU controla; Controladora lê bloco bit a bit – CPU fornece endereço a ser

lido; Dados são armazenados no buffer da controladora; Verifica consistência – Checksum; Gera interrupção; SO lê dados byte a byte (ou palavra) e armazena na

memória;

Page 24: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

24

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Com DMA:

CPU controla;Além do endereço a ser lido, a CPU fornece à

controladora duas outras informações: endereço de memória e o número de bytes a ser transferido;

Controladora lê o bloco de dados e o armazena em seu buffer;

Controladora verifica o checksum;

Page 25: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

25

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Com DMA: ... Controladora copia o primeiro byte/palavra para a MP no

endereço especificado na DMA;

Controladora incrementa o endereço de memória na DMA e decrementa o contador da DMA com o número de bytes transferidos;

Assim que o contador da DMA chegar em zero (0), a controladora gera uma interrupção;

Quando o SO inicia tarefa, o bloco de dados já está na MP;

Page 26: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

26

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

DMA: pode tratar múltiplas transferências simultaneamente vários conjuntos de registradores;

Page 27: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

27

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Por que a controladora precisa de um buffer interno? Por que ela não escreve diretamente na memória?

Permite realizar checagem do checksum antes de iniciar alguma transferência;

Dados (bits) são transferidos do disco a uma taxa constante, independentemente da controladora estar pronta ou não;

Acesso à memória depende de acesso ao barramento – barramento pode estar ocupado com outra tarefa;

Com o buffer, o barramento é usado apenas quando a DMA opera;

Page 28: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

28

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Interrupções de E/S (interrupt-driven I/O):

Sinais de interrupção são enviados (através dos barramentos) pelos dispositivos ao processador;

Após uma interrupção, chip controlador de interrupções decide o que fazer;

Envia para CPU; Ignora no momento (dispositivos geram sinais de interrupção

até serem atendidos);

Page 29: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

29

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Diferentes dispositivos geram tipos diferentes de interrupções:

Vetor de Interrupções: pode estar na memória (registrador da CPU aponta seu endereço) ou estar fisicamente na máquina;

Page 30: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

30

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Como uma interrupção ocorre:

Page 31: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

31

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Memória Principal

xxxyyy

.

.

Vetor de Interrupções01234

Tipo

Manipulador Tipo 0

Manipulador Tipo 1

xxx

yyy

Page 32: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

32

Dispositivos de E/S - Ciclo de E/SDispositivos de E/S - Ciclo de E/S

Controladora de E/S

Driver inicia E/S

Entrada pronta, saídacompleta ou erro

Gera sinal de interrupção

Inicia E/S

CPU retorna oprocessamento da tarefa

interrompida

A rotina de tratamento deinterrupção processa

dados, retorna interrupção

CPU recebe interrupção,transfere o controle para a

rotina de tratamento deinterrupção

CPU em execução verificainterrupções entre

instruções

CPU1

2

4

5

6

7

3

Page 33: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

33

Dispositivos de E/S - Ciclo de E/SDispositivos de E/S - Ciclo de E/SPedido de E/S

Enviar pedido para driver,bloquear processo se

necessário

Processar pedido, enviarcomandos para

controladora, configurarcontroladora para bloquear

até interrupção

Monitorar o dispositivo,interromper quando E/S

estiver concluída

E/S concluída, dados deentrada disponíveis ou

saída concluída

Transferir dados (senecessário) para o

processo, retornar códigode conclusão ou falha

Determinar que operaçãode E/S foi concluída,

indicar mudança de estadopara o subsistema de E/S

Receber interrupção,armazenar dados no buffer

se for entrada, sinalizarpara desbloquear driver de

dispositivo

E/S concluída, gerarinterrupção

Pedido pode seratendimento

imediatamente?

Chamada de sistema

Comandos da controladora

Sim

Não

Interrupção

Processo deusuário

Subsistema de E/Sdo Kernel

Subsistema de E/Sdo Kernel

Driver

Controladora

TEMPO

Rotina deTratamento de

Interrupção

Page 34: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

34

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Tratando uma interrupção:

1. O hardware empilha o contador de programa, o PSW (bits de controle) e outros registradores;

2. O hardware obtém o novo valor do contador de programa a partir do vetor de interrupções;

3. Um procedimento em linguagem de máquina salva o valor dos registradores;

4. Esse mesmo procedimento monta uma nova pilha;

Page 35: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

35

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Tratando uma interrupção:

5. Um procedimento em C executa o serviço solicitado pela interrupção;

6. O escalonador decide qual o próximo processo a ser executado;

7. O procedimento em C anterior retorna ao procedimento em linguagem de máquina;

8. O procedimento em linguagem de máquina executa as funções necessárias ao início do processo selecionado pelo escalonador;

Page 36: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

36

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Organizar o software como uma série de camadas: Camadas mais baixas apresentam detalhes de

hardware; Camadas mais altas apresentam interface para o

usuário;

Objetivo principal: independência dos dispositivos: SO é responsável por gerenciar problemas de

diferentes drivers de diferentes dispositivos;

Page 37: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

37

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Características importantes:

Espaço de nomes: arquivos e dispositivos podem ser endereçados da mesma maneira; uniformidade cadeia de caracteres;

Manipulação de Erros: Controladora: preferível, pois é feito em nível de hardware; Driver; Apenas quando as camadas inferiores não são capazes de

resolver o problema é que camadas superiores tomam conhecimento do problema;

Page 38: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

38

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Transferência de dados:Síncrona (bloqueante): requer bloqueio até que os

dados estejam prontos para transferência;Assíncrona (não-bloqueante): transferências

acionadas por interrupções (interrupt-driven); mais comuns;

Buffering: armazenamento de dados antes da transferência;

Page 39: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

39

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Tipos de dispositivos:

Compartilháveis: podem ser utilizados por vários usuários ao mesmo tempo; Ex.: disco;

Dedicados: podem ser utilizados por apenas um usuário de cada vez; Ex.: impressora, unidade de fita;

Page 40: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

40

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Maneiras de realizar E/S:

E/S programada;Mais usada em sistemas embarcados;

E/S orientada à interrupção;

E/S com uso da DMA;

Page 41: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

41

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

E/S programada: passos para impressão de uma cadeia de caracteres (laço até que toda a cadeia tenha sido impressa);

Page 42: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

42

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

E/S programada:

Desvantagem:

CPU é ocupada o tempo todo até que a E/S seja feita;

CPU continuamente verifica se o dispositivo está pronto para aceitar outro “caracter” espera ocupada;

Page 43: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

43

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

E/S orientada à interrupção:

No caso da impressão, a impressora armazena os caracteres;

Quando a impressora está pronta para receber outros caracteres, gera uma interrupção;

Processo é bloqueado;

Page 44: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

44

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

E/S com uso da DMA:

DMA executa E/S programada controladora de DMA faz todo o trabalho ao invés da CPU;Redução do número de interrupções;

Desvantagem:Uso da DMA é mais lento que a CPU;

Page 45: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

45

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

04 camadas: Manipuladores de interrupção (mais baixo nível); Drivers dos dispositivos; Software de E/S (independente do dispositivo); Software do usuário (mais alto nível - topo);

Hardware

Manipuladores de Interrupção

Drivers

Software de E/S

Software de E/S do Usuário Serviços

Page 46: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

46

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Manipuladores de interrupção: Gerenciam interrupções realizadas pelos dispositivos

de E/S;

Drivers: Contêm todo o código dependente do dispositivo; Implementam os mecanismos de acesso e

gerenciamento de um dispositivo de E/S; Dispositivos diferentes possuem drivers diferentes;

Classes de dispositivos podem ter o mesmo driver;

Lêem e escrevem nos registradores das controladoras;

Page 47: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

47

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Drivers:

São gerenciados pelo kernel do SO arquitetura permite;

Controlam o funcionamento dos dispositivos por meio de seqüência de comandos escritos nos registradores da controladora;

São dinamicamente carregadas durante a execução do sistema;

Drivers defeituosos podem causar problemas no kernel do SO;

Page 48: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

48

Dispositivos de E/S Dispositivos de E/S Princípios de HardwarePrincípios de Hardware

Page 49: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

49

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Software de E/S – independente do dispositivo

Realizar as funções comuns a quaisquer dispositivos; Prover uma interface uniforme para o usuário*; Escalonamento de E/S; Denominação: nome lógico a partir do qual o

dispositivo é identificado; Ex.: UNIX (/dev)

Prover buffering: ajuste entre a velocidade e a quantidade de dados transferidos;

Cache de dados: armazenar na memória um conjunto de dados freqüentemente acessados;

Page 50: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

50

Dispositivos de E/S Dispositivos de E/S Princípios de Software*Princípios de Software*

(a) Sem padrão de interface

(b) Com padrão de interface (uniforme)

Page 51: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

51

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Software de E/S:

Reportar erros: Programação: Ex.: tentar efetuar leitura de um dispositivo de saída

(impressora, vídeo); E/S: Ex.: tentar imprimir em uma impressora desligada ou sem

papel; Memória: escrita em endereço inválidos;

Alocação, uso e liberação dos dispositivos acessos concorrentes: Spooling e Daemon;

Proteger os dispositivos acessos indevidos;

Page 52: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

52

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Software de E/S no nível Usuário:

SO manipula a maior parte dos dados relacionados aos dispositivos de E/S;

Bibliotecas de E/S são utilizadas pelos programas dos usuários chamadas ao sistema (system calls);

Ligadas às linguagens de programação; Compiladores;

Page 53: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

53

Dispositivos de E/S Dispositivos de E/S Princípios de SoftwarePrincípios de Software

Hardware

Manipuladores de Interrupção

Drivers

Software de E/S

Software de E/S do usuárioRequisiçãoE/S

Camadas

RespostaE/S

Executa operações de E/S

Aciona driver quando operação E/S termina

Seta registradores da controladora;Verifica status dos dispositivos;

Nomes; Proteção, Alocação, Bloqueio,Buffering;

Chamadas de E/S, Spooling;

Page 54: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

54

Dispositivos de E/S - DiscosDispositivos de E/S - Discos

Discos: Magnéticos: leitura e escrita são realizadas

na mesma velocidade ideal para memória secundáriaEx.: disco rígido, disco flexível;

Óticos: distribuição de programasEx.: CD-ROMs, CD-RW, DVDs;

Page 55: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

55

Dispositivos de E/S - DiscosDispositivos de E/S - Discos

Cada superfície é dividida em trilhas;

Cada trilha é dividida em setores ou blocos (512 bytes a 32K);

Um conjunto de trilhas (com a mesma distância do eixo central) formam um cilindro;

Cabeças de leitura e gravação; Tamanho do disco: nº cabeças (faces) x nºcilindros

(trilhas) x nº setores x tamanho_setor;

Organização Física do Disco Magnético

superfície

cabeçote

Page 56: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

56

Dispositivos de E/S - DiscosDispositivos de E/S - Discos Discos Magnéticos:

Grande evolução com relação Velocidade de acesso (seek): tempo de deslocamento do

cabeçote até o cilindro correspondente à trilha a ser acessada;

Transferências: tempo para transferência (leitura/escrita) dos dados;

Capacidade; Preço;

Tempo de acesso:

Tseek + Tlatência* + Ttransferência;

* Tempo necessário para o cabeçote se posicionar no setor de escrita/leitura;

Page 57: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

57

Dispositivos de E/S - DiscosDispositivos de E/S - Discos

Técnica para reduzir o tempo de acesso: entrelaçamento (interleaving):

Setores são numerados com um espaço entre eles;

Entre o setor K e o setor K+1 existem n (fator de entrelaçamento) setores; Número n depende da velocidade do processador, do

barramento, da controladora e da velocidade de rotação do disco;

Page 58: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

58

Dispositivos de E/S - DiscosDispositivos de E/S - Discos

Disco AN = 0

Disco BN = 2

Trilhas com 16 setores

01

23

6789

11

1213

15

4

510

14 011

61

21383

9

415

5

12

714

10

Page 59: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

59

Dispositivos de E/S - DiscosDispositivos de E/S - Discos Drivers de Disco:

Tempo para leitura/escrita no disco: três fatores:Tempo de busca/acesso tempo para o

movimento do braço até o cilindro; otimizar Delay de rotação tempo para posicionar o setor

na cabeça do disco;Tempo da transferência dos dados;

Page 60: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

60

Dispositivos de E/S - DiscosDispositivos de E/S - Discos Drivers de Disco: ...

Algoritmos de escalonamento no disco: FCFS (FIFO) First-Come First-Served; SSF Shortest Seek First; Elevator (também conhecido como SCAN);

Escolha do algoritmo depende do numero e do tipo de pedidos;

Tabela indexada pelo número de cilindros Lista encadeada com as requisições para cada cilindro;

Page 61: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

61

Dispositivos de E/S - DiscosDispositivos de E/S - DiscosDisco com 37 cilindros;Lendo bloco no cilindro 11;Requisições: 1,36,16,34,9,12, nesta ordem

X X XX X X X0 5 10 15 20 25 30 36

Pos. inicial

FCFS atendimento: 1,36,16,34,9,12;

movimentos do braço (número de cilindros): 10,35,20,18,25,3 = 111;

Tempo

Page 62: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

62

Dispositivos de E/S - DiscosDispositivos de E/S - DiscosDisco com 37 cilindros;Lendo bloco no cilindro 11;Requisições: 1,36,16,34,9,12, nesta ordem

X X XX X X X0 5 10 15 20 25 30 36

Pos. inicial

SSF (requisição mais próxima) atendimento: 12,9,16,1,34,36; movimentos do braço (número de cilindros): 1,3,7,15,33,2 = 61;

Tempo

Page 63: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

63

Dispositivos de E/S - DiscosDispositivos de E/S - DiscosDisco com 37 cilindros;Lendo bloco no cilindro 11;Requisições: 1,36,16,34,9,12, nesta ordem

X X XX X X X0 5 10 15 20 25 30 36

Pos. inicial

Elevator (requisições na mesma direção) atendimento: 12,16,34,36,9,1 movimentos do braço (número de cilindros): 1,4,18,2,27,8 = 60;

Bit de direção corrente (driver):Se Up atende próxima requisição; senão Bit = Down; muda direção e atende requisição;

Tempo

Page 64: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

64

Dispositivos de E/S – DiscosDispositivos de E/S – DiscosRAIDRAID

RAID (Redundant Array of Independent Disks) armazena grandes quantidades de dados;

RAID combina diversos discos rígidos em uma estrutura lógica: Aumentar a confiabilidade e o desempenho dos discos; Recuperação de dados armazenamento de informações

de forma redundante;

Pode ser implementado por Hardware (controladora); Software (sistema operacional)

Menor desempenho no acesso ao disco;

Page 65: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

65

Dispositivos de E/S – DiscosDispositivos de E/S – Discos RAID RAID

A forma pela qual os dados são escritos e acessados em paralelo (stripping) define os níveis de RAID:

RAID 0: Arquivos são divididos entre os discos; Sem controle ou correção de erros;Todo o espaço do disco é utilizado para

armazenamento;Utilizam mesma controladora (controladora RAID);

Page 66: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

66

Dispositivos de E/S – DiscosDispositivos de E/S – Discos RAID RAID

RAID 1:Conhecido como espelhamento (mirroring);Dado é escrito em um disco primário e um disco

secundário;Pode ter controladoras diferentes;Desvantagem: espaço físico em dobro;

Page 67: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

67

Dispositivos de E/S – DiscosDispositivos de E/S – Discos RAID RAID

RAID 2/3/4:Dados são armazenados em discos diferentes

com paridade (permite reconstruir dados perdidos);

Paridade é mantida em um disco apenas;Diferença: como a paridade é calculada (bit (2),

byte (3) e bloco (4));

Page 68: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

68

Dispositivos de E/S – DiscosDispositivos de E/S – Discos RAID RAID

RAID 5:Similar ao RAID 3;Dados são armazenados em discos diferentes

com paridade;Paridade está distribuída nos discos;

RAID 6:Prevê dois discos de paridade;

RAID 10:Combinação dos RAID 1 e RAID 0;

Page 69: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

69

Dispositivos de E/S – DiscosDispositivos de E/S – Discos RAID RAID

Configurações RAID mais comuns

A1

B1

C1

D1

RAID 0

Disco 1

A2

B2

C2

D2

Disco 2

A3

B3

C3

D3

Disco 3

RAID 1

A1

B1

C1

D1

Disco 1

A1

B1

C1

D1

Disco 2

A1

B1

C1

D1

RAID 3

Disco 1

A2

B2

C2

D2

Disco 2

A3

B3

C3

D3

Disco 3

PA

PB

PC

PD

Disco 4

A1

B1

C1

PD

RAID 5

Disco 1

A2

B2

PC

D2

Disco 2

A3

PB

C3

D3

Disco 3

PA

B3

C3

D3

Disco 4

Page 70: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

70

ClocksClocks (TimersTimers)

Clock Dispositivo que gera pulsos síncronos; Localizados na CPU ou na placa-mãe; Sinal utilizado para a execução de instruções; Presente em qualquer sistema multiprogramado; Fundamental para ambientes TimeSharing;

Freqüência de clock Número de vezes que o pulso se repete por segundo

(Hz);

Page 71: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

71

Clocks – Clocks – TiposTiposHardwareHardware

Hardware Dois tipos são usualmente utilizados em

computadores:Básico: usa o sinal da rede elétrica (110/220 V)

para fazer contagem (50/60 Hz) cada oscilação da rede é uma interrupção;

Page 72: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

72

Clocks – TiposClocks – Tipos Hardware Hardware

Com 03 componentes oscilador de cristal, contador e registrador; Programável;

.....

.....

Contador(decrescente)

Oscilador de cristal

A cada pulso o contadoré decrementado de 1

Registrador(valor usado para carregaro contador)

Page 73: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

73

ClocksClocks – Tipos – Tipos Hardware Hardware

Esquema:

Contador recebe o valor armazenado no registrador;

A cada pulso do oscilador, o contador é decrementado de uma unidade;

Quando o contador é zerado, é gerada uma interrupção de clock (interrupção da CPU);

Precisão;

Page 74: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

74

Clocks Clocks – Tipos– Tipos Hardware Hardware

Relógios programáveis podem operar de diversos modos: One-shot mode

Ao ser iniciado, o relógio copia o valor contido no registrador, e decrementa o contador a cada pulso do cristal;

Quando o contador chega a zero, um interrupção ocorre;

Recomeça por intervenção de software;

Page 75: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

75

Clocks Clocks – Tipos– Tipos Hardware Hardware

Square-wave mode Repete o ciclo automaticamente, sem

intervenção de software;

As interrupções periódicas geradas pela CPU são chamadas de clock ticks (pulsos do relógio);

Page 76: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

76

Clocks – Clocks – TiposTipos Hardware Hardware

Hora e data correntes: Verifica a CMOS;

Uso de baterias para não perder as informações

Pergunta ao usuário; Verifica pela rede em algum host remoto;

Número de clock ticks: Desde 12 horas do dia 1º de janeiro de 1970 no

UNIX; Desde o dia 1º de janeiro de 1980 no Windows;

Page 77: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

77

ClocksClocks – Tipos – TiposSoftwareSoftware

Hardware gera as interrupções em intervalos conhecidos (ticks);

Tudo o mais é feito por Software: clock driver; Funções do clock driver:

Manter a hora do dia; Evitar que processos executem por mais tempo

que o permitido; Supervisionar o uso da CPU; Cuidar da chamada ao sistema alarm; Fazer monitoração e estatísticas; Prover temporizadores “guardiões” para diversas

partes do hardware;

Page 78: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

78

Manter a Hora do DiaManter a Hora do Dia

Incrementar contador a cada tick;

Três abordagens:a) Contador com 64 bits alto custo;

b) Contar em segundos ticks/seg;

c) Ticks relativos à hora que o sistema foi iniciado;

Page 79: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

79

Manter a Hora do DiaManter a Hora do Dia

64 bits

32 bits

segundos ticks/seg.

ticks

32 bits

hora de início (boot)

232 > 136 anos

a)

b) c)

Page 80: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

80

Controlar duração da Execução Controlar duração da Execução dos Processosdos Processos

Execução inicia escalonador inicia

Contador número ticks do quantum;

Contador é decrementado a cada tick;

Contador = 0 hora de trocar o processo;

Page 81: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

81

Supervisão do uso da CPUSupervisão do uso da CPU

Quanto tempo o processo já foi executado?

Processo inicia novo clock (segundo relógio) é iniciado;

Processo é parado clock é lido; Durante interrupções valor do clock é salvo e

restaurado depois;

Possível usar a tabela de processos variável global armazena o tempo (em ticks);

Page 82: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

82

Alarmes (Avisos)Alarmes (Avisos)

Processos podem requerer “avisos” de tempos em tempos;

Avisos podem ser: um sinal, uma interrupção ou uma mensagem; Exemplo:

redes de computadores pacotes não recebidos devem ser retransmitidos;

Uma lista encadeada com os tempos dos alarmes pendentes é mantida: Simulação de vários relógios virtuais em um único

relógio físico;

Page 83: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

83

Alarmes (Avisos)Alarmes (Avisos)

Simulação de vários relógios virtuais com um único relógio físico

Tempos dos alarmes: 4203, 4207, 4213, 4215, 4216;

Page 84: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

84

ClocksClocks – Tipos – TiposSoftwareSoftware

Durante uma interrupção de relógio, o driver de relógio precisa:

Incrementar o tempo real; Decrementar o quantum e comparar com 0

(zero); Contabilizar o uso da CPU; Decrementar o contador de alarme;

Page 85: SISTEMAS OPERACIONAIS Gerenciamento de Dispositivos de Entrada e Saída Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto

85

Temporizadores GuardiõesTemporizadores Guardiões

Esperar por um certo tempo e realizar uma tarefa: t registrador (contador); Quando contador zera procedimento é

executado;

Onde usar? Exemplo:

acionador de disco flexível: somente quando o disco está em rotação na velocidade ideal é que as operações de E/S podem ser iniciadas;