Baixe o app para aproveitar ainda mais
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;
Compartilhar