Buscar

2009 AC-Aula08

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

*
PUCC
*
Agenda
Entrada e Saída
*
PUCC
*
Interrupções
Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador podem interromper a seqüência normal de execução de instruções do processador.
*
PUCC
*
Interrupções
Software: gerada por alguma condição que ocorra como resultado da execução de uma instrução - overflow, divisão por zero...
Relógio: gerada pelo relógio interno do processador. Esse tipo de interrupção permite que o SO execute certas funções em intervalos de tempo regulares
E/S: gerada por um controlador de E/S para sinalizar a conclusão de uma operação ou uma situação de erro.
*
PUCC
*
Interrupções
Hardware: gerada na ocorrência de uma falha, tal como queda de energia ou erro de paridade na memória.
O mecanismo de interrupção visa melhorar a eficiência do processamento. O processador pode executar outras tarefas enquanto uma operação, por exemplo de E/S, está em andamento 
*
PUCC
*
Múltiplas Interrupções
Duas formas de tratamento:
desabilitar as interrupções enquanto uma interrupção está sendo processada. Não leva em consideração prioridades
Definir prioridades para as interrupções permitindo que uma interrupção de maior prioridade interrompa a rotina de tratamento de uma interrupção de prioridade mais baixa.
Ex: sistema com 3 dispositivos: impressora, disco e uma linha de comunicação, com prioridades crescentes: 2, 4 e 5.
*
PUCC
*
Múltiplas Interrupções
Programa do Usuário
RTI Impressora
RTI Comunicação
RTI Disco
t=10
t=40
t=35
t=25
t=15
t=10
t=0
t=25
*
PUCC
*
Barramentos
Um barramento é um caminho entre dois ou mais dispositivos.
É um meio de comunicação compartilhado.
Consiste em vários caminhos ou linhas de comunicação, cada qual capaz de transmitir sinais que representam um único dígito binário, 0 ou 1.
Um sistema de computação contém diversos barramentos que fornecem caminho de comunicação entre seus componentes.
*
PUCC
*
Estrutura de Barramentos
As linhas de um barramento podem ser classificadas em três grupos funcionais:
Dados: contém tipicamente 16 ou 32 linhas; o número de linhas é conhecido como largura do barramento de dados. Como cada linha pode transmitir 1 bit por vez, o número de linhas determina quantos bits podem ser transferidos de uma vez. Parâmetro importante para o desempenho do sistema.
*
PUCC
*
Estrutura de Barramentos
Endereço: usadas para designar a fonte ou o destino dos dados transferidos pelo barramento de dados. Quando o processador deseja ler uma palavra da memória, ele coloca o endereço da palavra desejada nas linhas de endereço. A largura do barramento de endereço determina a capacidade máxima da memória. Em geral, linhas de endereço são utilizadas para endereçar portas de E/S.
*
PUCC
*
Estrutura de Barramentos
Controle: são utilizadas para controlar o acesso e a utilização das linhas de dados e de endereço. Como as linhas de dados e de endereço são utilizadas por todos os componentes, deve existir uma maneira de controlar sua utilização. Os sinais de controle são utilizados tanto para transmitir comandos quanto para informações de temporização entre os módulos do sistema. 
*
PUCC
*
Linhas de Controle Típicas
Escrita na Memória
Leitura da Memória
Escrita em porta de E/S
Leitura de porta de E/S
Confirmação (ACK) de transferência
Requisição do barramento
Requisição de Interrupção
Relógio
Inicialização (reset)
*
PUCC
*
Operação
Quando um módulo do sistema deseja enviar dados para outro, ele deve:
obter o controle do barramento
transferir os dados por meio do barramento
Quando um módulo do sistema deseja requisitar dados de outro, ele deve:
obter o controle do barramento
transferir uma requisição para o outro módulo por meio das linhas de endereço e de controle apropriadas e aguardar o envio.
*
PUCC
*
Configuração de Barramento
Processador
Cache
MP
Barramento do Sistema
Barramento de Alta velocidade
Barramento de Expansão
SCSI
Controlador de Vídeo
Rede Local
Modem
Interface Serial
Interface 
*
PUCC
*
Parâmetros Básicos
Tipo de barramento:
Dedicado
Multiplexado
Métodos de Arbitração
Centralizado
Distribuído
Temporização
Síncrona 
Assíncrona
*
PUCC
*
Parâmetros Básicos
Largura do barramento:
Endereço
Dados
Tipo de Transferência de dados
Leitura
Escrita
Leitura-modificação-escrita 
Leitura-após-escrita
Em bloco
*
PUCC
*
Tipos
Dedicado: tem uma função fixa ou é associado a um subconjunto de componentes físicos de um computador Ex: linhas distintas para dados e endereços
Multiplexação no tempo: usa uma linha de controle de Endereço Válido. No início de uma transferência de dados, o endereço é colocado no barramento e a linha de endereço válido é ativada. Cada módulo do sistema tem um determinado período de tempo para ver se os dados são endereçados a ele e copiar o endereço. O endereço é removido do barramento e as mesmas linhas são utilizadas para transferência dos dados.
*
PUCC
*
Métodos de Arbitração
Como apenas uma unidade pode realizar uma transmissão por meio do barramento de cada vez, é necessária a arbitração
Centralizado: um único dispositivo, controlador de barramento, é responsável por alocar tempo de utilização do barramento a cada módulo do sistema.
Distribuído: não existe controlador central. Cada módulo contém uma lógica de controle de acesso e os módulos agem de forma conjunta para compartilhar o barramento
*
PUCC
*
Temporização
Modo pelo qual os eventos nesse barramento são coordenados.
Síncrona: a ocorrência de eventos é determinada por um relógio. O barramento inclui uma linha de relógio pela qual transmite uma seqüência de 1s e 0s de igual duração. Uma transmissão de um 1 e um 0 é denominado ciclo do relógio. Todos os dispositivos conectados ao barramento podem ler a linha de relógio e todos os eventos no barramento devem começar no início de um ciclo do relógio.
*
PUCC
*
Temporização
Assíncrona: a ocorrência de um evento no barramento depende da ocorrência de um evento ocorrido anteriormente.
O esquema síncrono é mais simples de implementar e testar mas é menos flexível. Em um esquema assíncrono, tantos dispositivos lentos quanto rápidos podem compartilhar o uso do mesmo barramento.
*
PUCC
*
PCI
Peripheral Component Interconnect.
Desenvolvido pela Intel em 1990 - Pentium.
Especificação de Domínio público.
64 linhas de dados com 66 MHz de clock
Taxa bruta de transferência:s
Uso em subsistemas de E/S alta velocidade.
Barramento Multiplexado no tempo
Temporização Síncrona
Arbitragem Centralizada
*
PUCC
*
E/S
Programada
Interrupção
DMA - Acesso direto à Memória
*
PUCC
*
Programada
Os dados são transferidos diretamente entre o processador e o módulo de E/S.
Processador tem através da execução de um programa controle direto da operação E/S - detecção do estado do dispositivo, envio de comandos de leitura e escrita e a transferência dos dados.
Quando o processador envia um comando para o módulo E/S ele tem que esperar até essa operação seja completada.
*
PUCC
*
Interrupção
O processador envia um comando de E/S e continua a executar outras instruções.
Quando o módulo de E/S tiver terminado de executar o seu trabalho ele fará a interrupção do trabalho do processador para disponibilizar a informação requerida.
Nesses dois modelos, programada e por interrupção, o processador é responsável por obter dados da MP (operação de saída) e armazenar dados na MP (oper. de entrada)
*
PUCC
*
DMA
Os dois tipos de E/S apresentados requerem uma ativa intervenção do processador para transferir dados entre a memória e o módulo de E/S.
Toda transferência passa pelo processador, assim existem duas desvantagens inerentes:
A taxa de transferência é limitada pela velocidade com que o processador pode testar e servir o dispositivo.
O processador tem que gerenciar a transferência de dadosde E/S
*
PUCC
*
DMA
A técnica DMA envolve um módulo adicional no barramento do sistema - Controlador DMA
Imita o processador - Controla o sistema do Processador.
Necessário para que o módulo possa transferir dados de e para a MP através do barramento do sistema.
Pode usar o barramento quando este não está sendo usado pelo processador ou forçar o processador a suspender a sua operação.
*
PUCC
*
DMA
Quando o processador deseja ler ou escrever um bloco de dados ele envia comando ao módulo DMA:
Tipo de operação: escrita ou leitura - Linha de controle de leitura ou escrita
Endereço do dispositivo de E/S - enviado pela linha de dados. 
Endereço da MP para início de leitura ou escrita, enviado pela linha de dados e armazenado pelo DMA no seu registrador de endereços.
Número de palavras a serem lidas ou escritas - enviado pela linha de dados e armazenado no Contador de dados
*
PUCC
*
DMA
Depois de enviar o comando, a execução da E/S é delegada ao Módulo DMA.
A transferência é feita feita palavra por palavra sem interferência do processador
Quando termina a transferência o módulo DMA envia um sinal de interrupção ao processador
*
PUCC
*
Desempenho E/S
Tempo de Resposta
Tempo que uma tarefa demora para ser realizada desde que chegou ao sistema.
Throughput
Número médio de tarefas que são realizadas num determinado intervalo de tempo.
*
PUCC
*
Desempenho E/S
entrada
saída
Sistema em Equilíbrio - Lei de Little
Nº médio de tarefas no sistema = Taxa de Chegada * Tempo médio de resposta
*
PUCC
*
Desempenho E/S
Abrindo a caixa preta:
Fila
entrada
saída
Servidor
Tempo Servidor = Ts – tempo médio para servir uma tarefa.
1/Ts = Taxa média de Serviço
Tempo do Sistema = Tsis = Tfila + Ts
Taxa de Chegada - Tx =Número médio de Tarefas que chegam por segundo
Comprimento do Servidor= Cs – número médio de tarefas em serviço
Comprimento da Fila= Cfila – número médio de tarefas na fila
Comprimento do Sistema- Csis= Cfila + Cs
*
PUCC
*
Desempenho E/S
Utilizaçao do Servidor- Us= Tx . Ts ( número entre 0 e 1)
Exercício 47: Suponha que um sistema de E/S com um único disco receba em média 50 solicitações de E/S por segundo. Suponha que o tempo médio para que o disco atenda uma solicitação de E/S seja de 10ms. Qual a utilização deste disco?
*
PUCC
*
Desempenho E/S
Suponha que a forma de entrega de uma tarefa da fila para o servidor seja FIFO – firt in first out – o tempo médio de espera de uma tarefa na fila seria de:
 Tfila= Cfila . Ts + Tempo médio para completar a tarefa que está sendo
 realizada quando chega uma nova tarefa
Este último termo deve ser representado por um evento aleatório.
Uma variável é aleatória se não é possível saber exatamente qual o seu próximo valor mas é possível conhecer a probabilidade de todos os valores que esta varável pode assumir.
Para caracterizar uma variável aleatória necessitamos de um valor médio e alguma medida de dispersão.
*
PUCC
*
Desempenho E/S
Variável Tempo
Tempo Médio Aritmétido – TMA= T1.f1 + T2.f2 + ..... + Tn.fn
Onde Ti é o tempo para realização da Tarefa i e fi é a freqüência que ocorre a Tarefa i.
Variância= (f1.T12 + f2.T22+ ..... + fn.Tn2) – TMA2
Coeficiente de Variância – C = Desvio padrão / TMA
Tempo Médio de Serviço Residual - TMSR = ½ TMA . (1+ C2) (aleatoriedade)
*
PUCC
*
Desempenho E/S
Como calcular C. Por sorte a distribuição exponencial se adequa bem a chegada de tarefas para um servidor quando o histórico de eventos não tem influência sobre a probabilidade do evento que chegará agora; na distribuição exponencial o valor de C é 1. Assim:
Tfila= Cfila . Ts + Us . TMSR = Cfila . Ts + Us .(½ Ts . (1+12) = Cfila . Ts + Us.Ts
Tfila= (Tx . Tfila) . Ts + Us.Ts = (Tx.Ts).Tfila + Us.Ts = Us.Tfila + Us.Ts
 reorganizando - Tfila= Ts . Us/ (1-Us)
Da mesma forma podemos concluir que:
Cfila= Us2 / (1-Us)
*
PUCC
*
Desempenho E/S
Exercício 48: Para o disco do exercício 47 qual o número médio de solicitações de E/S na fila?
Considerações:
	- O sistema está em equilíbrio
	- As solicitações de serviço estão distribuídas exponencialmente
	- O servidor pode iniciar a próxima tarefa assim que terminar a anterior
	- Não há limite para o comprimento de fila
	- O número de fontes de solicitação é ilimitado.
	- Há um único servidor.
*
PUCC
*
Desempenho E/S
Exercício P: Suponha que um processador envie 40 operações de E/S de disco por segundo e que estas solicitações estejam distribuídas exponencialmente. O tempo médio de atendimento destas operações pelo disco é de 20 ms. Responda:
	1-) Em média qual a utilização deste disco.
	2-) Qual o tempo médio gasto na fila?
	3-) Qual o tempo médio de resposta?
*
PUCC
Desempenho E/S
*
É comum a existência de um número maior de servidores. Neste caso as fórmulas utilizadas anteriormente sofrem alterações:
	Utilizaçãoservidor = Taxa de Chegada . Tempo servidor 
			 Número de Servidores
	Comprimento fila = Taxa de chegada . Tempo fila
	Tempo fila= Tempo servidor . P tarefas > Número servidores
				Número servidores . (1-Utilização servidor)
			 		
					
*

Outros materiais