sistemas operativos introduçãoltodi.est.ips.pt/nribeiro/lecturing/so_02-03/a09.pdf12/16/2002...

31
Entradas/Saídas 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência

Upload: others

Post on 23-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

Entradas/Saídas

1. Princípios de hardware/software de E/S2. Camadas de software de E/S3. Relógios (Temporizadores)4. Gestão de consumo de potência

Page 2: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 2

Organização de um Sistema Operativo

System Call Handler

File System 1 ... File System m

Virtual memory

Driver 1 Driver 2 ... Driver nDriver 1 Driver 2 ... Driver n

Threads, thread scheduling, thread synchronization

Interrupt handling, context switching, MMU

Hide the low-level hardware

Page 3: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 3

PrincipiosPrincipios de hardware/de hardware/softwaresoftware de E/Sde E/SDispositivos de Entrada/SaídaDispositivos de Entrada/Saída

16.7 MB/secISA Bus12.5MB/secFast-Ethernet

60 MB/secXGA Disblay50 MB/secFireWire

6 MB/sec40x CD-ROM5 MB/secDisco IDE1.5 MB/secUSB1.25 MB/secEthernet400 KB/secScanner100 KB/secImpressora16 KB/secLinha ISDN7 KB/secModem100 bytes/secRato10 bytes/secTecladoRitmo de transferênciaDispositivo

20 GB/secSUN GigaplaneXB backplane

528 MB/secPCI bus125 MB/secGigaBit Ethernet78 MB/secSCSI Ultra-2Ritmo de transferênciaDispositivo

Page 4: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 4

Controladores de dispositivosDispositivos de E/S têm componentes:– mecânicos - o próprio dispositivo– e/ou electrónicos – placa controladora ou adaptador

O componente electrónico é o controlador do dispositivo– Pode ser utilizado para controlar vários dispositivos

Tarefas do controlador:– converter formato de dados fornecido pelo dispositivo (e.g. stream de bits

para um bloco de bytes)– realizar correcção de erros (e.g. Checksum)– colocar resultados da operação de E/S na memória principal

Page 5: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 5

Mapeamento de dispositivos de E/S

A) Espaço de endereçamento separadosB) Espaço de E/S mapeado no endereçamento de memóriaC) Solução híbrida

Programação fica mais facilitada com E/S em memória.

0

0xFF.. Memória

Dois espaços de endereçamento

Um espaço de endereçamento

Dois espaços de endereçamento

Portos E/S

(A) (B) (C)

Page 6: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 6

Mapeamento de dispositivos de E/SBarramento de E/S e Barramento de memória

CPU lê e escreve na memória através de um barramento com alta largura de banda.

(A) (B)

CPU Memória E/S CPU Memória E/S

Todos os endereços (memória e E/S)

Tem a finalidade de disponibilizar acesso a memória aos dispositivos de E/S

(a) Arquitectura com barramento único(b) Arquitectura com duplo barramento

Arquitectura dos PC’s actuais.

Exemplo de barramentos externos do Pentium: -Memória,PCI,ISA

Arquitectura dos PC’s actuais.

Exemplo de barramentos externos do Pentium: -Memória,PCI,ISA

Page 7: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 7

Direct Memory Access (DMA)

Passos numa transferência por DMA1. CPU programa DMA para fazer a transferência2. DMA pede transferência para a memória3. Dados são transferidos4. Acknowledge5. Interrompe quando conlcuído

Controlador Disco

DMA MemóriaCPUEndereçoContadorControlo

1. Buffer

4.

2. 3.5.

Drive

Cycle stealingBurst modeFly-by mode

Page 8: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 8

Revisão de interrupções

Passos seguidos quando ocorre uma interrupção. Linhas de interrupções existentes no barramento permitem a cada dispositivo gerar

uma interrupção diferente.

Page 9: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 9

Objectivos do software de E/SIndependência de dispositivos– Programas podem aceder a qualquer dispositivo de E/S, sem especificar o

dispositivo com antecedência.• (floppy, hard drive, or CD-ROM)

Uniformização dos nomes– Nome de dispositivo independente do tipo de dispositivo (/mnt/floppy;

/mnt/cdrom) . Ficheiros e devices são acedidos da mesma forma: usando “pathname”

– Independente do tipo de máquinaProcessamento de erros– Processamento o mais próximo do hardware como possível . Se o

controlador não conseguir tratar o erro, tem de ser o device driver

Page 10: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 10

Objectivos do software de E/SAbstração das transferência síncronas (no software) vs assíncronas (para o hardware)– transferências assíncrona ao nível do hardware (CPU faz pedido e vai fazer

outras actividades até receber um interrupt )– Programação normalmente é bloqueante ( depois de um system call tipo read, o

programa é suspenso até que a informação esteja disponível).Buffering– dados vindos do dispositivo não podem ser armazenados no seu destino final.

Pacote tem de ser armazenado no S.O.Distinguir dispositivos dedicados vs partilhados– discos são partilhados por vários utilizadores em simultâneo– tape drives não são partilhados (só 1 utilizador de cada vez a pode usar).– É da responsabilidade do SO lidar com estes dois tipos de dispositivos.

Page 11: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 11

Programação de E/SRecorrendo à CPU

ABCDEFGH

Texto para imprimir

ABCDEFGH

próximaABCDEFGH

próxima

User Página impressa

Página impressa

A AB

Kernel

Passos para imprimir texto

Page 12: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 12

Programação de E/SRecorrendo à CPUSequência de acções executadas pelo SO para o exemplo anterior

A CPU fica à espera que dispositivo esteja pronto para receber mais dados.

Polling ou espera activa.Desvantagens?

Page 13: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 13

Programação de E/S E/S baseado em interrupções

Escrita de uma string para a impressora utilizando interrupções:(a) Código é executado a chamada ao sistema é efectuada(b) Rotina de atendimento de interrupçãoUma interrupção em cada caracter.

System CallSystem Call

Rotina de atendimento de interrupções

Rotina de atendimento de interrupções

Page 14: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 14

Programação de E/SE/S utilizando DMA

Só é executado 1 vez

Só é executado 1 vez

Impressão da string utilizando DMA:– Código é executado quando o system call é realizado– Rotina de atendimento de interrupções

Page 15: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 15

Camadas de Camadas de softwaresoftware de E/Sde E/S

Camadas do software do sistema de E/S

Hardware

Interrupt handlers

Device drivers

User-level I/O software

Device-independent SO software

Page 16: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 16

Gestores de interrupções (1)

SO deve ocultar pormenores de interrupções– Usar um driver que inicie a operação de E/S e que bloqueie até a

tarefa terminar

Rotina de interrupção faz as suas tarefas e …– depois liberta o driver que iniciou a operação.

=> Qual o custo de uma interrupção para o sistema?

Page 17: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 17

Gestores de Interrupções (2)Passos a realizar pelo software quando ocorre interrupção:

1. Guardar registos que ainda não tenham sido guardados pelo hardware2. Preparar o contexto para a rotina de atendimento de interrupções3. Preparar stack para rotina de atendimento de interrupção4. Ack controlador de interrupções, activar interrupções5. Copiar registos de onde foram guardados6. Executar rotina de atendimento7. Escolher qual o novo processo que vai correr8. Preparar contexto da MMU para executar próximo processo9. Carregar registos do novo processo10. Executar o novo processo

Page 18: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 18

Drivers de dispositivosDrivers no Kernel

Drivers existem no kernel; por caracter ou bloco; comunicação entre os driverse controladores de dispositivos é feita através do barramento.

Resto do Sistema Operativo

DriverImpressora

DriverCamera

DriverCD-ROM

Programa User

Controlador Impressora

Controlador Camera

Controlador CD-ROM

Dispositivos

User space

Acções de um driver de um dispositivoPlug&Play?

Kernel space

Hardware

Page 19: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 19

Software de E/S independente de dispositivos

Reserva e liberação de dispositivos dedicados

Processamento de erros

Buffering

Definição de dimensão de bloco de dados independente do dispositivo

Interface normalizada com drivers de dispositivos

Funções do software independente do dispositivo de E/S.

Page 20: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 20

Software de E/S independente de dispositivos

(a) Sem uma interface normalizada(b) Com uma interface normalizada

Page 21: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 21

Software de E/S independente de dispositivos

(a) Input sem buffering(b) Buffering no espaço de utilizador(c) Buffering no kernel seguido de uma cópia para o espaço de utilizador(d) buffering duplo no kernel

Page 22: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 22

Software de E/S independente de dispositivos

Em algumas situações o buffering poderá diminuir o desempenho do sistema.

Page 23: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 23

Camadas de software de E/S - sumário

Resposta E/S

Chamada a rotina de E/S; configura E/S; spoolingPedido E/S

Processos utilizador

Drivers de dispositivos

Software independente de dispositivos Naming, protecção, buffering, reserva de recursos

Verifica estado, programa registos de dispositivos

Acorda driver quando operação terminarInterrupt handlers

Efectua operação E/SHardware

Camadas do sistema de E/S e as funções correspondentes

Page 24: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 24

RelógiosRelógiosHardware de relógios

Oscilador de cristal

Exemplo de um relógio programavel

Contador é decrementado em cada impulso

Valor de registo é utilizado para carregar o contador.

Page 25: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 25

Software de relógios64 bits 32 bits 32 bits

Tempo do dia em ticks Contador em ticks

Nº de ticks no segundo actual

Tempo do dia em segundosSolução 1

Usar contador 64 bits

Solução 1

Usar contador 64 bits Tempo de boot do sistema em segundos

Solução 2

Manter o tempo em segundos em vez de “ticks”. (2^32 = 136 anos)

Solução 2

Manter o tempo em segundos em vez de “ticks”. (2^32 = 136 anos)

Solução 3

-Contador de ticks desde que o sistema iniciou

-tempo de boot é usado calculando o clock backup

-quando necessário usam-se os 2 para calcular o tempo actual

Solução 3

-Contador de ticks desde que o sistema iniciou

-tempo de boot é usado calculando o clock backup

-quando necessário usam-se os 2 para calcular o tempo actual

Três modos de manter a hora do dia

Page 26: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 26

Software de relógios

Próximo sinalTempo actual

4200 3ClockHeader

Simulação de múltiplos relógio com um único relógio

3 4 6 2 1 X

Page 27: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 27

Soft Timers

Segundo relógio para gerar interrupções em aplicações– Especificado pelas aplicações– Sem problemas caso a frequência seja baixa

Soft timers evitam interrupções– Kernel verifica se um soft timer expirou– Desempenho depende da frequência do soft timer– Reduz overhead provocado pela rotina de atendimento da

interrupção (context switching; TLBs)

Page 28: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 28

PowerPower managementmanagement

22%Outros1%0.5 %Memória2%Som6%Modem12%20 %Disco Rigido18%12 %CPU39%68 %Display

Lorch and Smith (1998)Li et al. (1994)Device

Consumo de vários elementos de um computador portátil.

Page 29: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 29

Power management (2)

As zonas são retro-iluminadas de acordo com a zona do écran que está a ser utilizada.

Page 30: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 30

Power management (3)

(a) Sistema com relógio ao máximo(b) Utilizando metade da voltagem

(a) Reduz o relógio para metade(b) Reduz o consumo em 4

Page 31: Sistemas Operativos Introduçãoltodi.est.ips.pt/nribeiro/Lecturing/SO_02-03/A09.pdf12/16/2002 Sistemas Operativos 2001/2002 31 Power management (4) Informando as aplicações para

12/16/2002 Sistemas Operativos 2001/2002 31

Power management (4)

Informando as aplicações para gastarem menos energia– Implicando uma perca da qualidade de utilização

Exemplos– Mudar o output de cor para preto e branco– Reduzir vocabulário no reconhecimento de voz– Reduzir resolução ou detalhe das imagens