Buscar

Aula_03 - Concorrência

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Arquitetura de Sistemas Operacionais
Capítulo 3
Concorrência
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Sumário
Introdução
Interrupção e exceção
Operações de E/S
Buffering
Spooling
Reentrância
Proteção do sistema
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
S.O. podem ser vistos como um conjunto de rotinas que executam concorrentemente de forma organizada;
Como o processador pode executar instruções em paralelo com E/S permite a execução concorrentemente;
Este princípio, concorrência, é princípio básico para o projeto e implementação de sistemas multiprogramáveis;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
Os sistemas operacionais monoprogramavéis utiliza os recursos computacionais (processador, memória e dispositivos de E/S) de forma pouco eficiente;
Nos sistemas monoprogramavéis somente um programa pode estar em execução, dispondo de todos os recursos computacionais;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
Exemplo
Programa lê registros de um arquivo executa, em média 100 instruções por registro lido;
93% do tempo da CPU ociosa
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
Sistema monoprogramável subutilização da memória principal, pois se o programa não utilizar toda a memória, existiram áreas livres na memória;
Sistema multiprogramável vários programas podem residir na memória, concorrendo pela utilização do processador;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
Sistema monoprogramável x multiprogramável
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
A utilização concorrente da CPU deve ser implementada de tal forma que quando um programa perde o uso do processador e depois retorna para continuar a execução, seu estado deve ser idêntico ao do momento que foi interrompido;
Em sistemas monoprogramavéis os dispositivos de E/S também são subutilizados;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
Monoprogramação:
Tempo = 5 + 15 + 10 = 30 minutos
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Introdução
Comparação segundo Stallings, 1997
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Interrupção e Exceção
Eventos inesperados podem ocorrer desviando o fluxo de execução;
Estes eventos são chamados de interrupção ou exceção; 
São conseqüências da sinalização de:
 algum dispositivo de hardware externo;
Execução de uma instrução.
A diferença entre interrupção e exceção é dada pelo tipo;
Alguns autores e fabricantes não fazem distinção entre interrupção e a exceção;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Interrupção e Exceção
Interrupção é o fundamento básico dos sistemas multiprogramáveis, é utilizado pelo S.O. para sincronizar a execução de todas as suas rotinas e dos programas;
Uma interrupção é gerada por um evento externo ao programa;
Operação de E/S completa;
No final da execução de uma instrução verifica-se a ocorrência de uma interrupção;
Se houver é chamado a rotina de tratamento de interrupção;
A interrupção é tratada tanto por software como por hardware;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Interrupção e Exceção
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Interrupção e Exceção
Para cada tipo de interrupção existe uma rotina de tratamento associada;
Métodos utilizados para o tratamento de interrupções:
Vetor de interrupção;
Contém o endereço inicial de todas as rotina de tratamento;
Registrador de status;
Armazena o tipo de evento ocorrido;
Só existe uma rotina de tratamento;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Interrupção e Exceção
Interrupção:
Eventos assíncronos, não relacionado a execução da instrução corrente;
Imprevisíveis; 
Podem ocorre múltiplas vezes, assim pode, ocorre múltiplas interrupções simultâneas;
Algumas instruções podem ser inibidas, interrupções mascaráveis;
As interrupções podem ser atendidas em uma ordem de prioridade, que é gerenciado pelo controlador de pedidos de interrupções;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Interrupção e Exceção
Exceção:
Semelhante a interrupção;
Eventos síncronos, relacionado a execução da instrução corrente;
Divisão por zero;
Overflow;
Previsíveis; 
Ocorrem uma única vez;
Quando ocorre o controle é desviado para uma rotina de tratamento de exeção
Para cada tipo de exceção existe uma rotina de tratamento adequada;
O mecanismo de tratamento de exceções muitas vezes pode ser escrito pelo próprio programador;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Interrupção e Exceção
Mecanismo de Interrupção e Exceção
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Nos primeiros S.O. a comunicação entre o processador e os periféricos era controlada por instruções especais (instruções de entrada/saída), executa pelo processador;
Esta instruções continham detalhes específicos do dispositivo;
Este modelo cria uma forte dependência entre processador e os dispositivos de E/S;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Controlador ou interface permite ao processador agir de modo independente dos dispositivos de E/S;
Neste modelo, o processador não comunica diretamente com os periféricos, mas sim através do controlador;
Simplificou as instruções de E/S, pois não precisar especificar detalhes de operações dos periféricas;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Controlador
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Formas básicas do processador gerenciar as operações de E/S:
E/S controlada por programa:
Processador sincroniza com o periférico o início da transferência de dados;
Após o início da transferência o sistema fica permanentemente testando o periférico para saber se acabou a transferência;
O processador fica ocupado (busy wait) até o término da operação de E/S;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Polling:
 Evolução do modelo anterior, após o início da transferência, libera o processador para outras tarefas, enquanto a operação de E/S é executada;
Em determinados intervalos de tempo, o processador testa se o dispositivo já terminou a operação de E/S;
A operação acima introduziu um certo grau de paralelismo;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Polling:
 Permitiu o surgimento dos primeiros sistemas multiprogramáveis;
O problema é se existir um grande número de dispositivos para serem testados o processamento será interrompido frequentemente;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
E/S controlada por interrupção:
Permite a execução das operações de E/S de forma mais eficiente;
Em vez do processador periodicamente inquirir o dispositivo se terminou a operação de E/S, o controlador interrompe o processador avisando do final da operação de E/S;
Após a execução de um comando de E/S, o processador permanece livre para o processamento de outras tarefas;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
A operação de E/S controlada por interrupção
É mais eficiente que a controlada por programa, pois elimina a necessidade do processador esperar o final da operação, ou testar se a operação já terminou;
Permite executar várias operações de E/S sejam executas simultaneamente;
Transferências de grande volume de dados exige muitas intervenções do processador, reduzindo a eficiência, solução DMA;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
DMA (direct Memory Access):
Permite que um bloco de dados sejam transferidos entre a memória principal e dispositivos de E/S, sem a intervenção da CPU, exceto no início e no fim da transferência;
O processador informa ao controlador a localização do bloco, o dispositivo de E/S,a posição inicial da memória e o tamanho do bloco;
O processador só é interrompido no final da operação;
Buffer de entrada/saída é o nome da área de memória utiliza pelo controlador quando utiliza o DMA;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
DMA (direct Memory Access):
Durante o uso do DMA o controlador tem o acesso ao barramento, assim o processador não pode acessar o barramento, não gera interrupção e o processador pode executar tarefas que não utiliza o barramento, como acesso a memória cachê;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Canal de entrada/saída:
Extensão do conceito de DMA;
Introduzido pela IBM no Sistema 7094;
Canal é um processador com capacidade de executar programas de E/S;
Possui total controle das operações de E/S;
As instruções de E/S são armazenados na memória principal e o canal executa as operações;
O processador realiza a operação de E/S, instruindo o canal à executar um programa localizado na memória (programa canal)
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Canal de entrada/saída:
O programa canal especifica os dispositivos para transferência, buffers e as ações em caso de erros;
No final da operação, o canal gera uma interrupção
Um canal de E/S pode controlar múltiplos dispositivos através de diversos controladores; 
Cada dispositivo, ou conjunto deles é manipulado por um único controlador;
O canal atua como elo de ligação entre o processador principal e o controlaldor;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
A evolução do canal permitiu que este possuísse a sua própria memória;
Esta nova arquitetura permitiu que várias funções de E/S pudessem ser executadas com a mínima interferência da CPU;
Esta configuração é denominada processador de entrada/saída;
Os dois termos (canal e processador) são encontrados empregados indistintamente. 
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Operações de E/S
Canal de E/S
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Buffering
Buffering consiste na utilização de uma área da memória principal denominada buffer, para a transferência de dados entre dispositivos de E/S e a memória;
Buffering reduz o problema da disparidade de velocidade entre o processador e os dispositivos de E/S;
O objetivo é manter, na maior parte do tempo, processador e dispositivo de E/S ocupados; 
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Buffering
A unidade de transferência é o registro;
O buffer deve permitir armazenar diversos registros, assim:
Existem dados lidos, mas não processados (leitura);
Existem dados processados, mas não gravados (gravação);
Compatibiliza a diferença entre o tempo gasto com o processador e com os dipositivos de E/S.
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Buffering
Operações de E/S
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Spooling
Spooling – SPOOL (simultaneous peripheral operation on-line) começou em 1950 para aumentar o grau de concorrência e eficiência dos sistemas operacionais;
Como a velocidade de E/S é muito menor que a do processador, era comum a CPU ficar ocisosa a espera de programa e dados de entrada ou o pelo término de uma impressão;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Spooling
Solução:
Armazenar os programas e dados (jobs) em fita;
Executar (submeter o job);
Gravar a saída em fita;
Imprimir a saída (fita);
É chamado de spooling, e foi a base o processamento batch;
O uso da fita obrigava o processamento seqüencial, a troca da fita pelo disco permitiu o processamento não-seqüencial;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Spooling
Esta presente na maioria do S.O. utilizada no gerenciamento da impressão;
Quando um comando de impressão é executado, primeiro a saída é gravada em disco (arquivo de spool);
Terminado os comandos de impressão o S.O. cópia os dados do spool para a impressora.
O uso do spool impede um que programa reserve a impressora para uso exclusivo.
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Spooling
Técnica de spooling
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Reentrância
Vários usuários utilizam o mesmo programa, podendo existir várias cópias do mesmo código na memória;
Reentrância é a capacidade de um código executável (código reentrante) ser compartilhado por diversos usuários;
Cada usuário está em um ponto diferente do código, e manipulando os seus próprios dados.
Em alguns S.O é permitido ao usuário implementar a reentrância em seus aplicativos.
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Reentrância
Reentrância
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Proteção do Sistema 
Maior eficiência do ambiente multiprogramável leva a maior complexidade;
Com o compartilhamento dos recursos computacionais entre vários usuários deve-se garantir a integridade dos programas e dados;
O S.O. deve possuir mecanismos de proteção de memória, garantindo que cada usuário possua uma área reservada;
Quando se acessa um uma posição de memória fora da sua área reservada deve ser gerado um erro de violação de acesso;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Proteção do Sistema
Quando diferentes programas acessam a mesma área de memória deve existir mecanismos que garantam a comunicação seja feita de forma sincronizada, garantindo a consistência;
O mesmo ocorre com os discos magnéticos. O S.O deve garantir a integridade e confidencialidade dos dados;
Arquitetura de Sistemas Operacionais – Machado/Maia
Cap. 3 – Concorrência
*
Proteção do Sistema
S.O deve garantir que vários programas compartilhem o processador, impedindo que um programa monopolize o processador;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais