Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais Prof. Fernando Eryck 2012.2 Redes de Computadores SUMÁRIO � Interrupções e Exceções � Operações de Entrada/Saída � Buffering � Spooling � Reentrância Concorrência �Sistemas oepracionais podem ser vistos como um conjunto de rotinas executadas de forma concorrente e ordenada. � A possibilidade de o processador executar instruções ao mesmo tempo que outras operações, como por exemplo, operação de E/S, tempo que outras operações, como por exemplo, operação de E/S, permite que diversas tarefas sejam executadas concorrentemente. Interrupções e Exceções � Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionando um desvio forçado na sua execução. � Eventos � Eventos � Interrupção � Exceção � Interrupção é um mecanismo que o SO utiliza para sincronizar a execução de todas as suas rotinas e dos programas dos usuários, além de controlar os dispositivos. Gerados em conseqüência da sinalização de algum dispositivo de hardware externo ao processador ou da execução de instruções do próprio programa. Interrupções e Exceções � A interrupção é sempre gerada por algum evento externo ao programa, independe da instrução que está sendo executada. Interrupções e Exceções � Ex. 1. O processador está executando um programa qualquer (em outras palavras, um fluxo de execução); 2. Um pacote vindo da rede é recebido pela placa Ethernet;2. Um pacote vindo da rede é recebido pela placa Ethernet; 3. A placa envia uma solicitação de interrupção (IRQ) ao processador; 4. O processamento é desviado do programa em execução para a rotina de tratamento da interrupção 5. A rotina de tratamento é executada para receber as informações da placa de rede (via barramentos de dados e de endereços) e atualizar as estruturas de dados do sistema operacional; 6. A rotina de tratamento da interrupção é finalizada e o processador retorna à execução do programa que havia sido interrompido. Interrupções e Exceções � Para cada tipo de interrupção existe uma rotina de tratamento associada � Fundamental para determinar o endereço da rotina de tratamentotratamento �Métodos de tratamento de interrupções � Vetor de interrupção – contém o endereço inicial de todas as rotinas de tratamento existentes associada a cada tipo de evento � Registrador de status – armazena o tipo de evento ocorrido, e testa através de uma única rotina para identificar o tipo de interrupção. Interrupções e Exceções � Múltiplas interrupções �Diversos dispositivos informando ao processador que estão prontos para enviar ou receber dados. �Interrupções mascaráveis�Interrupções mascaráveis �Rotina de tratamento que ignora/evita a ocorrência de múltiplas interrupções durante a execução da rotina de tratamento �Controlador de pedidos de interrupção �Outra forma de tratamento de múltiplas interrupções. Dispositivo responsável por avaliar as interrupções geradas e suas prioridades de atendimento. Interrupções e Exceções � Exceção – semelhante a interrupção, sendo a principal diferença o motivo pelo qual o evento é gerado. � Exceção é resultado direto da execução de uma instrução do próprio programa. próprio programa. � Ex.: Overflow (ocorre qdo uma programa recebe mais dados do que ele está preparado para armazenar no buffer) �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. Operações de Entrada/Saída � Nos primeiros sistemas computacionais, a comunicação entre o processador e os periféricos era controlada por um conjunto de instruções, denominadas instruções de E/S, executadas pelo próprio processador. � Esse modelo criava certa dependência entre o processador e os dispositivos de E/S. � O surgimento do controlador ou interface permitiu ao processador agir de maneira idependente dos dispositivos de E/S. � O processador não se comunicava mais diretamente com os periféricos,mas sim através do controlador. Operações de Entrada/Saída � O controlador simplificou as instruções de E/S por não ser mais necessário especificar detalhes de operação dos periféricos. Memória PrincipalUCP Controlador Dispositivos de E/S Operações de Entrada/Saída � Operações de E/S trabalham em conjunto com o mecanismo de interrupção, permitindo uma maior eficiência. � Em vez do sistema verificar o estado de uma operação de E/S pendente, o próprio controlador interrompe o E/S pendente, o próprio controlador interrompe o processador para avisar da realização de uma operação, por exemplo, o término de uma operação. �Quando o sistema fica permanentemente testando o estado do periférico é chamado de E/S controlada por programa � Com o mecanismo E/S controlador por interrupção, o processador, após a execução de um comando de leitura ou gravação, permanece livre para o processamento de outras tarefas. 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 � Ao ocorrer uma leitura ou gravação de bloco de dados, o � Ao ocorrer uma leitura ou gravação de bloco de dados, o processador informa ao controlador � sua localização; � o dispositivo de e/s; � a posição inicial da memória de onde os dados serão lidos e gravados e o tamanho do bloco. � O controlador realiza a transferência entre a memória e o periférico, e o processador é somente interrompido no final da operação. Operações de Entrada/Saída � Extensão DMA, possibilitou o surgimento do canal e/ou processador de E/S. � O canal é um processador com capacidade de executar programas de E/S, permitindo um controle total sobre operações de E/S. Memória PrincipalUCP Canal de E/S Controlador Dispositivos de E/S Controlador Dispositivos de E/S Permite o controle de múltiplos dispositivos através de diversos controladores Buffering � Consiste na utilização de uma área na memória principal, para a transferência de dados entre os dispositivos de E/S e a memória principal. � Enquanto o processador manipula o dado localizado no buffer, o dispositivo realiza outra operação de leitura no mesmo instante.dispositivo realiza outra operação de leitura no mesmo instante. Memória Principal UCP Buffer gravação gravação leitura leitura Controlador Spooling � Semelhante ao buffering, só que utiliza uma área em disco como se fosse um grande buffer. � Os dados podem ser lidos ou gravados em disco, enquanto programas são executados concorrentemente. �Utilizada para o gerenciamento de impressão. � Informações que serão impressas são gravadas no arquivo spool, liberando o programa para outras atividades Programa ImpressoraArquivode Spool Sistema OperacionalSistema Operacional Reentrância � É a capacidade de um código executável 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 ponto diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário 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
Compartilhar