Buscar

Sistemas Operacionais: Concorrência e E/S

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

Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Sistemas Operacionais
Parte I
Concorrência
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Sumário
Introdução
Interrupção e exceção
Operações de E/S
Buffering
Spooling
Reentrância
Proteção do sistema
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Introdução
O sistemas operacionais podem ser vistos com um conjunto de rotinas que executam concorrentemente de forma ordenada.
A conceito de concorrência é o principio básico para o projeto e a implantação se sistemas multiprogramáveis.
Este conceito dava a possibilidade de o processador executar instruções, em paralelo com operações de E/S. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Introdução
No caso sistemas multiprogramáveis o processador permanece menos tempo ocioso e a memória principal é utilizada com mais eficiência 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Interrupção e Exceção
Durante a execução de um programa, alguns eventos inesperados podem ocorrer, ocasionando um desvio no seu fluxo de execução.
Esses tipos de eventos são conhecidos por interrupção ou exceção e podem ser conseqüência da sinalização de algum dispositivo de hardware externo ao processador ou a execução de instruções do próprio programa.
Interrupção 
É o mecanismo pelo qual o sistema operacional sincroniza a execução de todas as rotinas e dos programas dos usurário, além de controlar os dispositivos.
Um exemplo de interrupção ocorre quando um dispositivo avisa ao processador que alguma operação de E/S está completa, neste caso, o processador deve interromper o programa e tratar o termino da operação.
	
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Interrupção e Exceção
Interrupção 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Interrupção e Exceção
Interrupção
Para cada tipo de interrupção existe uma rotina de tratamento de interrupção associada, para qual o fluxo de execução deve ser desviado.
Existem dois métodos utilizados para o tratamento de interrupções:
Vetor de interrupção: neste método é utilizado uma estrutura de dados chamada vetor de interrupção, que contêm o endereço inicial de todas as rotinas de tratamento existentes associadas a cada tipo de evento.
Registrador de Status: neste método é utilizado um registrador de status que armazena o tipo de evento ocorrido isso que dizer que só existe uma única rotina de tratamento que no seu início testa o registrador para identificar o tipo de interrupção e tratá-la de maneira correta. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Interrupção e Exceção
Exceção
Uma exceção é semelhante a uma interrupção, sendo a principal diferença o motivo pela qual ela foi gerada.
A exceção é resultado direto da execução de uma instrução do próprio programa, como uma divisão de um número por zero ou ocorrência de overflow em uma operação aritmética.
Da mesma forma que a interrupção, sempre que uma exceção é gerada, o programa em execução e interrompido e o controle é desviado para uma rotina de tratamento de exceções. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Interrupção e Exceção
A diferença fundamental entre exceções e interrupção é que a primeira é gerada por um evento síncrono enquanto a segunda é gerada por eventos assíncronos.
A interrupção é um evento gerado tanto por software quanto por hardware.
A exceção é um evento gerador por software é tratável pelo SO ou pelo programador.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Operações de E/S 
Quando os computadores eram monoprográmaveis a comunicação entre o processador e os periféricos era controlada por um conjunto de instruções especiais denominadas instruções de entrada e saída.
Com o surgimento do controlador ou interface permitiu ao processador agir de maneira independente dos dispositivos de E/S.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Operações de E/S 
Com esse novo elemento, o processador não mais se comunica diretamente com os periféricos, mais sim através do controlador.
Com o uso do controlador, existiam duas maneiras básica pelas quais o processador gerencias operações de entrada e saída. 
Na primeira o processador sincronizava-se com o periférico para o início da transferência de dados e, após iniciada a transferência, o sistema ficava permanentemente testando o estado do periférico para saber quando a operação chegaria ao final. Esse controle era chamado de E/S controlada por programa 
Esse controle mantinha o processador ocupado até o termino da operação de E/S (Busy wait...)
Como processador executa uma instrução muito mais rapidamente que a realização de uma operação de E/S pelo controlador havia um enorme desperdiço de temo da UCP.
A evolução desse modelo deu origem ao 1º sistemas multiprogramáveis.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Operações de E/S 
Na segunda, com a chegada dos sistemas multiprogramaveis e a implantação do mecanismo de interrupção, as operações de E/S puderam ser realizadas de uma forma mais eficiente chamado de E/S controlada por interrupção.
Em vez de o sistema periodicamente verificar o estado de uma operação pendente, o próprio controlador interrompia o processador para avisar do término da operação.
Após a execução de uma comando de leitura ou gravação, o processador permanece livre para o processamento de outras tarefas. 
A operação de E/S controlada por interrupção é muito mais eficiente que a controlada por programa, já que elimina a necessidade de o processador 
*fazer a animação
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Operações de E/S 
A operação de E/S controlada por interrupção é muito eficiente que a controlada por programa, já elimina a necessidade de o processador esperar pelo término da operação.
Apesar disso a transferência de grande volume de dados exige muitas intervenções do processador reduzindo a eficiência.
A solução para esse problema foi a DMA (Direct Memory Access).
A técnica de DMA permite que um bloco de dados seja transferido entre a memória principal e o dispositivo de E/S , sem a intervenção do processador exceto no início e no fim da transferência.
* fazer animação 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Operações de E/S 
A extensão do conceito de DMA possibilitou o surgimento do canal de entrada e saída.
O canal é um processador com a capacidade de executar programas de E/S, permitindo o controle total das operações E/S.
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.
Assim o processador realiza uma operação E/S , instruindo o canal a executar o programa que esta localizado na memória.
Após o termino da operação o canal gera um interrupção avisando o processador do fim da operação.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Operações de E/S 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Buffering
 A técnica de buffering consiste na utilização de uma área da memória principal denominada buffer, para transferência de dados entre a memória e o dispositivo de E/S. 
Isso permite que em uma operação de leitura o dado seja transferido primeiramente para o buffer, liberando imediatamente o dispositivo de entrada para realizar uma nova leitura.
O Buffering permiti minimizar o problema da disparidade da velocidade de processamento existente entre o processador e os dispositivos de E/S 
Sistemas Operacionais 
*
Departamento
de Informatica-DI/UFPA
*
Concorrência
Spooling
A técnica de spooling, semelhante a técnica de buffering, sendo essa tecnica utiliza uma area do disco como se fosse um grande buffer.
Neste caso os dados podem ser lidos ou gravados enquanto programas são executados concorrentemente.
Atualmente essa tecnica está presente na maioria dos sistemas operacionais, sendo utilizadano gerenciamento de impressão.
No momento em que o comando de impressão é executado, as informações que serão impressas são gravadas antes em um arquivo de disco, conhecido como arquivo de spool , liberando imediatamente o programa para outras atividades.
Posteriormente o sistema operacional se encarrega de direcionar o conteúdo do arquivo de spool para impressora 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Reentrância
É a técnica que permite a capacidade de um código executável (código reentrante) ser compartilhado por vários usuários, exigindo que apenas uma copia do programa esteja na memória.
A reentrância permite que cada usuário, possa está em um ponto diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário.
Isto proporciona uma utilização mais eficiente da memória principal e aumento no desempenho do sistema 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
*
Concorrência
Proteção do Sistema 
A eficiência proporcionada por um sistema multiprogramável resulta numa maior complexidade do sistema operacional, já que alguns problemas de proteção surgem como decorrência desse tipo de implementação.
Como vários programas ocupam a memória simultaneamente, cada usuário possui uma área reservada onde seus dados e códigos são armazenados
Cabem ao sistemas operacional possuir mecanismo de proteção, de forma a preservar essa informações, caso um programa tente acessar uma posição da memória fora de sua área , um erro indicando a violação de acesso deve ocorrer 
O sistema operacional deve ser responsável pelo controle da utilização do processador de forma a imperdir que algum programa monopolize o seu uso.
O SO deve também implementar mecanismos de proteção que controlem o acesso concorrente aos diverso recursos do sistema.

Teste o Premium para desbloquear

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

Continue navegando