Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais 1 – Introdução ao estudo de Sistemas Operacionais Instituto Educacional Santo Agostinho – IESA Faculdade de Ciências Exatas e Tecnológicas Santo Agostinho – FACET Siste m as d e In fo rm ação - FA SA Fev / 2016 Rafael Antonio Gonçalves Lima Sumário 1.6. Concorrência Siste m as d e In fo rm ação - FA SA 1.6. Concorrência • Concorrência é a possibilidade de o processador executar instruções ao mesmo tempo que outras operações, como, por exemplo, operações de E/S. • É o princípio básico para o projeto e implementação dos sistemas multiprogramáveis. Siste m as d e In fo rm ação - FA SA 1.6.1. Sistemas Monoprogramáveis x Multiprogramáveis • Nos sistemas monoprogramáveis os recursos computacionais eram utilizados de maneira pouco eficiente. • Somente um programa pode estar em execução por vez. • Ocorre então um desperdício na utilização do processador. • Por exemplo: enquanto uma leitura de disco é realizada o processador permanece ocioso. • O tempo de espera é relativamente longo, já que as operações com dispositivos de E/S são muito lentas. Siste m as d e In fo rm ação - FA SA 1.6.1. Sistemas Monoprogramáveis x Multiprogramáveis Siste m as d e In fo rm ação - FA SA 1.6.1. Sistemas Monoprogramáveis x Multiprogramáveis Siste m as d e In fo rm ação - FA SA 1.6.2. Interrupções e Exceções • Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução. • Estes tipos de eventos são conhecidos por interrupção ou exceção e podem ser consequência da: • sinalização de algum dispositivo de hardware externo ao processador; • ou da execução de instruções do próprio programa. Siste m as d e In fo rm ação - FA SA 1.6.2. Interrupções e Exceções • A interrupção é o mecanismo que tornou possível a implementação da concorrência nos computadores, sendo o fundamento básico dos sistemas multiprogramáveis. • É em função desse mecanismo que o sistema operacional sincroniza a execução de todas as suas rotinas e dos programas dos usuários, além de controlar dispositivos. Siste m as d e In fo rm ação - FA SA 1.6.2. Interrupções e Exceções • Uma interrupção é sempre gerada por algum evento externo ao programa e, nesse caso, independe da instrução que está sendo executada. • Exemplo: Quando um dispositivo avisa ao processador que alguma operação de E/S está completa. Nesse caso, o processador deve interromper o programa para tratar o término da operação. Siste m as d e In fo rm ação - FA SA 1.6.. Interrupções e Exceções • Uma exceção é semelhante a uma interrupção, sendo a principal diferença o motivo pelo qual o evento é gerado. • A exceção é resultado direto da instrução do próprio programa, como a divisão de um número por zero ou a ocorrência de overflow em uma operação aritmética. • A exceção é gerada por um evento síncrono (resultado direto da execução do programa corrente), enquanto a interrupção é gerada por eventos assíncronos (não relacionados à instrução do programa corrente). • Da mesma forma que na interrupção, sempre que uma exceção é gerada o programa em execução é interrompido e o controle é desviado para uma rotina de tratamento de exceção, que pode ser escrito pelo próprio programador, evitando que um programa seja encerrado no caso de ocorrer uma exceção. Siste m as d e In fo rm ação - FA SA 1.6.2. Interrupções e Exceções Siste m as d e In fo rm ação - FA SA 1.6.2. Operações de Entrada/Saída • Evolução • Instruções de entrada/saída • Continham detalhes específicos de cada periférico e eram executadas pelo próprio processador, tendo assim uma forte dependência entre o processador e os dispositivos de E/S. • Controlador ou interface • O processador não se comunicava diretamente com os periféricos, mas sim através do controlador. • Problema de o sistema ficar permanentemente testando o estado do periférico. Este controle era chamado de E/S controlada por programa. Mantinha o processador ocupado até o término da operação. Siste m as d e In fo rm ação - FA SA 1.6.2. Operações de Entrada/Saída • Controlador ou interface • A evolução desse mecanismo permitiu que após o início da transferência de dados, o processador permanecesse livre para realizar outras tarefas. Assim, o SO testava cada dispositivo em intervalos de tempo para saber o término da operação de E/S (pooling). • Esse tipo de operação introduziu certo grau de paralelismo, visto que um programa poderia ser processado enquanto outro esperava pelo término de uma operação de E/S. • Problema de existir um grande número de periféricos, o processamento é interrompido frequentemente. Siste m as d e In fo rm ação - FA SA 1.6.2. Operações de Entrada/Saída • Controlador ou interface • Com a implementação do mecanismo de interrupção, as operações de E/S puderam ser realizadas de uma forma mais eficiente. • O próprio controlador interrompia o processador para avisar do término da operação. Esse mecanismo foi chamado de E/S controlado por interrupção. Siste m as d e In fo rm ação - FA SA 1.6.2. Operações de Entrada/Saída • Controlador ou interface • Apesar disso, a transferência de grande volume de dados exige muitas intervenções do processador, reduzindo sua eficiência. • A solução para esse problema foi a implementação de uma técnica de transferência de dados denominada DMA (Direct Memory Access) Siste m as d e In fo rm ação - FA SA 1.6.2. Operações de Entrada/Saída • Controlador ou interface • Apesar disso, a transferência de grande volume de dados exige muitas intervenções do processador, reduzindo sua eficiência. • A solução para esse problema foi a implementação de uma técnica de transferência de dados denominada DMA (Direct Memory Access) Siste m as d e In fo rm ação - FA SA 1.6.2. Controlador Siste m as d e In fo rm ação - FA SA 1.6.2. Operações de Entrada/Saída • DMA (Direct Memory Access) • Permite que um bloco de dados seja transferido entre a memória principal e dispositivos de E/S sem a intervenção do processador, exceto no início e no final da transferência. • Canal de entrada e saída • A extensão do conceito do DMA, possibilitou o surgimento do canal de entrada e saída. • O canal é um processador com capacidade de executar programas de E/S, permitindo o controle total sobre operações de E/S. Siste m as d e In fo rm ação - FA SA 1.6.2. Operações de Entrada/Saída • Canal de entrada e saída • As instruções de E/S são armazenadas na memória principal pelo processador, porém o canal é responsável pela sua execução. • A evolução do canal permitiu que este possuísse sua própria memória, eliminando a necessidade de os programas de E/S serem carregados para a memória principal. • Este último estágio do canal é também denominado processador de entrada e saída. Siste m as d e In fo rm ação - FA SA 1.6.2. Canal de Entrada e Saída Siste m as d e In fo rm ação - FA SA 1.6.3. Buffering • Canal de entrada e saída • A técnica de buffering consiste na utilização de uma área na memória principal, denominada buffer, para a transferência de dados entre os dispositivos de E/S e a memória. • Permite que em uma operação de leitura o dado seja transferido primeiramente para o buffer, liberando imediatamente o dispositivode entrada para realizar uma nova leitura. • Essa técnica minimiza o problema da disparidade da velocidade de processamento existente entre o processador e os dispositivos de E/S. Siste m as d e In fo rm ação - FA SA 1.6.3. Buffering Siste m as d e In fo rm ação - FA SA 1.6.4. Spooling • Spooling (simultaneous peripheral operation on-line) • Como a velocidade de operação dos dispositivos de E/S é muito menor que a do processador, era comum que a UCP permanecesse ociosa à espera de programas e dados de entrada ou pelo témino de uma impressão. • Solução foi armazenar os vários programas e seus dados, também chamados de jobs, em um fita magnética e, em seguida, submetê-los a processamento (de forma sequencial). • Essa técnica foi a base dos sistemas batch. Siste m as d e In fo rm ação - FA SA 1.6.4. Spooling • Atualmente essa técnica está presente na maioria dos sistemas operacionais, sendo utilizada no gerenciamento de impressão. • No momento em que um comando de impressão é executado, as informações que serão impressas são gravadas antes em um arquivo em disco, conhecido como arquivo de spool, liberando imediatamente o programa para outras atividades. Siste m as d e In fo rm ação - FA SA 1.6.4. Spooling Siste m as d e In fo rm ação - FA SA 1.6.5. Reentrância • Vários usuários utilizam os mesmos aplicativos simultaneamente, como editores de textos e compiladores. • Se cada usuário que utilizasse um desses aplicativos trouxesse o código executável para a memória, haveria diversas cópias de um mesmo programa na memória principal. • Reentrância é 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. • A reentrância permite que cada usuário possa estar em um ponto diferente do código reentrante, manipulando dados próprios. Siste m as d e In fo rm ação - FA SA 1.6.5. Reentrância Siste m as d e In fo rm ação - FA SA Exercícios de Fixação 1. O que é concorrência? 2. Por que o mecanismo de interrupção é fundamental para a implementação da multiprogramação? 3. Explique o mecanismo de funcionamento das interrupções. 4. O que são eventos síncronos e assíncronos? Como estes eventos estão relacionados ao mecanismo de interrupção e exceção? 5. Dê exemplos de eventos associados ao mecanismo de exceção. 6. O que é DMA e qual a vantagem desta técnica? 7. Como a técnica de buffering permite aumentar a concorrência em um sistema computacional? 8. Em um sistema multiprogramável, seus usuários utilizam o mesmo editor de textos (200 Kb), compilador (300 Kb), software de correio eletrônico (200 Kb) e uma aplicação corporativa (500 Kb). Caso o sistema não implemente reentrância, qual o espaço de memória principal ocupado pelos programas quando 10 usuários estiverem utilizando todas as aplicações simultaneamente? Qual o espaço liberado quando o sistema implementa reentrância em todas as aplicações? Siste m as d e In fo rm ação - FA SA Bibliografia 1. MACHADO, Francis B. Arquitetura de Sistemas Operacionais. 4 ed. Rio de Janeiro: LTC, 2007. 2. TANENBAUM, Andrew S. Sistemas operacionais modernos. 2 Ed. Rio de Janeiro: Prentice-Hall, 2005. Siste m as d e In fo rm ação - FA SA Conteúdo da Próxima Aula • Estrutura do Sistema Operacional. Obrigado ! Rafael A. G. Lima (rafaelg@fasa.edu.br) Siste m as d e In fo rm ação - FA SA
Compartilhar