Baixe o app para aproveitar ainda mais
Prévia do material em texto
28/01/2011 1 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 1/34 Prof. Carlos Maurício de B. Mello Arquitetura de Sistemas Operacionais CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 2/34 Prof. Carlos Maurício de B. Mello SUMÁRIO ● Introdução ● Interrupção e exceção ● Operações de E/S ● Buffering ● Spooling ● Reentrância ● Proteção do sistema SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 3/34 Prof. Carlos Maurício de B. Mello ● SO podem ser vistos como um conjunto básico de rotinas que executam concorrentemente de forma ordenada; ● Conceito de concorrência é o principio básico para o projeto e a implementação dos sistemas multiprogramáveis; ● Os sistemas multiprogramáveis surgiram a partir das limitações existentes dos sistemas monoprogramáveis. INTRODUÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 4/34 Prof. Carlos Maurício de B. Mello ● Sistemas Monoprogramáveis: – Recursos computacionais utilizados de maneira ineficiente; – Arquiteturas com desempenho limitado. ● Recursos de alto custo, ociosos por longos períodos de tempo. ● Subutilização da memória principal – programas que não ocupavam totalmente a memória ocasionavam a existência de áreas livres sem utilização. – Nos sistemas multiprogramáveis enquanto um programa solicita uma operação de entrada e saída, outros programas podem utilizar o processador. INTRODUÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 5/34 Prof. Carlos Maurício de B. Mello – Programas são executados seqüencialmente enquanto nos multiprogramáveis são executados concorrentemente; – Exemplo de utilização de recursos em um sistema monoprogramável: LEITURA DE UM REGISTRO 0,0015 S EXECUÇÃO DE 100 INSTRUÇÕES 0,0001 S TOTAL 0,0016 S % UTILIZAÇÃO DA CPU (0,0001/0,0015) = 0,066 = 6,6 % INTRODUÇÃO Tabela com exemplo de utilização do sistema (Monoprogramável) SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 6/34 Prof. Carlos Maurício de B. Mello 2 (a) Sistema Monoprogramável tempo tempo E/ S E/ S UCP UCPlivre 11 1 (b) Sistema Multiprogramável INTRODUÇÃO 28/01/2011 2 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 7/34 Prof. Carlos Maurício de B. Mello ● Durante a execução de um programa, eventos inesperados podem ocasionar um desvio forçado no seu fluxo de execução; ● São conseqüências da sinalização de algum dispositivo de hardware externo ao processador ou da execução de instruções de um programa; ● Esses eventos são conhecidos como Interrupção ou Exceção e a diferença entre eles é dada pelo tipo de evento ocorrido. – Não é consenso entre as diversas literaturas sobre o assunto. INTERRUPÇÃO E EXCEÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 8/34 Prof. Carlos Maurício de B. Mello ● A interrupção é o mecanismo que tornou possível a implementação da concorrência, sendo o fundamento básico nos sistemas multiprogramáveis; ● É o mecanismo utilizado pelo sistema operacional para sincronização de rotinas e dos programas, além de controlar os dispositivos de E/S; INTERRUPÇÃO E EXCEÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 9/34 Prof. Carlos Maurício de B. Mello ● É sempre gerada por algum evento externo ao programa; ● É independente da instrução que está sendo executada; ● O mecanismo de interrupção é realizado tanto por hardware quanto por software; ● Para cada tipo de interrupção existe uma rotina de tratamento associada, para qual o fluxo de execução deve ser desviado; INTERRUPÇÃO E EXCEÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 10/34 Prof. Carlos Maurício de B. Mello MECANISMO DE INTERRUPÇÃO E EXCEÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 11/34 Prof. Carlos Maurício de B. Mello INTERRUPÇÃO E EXCEÇÃO Mecanismo de Interrupção Via Hardware 1. Um sinal de interrupção é gerado para o processador; 2. Após o término da execução da instrução corrente, o processador identifica o pedido de interrupção; 3. Os conteúdos dos registradores PC e de status são salvos; 4. O processador identifica qual a rotina de tratamento que será executada e carrega o PC com o endereço inicial da rotina; Via Software 5. A rotina de tratamento salva o conteúdo dos demais registradores do processador na pilha de controle do programa; 6. A rotina de tratamento é executada; 7. Após o término da execução da rotina de tratamento, os registradores de uso geral são restaurados, além dos registrador de status e o PC, retornam a execução do programa interrompido. SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 12/34 Prof. Carlos Maurício de B. Mello ● Interrupções são decorrentes de eventos assíncronos : – Não relacionados a instruções do programa; – Podem ocorrer múltiplas vezes; ● Interrupções mascaráveis – Aquelas que são ignoradas durante as rotinas de tratamento, e não receberão tratamento; ● Controlador de pedidos de interrupção; – Avalia as interrupções e prioriza a ordem de tratamento; – Avaliação é feita baseada na importância no atendimento de cada uma; INTERRUPÇÃO E EXCEÇÃO 28/01/2011 3 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 13/34 Prof. Carlos Maurício de B. Mello ● Exceção: ● Difere da Interrupção, apenas pelo o evento do qual foi gerado; ● É o resultado direto da execução de uma instrução do próprio programa (Ex: Div/0, Overflow); ● São conhecidos como eventos síncronos; ● Esses eventos são previsíveis e ocorrem um único por vez; ● Quando ocorre também utiliza uma rotina de tratamento de exceção; INTERRUPÇÃO E EXCEÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 14/34 Prof. Carlos Maurício de B. Mello ● Rotina de tratamento de interrupção – responsável por tratar o evento ocorrido em uma interrupção ou exceção; ● Mecanismo de interrupção pode ser realizado tanto por hardware como por software; ● Métodos utilizados para tratamento de interrupções : ● Vetor de interrupções; ● Registrador de status; INTERRUPÇÃO E EXCEÇÃO SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 15/34 Prof. Carlos Maurício de B. Mello ● Nos primeiros sistemas computacionais, a comunicação entre o processador e os periféricos era controlada por um conjunto de instruções especiais – instruções de E/S; – Executadas pelo próprio processador; – Continham detalhes específicos de cada dispositivo periférico; ● Havia forte dependência entre processador e periféricos; ● Surgimento do controlador (interface) permitiu ao processador agir de forma independente dos dispositivos de E/S; OPERAÇÕES DE ENTRADA E SAÍDA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 16/34 Prof. Carlos Maurício de B. Mello Memória Principal UCP Controlador Dispositivos de E/ S OPERAÇÕES DE ENTRADA E SAÍDA – DETALHE: CONTROLADOR SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 17/34 Prof. Carlos Maurício de B. Mello ● Com o advento do controlador passaram a existir duas maneiras básicas do processador gerenciar as operações de E/S: – E/S controlado por programa: ● Processador sincronizava-se com o periférico para o início da transferência de dados; ● Após iniciada a transferência, o sistema ficava monitorando o estado do periférico permanentemente para saber quando a operação chegaria ao seu final. OPERAÇÕES DE ENTRADA E SAÍDA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 18/34 Prof. Carlos Maurício de B. Mello – Este controle mantinha o processador ocupado até o final da operação de E/S (Busy Wait); ● O processador executa uma instrução muito maisrapidamente que a realização de uma operação de E/S pelo controlador; – Consequência: Enorme desperdício de tempo da UCP. ● O pooling foi criado então para introduzir um certo grau de paralelismo, que permitiu que após o início da transferência dos dados, o processador permanecesse livre para realizar outras tarefas, e que em determinados intervalos de tempo o SO testaria cada dispositivo para verificar o término da operação. OPERAÇÕES DE ENTRADA E SAÍDA 28/01/2011 4 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 19/34 Prof. Carlos Maurício de B. Mello ● Com o surgimento dos sistemas multiprogramáveis, vários programas passaram a ser executados concorrentemente; ● Tempo de uma operação de E/S é relativamente grande; ● Com a implementação do mecanismo de interrupção, as operações de E/S puderam ser realizadas de forma mais eficiente; – E/S controlado por interrupção – o próprio controlador interrompia o processador para avisar sobre o término da operação; OPERAÇÕES DE ENTRADA E SAÍDA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 20/34 Prof. Carlos Maurício de B. Mello – E/S controlado por interrupção – o próprio controlador interrompe o processador para avisar sobre o término da operação; ● O processador, após a execução do comando de leitura / gravação, permanece livre para o processamento de outras tarefas; ● O controlador, por sua vez, fica encarregado de sinalizar ao processador por uma interrupção; ● Uma interrupção é executada, como citado antes. OPERAÇÕES DE ENTRADA E SAÍDA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 21/34 Prof. Carlos Maurício de B. Mello ● Grandes transferências de dados exigem muitas interrupções do processador, reduzindo sua eficiência, mesmo com a operação sendo controlada por interrupções; ● Solução: Implementação da Técnica de transferência de dados chamada DMA (Direct Memory Access). – Essa técnica permite que um bloco de dados seja transferido entre a memória principal e os dispositivos de E/S, sem intervenção do processador, exceto no início e no término da transferência; OPERAÇÕES DE ENTRADA E SAÍDA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 22/34 Prof. Carlos Maurício de B. Mello ● A Área de memória utilizada pelo controlador na técnica DMA é chamada de Buffer de E/S; ● Nas transferências através da técnica DMA o controlador assume, momentaneamente, o controle do barramento; ● A extensão do conceito de DMA possibilitou o surgimento do canal de E/S introduzido pela IBM no sistema 7094; – O canal é um processador com capacidade de executar programas de E/S, permitindo controle total sobre operações de E/S; – Sua evolução permitiu a criação de uma memória própria, eliminando assim, a necessidade de utilização da memória principal; OPERAÇÕES DE ENTRADA E SAÍDA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 23/34 Prof. Carlos Maurício de B. Mello Memória Principal UCP Canal de E/ S Controlador Dispositivos de E/ S Controlador Dispositivos de E/ S OPERAÇÕES DE ENTRADA E SAÍDA – DETALHE: CANAL DE E/S SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 24/34 Prof. Carlos Maurício de B. Mello ● Técnica que utiliza uma área da memória principal (Buffer) para transferência de dados entre os dispositivos de E/S e a memória; – Na operação de leitura o dado é carregado antes no Buffer, liberando assim, o dispositivo de entrada para nova leitura; – Enquanto o processador manipula o dado localizado no buffer, o dispositivo realiza outra operação de leitura (mesmo instante). BUFFERING 28/01/2011 5 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 25/34 Prof. Carlos Maurício de B. Mello ● O buffering permite a minimização do problema da disparidade de velocidade do processamento entre o processador e os dispositivos de E/S; – O objetivo principal desta técnica é manter, na maior parte do tempo, processador e dispositivos de E/S ocupados. ● A unidade de transferência usada no mecanismo de buffering é o registro e seu tamanho pode ser especificado em função da natureza do dispositivo; BUFFERING SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 26/34 Prof. Carlos Maurício de B. Mello ● O Buffer deve permitir armazenar diversos registros de forma que existam dados lidos mas ainda não processados (operação de leitura) ou processados, mas ainda não gravados (operação de gravação); – Dispositivo de entrada poderá ler diversos registros antes que o processador manipule os dados; ou – Processador poderá manipular diversos registros antes do dispositivo de saída realizar a operação de gravação. BUFFERING SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 27/34 Prof. Carlos Maurício de B. Mello Memória Principal UCP Buffer gravação gravação leitura leitura Controlador BUFFERING - DETALHE: OPERAÇÕES DE E/S COM BUFFER SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 28/34 Prof. Carlos Maurício de B. Mello ● Spooling (simultaneous peripheral operation on-line) foi introduzido no final da década de 50 para aumentar o grau de concorrência e eficiência dos SO; – Armazenamento de vários programas e seus dados (Jobs) em uma fita magnética, e, em seguida, submetê-los a processamento; ● A utilização de fitas magnéticas obrigava o processamento a ser estritamente seqüencial, e com o surgimento dos dispositivos de acesso direto, tornou o spooling mais eficiente, inclusive com processamento não-seqüencial de jobs. SPOOLING SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 29/34 Prof. Carlos Maurício de B. Mello ● A técnica, atualmente, é semelhante à técnica de buffering, pois utiliza uma área em disco como se fosse um grande buffer. ● Hoje em dia esta técnica está presente na maioria dos SO, sendo utilizada no gerenciamento de impressão; ● Permite desvincular o programa do dispositivo de impressão, impedindo que um programa reserve a impressora para uso exclusivo. SPOOLING SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 30/34 Prof. Carlos Maurício de B. Mello Programa ImpressoraArquivo de Spool Sistema OperacionalSistema Operacional TÉCNICA DE SPOOLING 28/01/2011 6 SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 31/34 Prof. Carlos Maurício de B. Mello ● É a capacidade de um código executável (código reentrante) ser compartilhado por diversos usuários, exigindo que apenas uma cópia do programa esteja na memória; – Permite que cada usuário possa estar em um ponto diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário; – Exemplos: utilitários do sistema (editores de texto, compiladores, etc.) ● A reentrância proporciona uma utilização mais eficiente da memória principal e aumento no desempenho do sistema. REENTRÂNCIA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 32/34 Prof. Carlos Maurício de B. Mello Memória Principal código reentrante área de dados do usuário A usuário A usuário C usuário B usuário D área de dados do usuário B área de dados do usuário C área de dados do usuário D REENTRÂNCIA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 33/34 Prof. Carlos Maurício de B. Mello ● A eficiência proporcionada por um ambiente multiprogramável resulta em maior complexidade; ● Nesse sentido, o sistema operacional deve possuir um mecanismo de proteção a cada uma das áreas reservadas aos diversos usuários (dados e códigos armazenados); ● Houve então, a implementação de mecanismos de proteção e controle pelo SO, garantindo o acesso concorrente aos diversosrecursos do sistema. PROTEÇÃO DO SISTEMA SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 34/34 Prof. Carlos Maurício de B. Mello
Compartilhar