• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
SO - Aula 05 - Concorrencia
 

SO - Aula 05 - Concorrencia

on

  • 10,024 views

Hardware, Software, Computadores...

Hardware, Software, Computadores
Sistemas monoprogramáveis,
Sistemas multiprogramáveis,
Interrupção e exceção,
Exceção,
Operações de E/S,
Buffering,
Spooling,
Reentrância.

Statistics

Views

Total Views
10,024
Views on SlideShare
9,990
Embed Views
34

Actions

Likes
2
Downloads
236
Comments
0

1 Embed 34

http://www.slideshare.net 34

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    SO - Aula 05 - Concorrencia SO - Aula 05 - Concorrencia Presentation Transcript

    • Sistemas operacionais Aula 05 - Concorrência 17/08/2009 – Turma B 18/08/2009 – Turma A
    • Introdução
      • Os sistemas operacionais podem ser vistos como um conjunto de rotinas que executam concorrentemente de forma ordenada
      • A execução de instruções em paralelo permite que diversas tarefas sejam executadas concorrentemente
      • Sistemas multiprogramáveis surgiram a partir das limitações dos sistemas monoprogramáveis
    • Sistemas monoprogramáveis
      • O processador fica dedicado exclusivamente a uma tarefa (desperdício no uso do processador)
      • Enquanto uma leitura de disco é realizada, o processador fica esperando
      • E/S muito lentas em relação ao processador
      • Somente um programa fica na memória, ocasionando a existência de áreas livres sem uso
    • Sistemas multiprogramáveis
      • Vários programas são armazenados em memória, concorrendo com o uso do processador
      • Enquanto um programa solicita uma operação de E/S, outros programas podem usar o processador
      • Em sistemas de tempo compartilhado, existe a impressão que o computador está inteiramente dedicado ao usuário
    • Interrupção e exceção
      • São desvios forçados no fluxo de execução de um programa que podem ocorrer devido a eventos
      • Ocasionados por sinalização de algum dispositivo de hardware externo ao processador ou execução de instruções do próprio programa
      • Alguns autores fazem distinção entre interrupção e exceção
    • Interrupção
      • Gerada por um evento externo ao programa
      • Mecanismo que torna possível a implementação de sistemas multiprogramáveis
      • Em função dele, o SO sincroniza a execução de todas as rotinas e dos programas dos usuários, além de controlar dispositivos
    • Interrupção
      • Na ocorrência da interrupção, o programa em execução é interrompido e o controle desviado para uma rotina de tratamento de interrupção
        • O conjunto de informações sobre a execução deve ser preservados e restaurados ao final da rotina de tratamento
    • Interrupção Instrução 1 Instrução 2 Instrução 3 Instrução 4 Instrução 5 Instrução 6 Instrução 7 Instrução 8 Instrução 9 Salva conteúdo dos registradores na pilha de controle Identifica a origem do evento Obtém o endereço da rotina de tratamento Rotina de tratamento Restaura o conteúdo dos registradores Interrupção Programa
    • Interrupção
      • Para cada tipo de interrupção existe uma rotina de tratamento associada, para qual o fluxo de execução deve ser desviado
      • Existem dois métodos para o tratamento de interrupções
        • No primeiro, uma estrutura de dados chamada vetor de interrupções contém um mapeamento (evento, endereço de tratamento)
        • No segundo, existe somente uma única rotina de tratamento e um registrador especial guarda o tipo de evento ocorrido
    • Interrupção
      • As interrupções são decorrentes de eventos assíncronos
      • Esses eventos são imprevisíveis, podendo ocorrer mais de uma vez, como no caso de dispositivos de E/S informarem que precisam da atenção do processador
    • Interrupção
      • O processador poderá ignorar a ocorrência de outras interrupções enquanto executa uma rotina de tratamento (interrupção mascarada)
      • Caso o processador não permita ignorar interrupções haverá um mecanismo para avaliar as interrupções geradas e definir suas prioridades
    • Exceção
      • É semelhante a uma interrupção, sendo a principal diferença o motivo pelo qual o evento é gerado
      • Ela é o resultado direto da execução de uma instrução do próprio programa, como uma divisão por zero
    • Exceção
      • É gerada por evento síncrono, enquanto a interrupção é gerada por um evento assíncrono
      • Um evento síncrono é resultado direto da execução do programa corrente
      • Sempre que ocorre uma exceção, o controle é desviado para uma rotina de tratamento de exceção
    • Operações de E/S
      • Nos primeiros sistemas computacionais, a comunicação entre processador e periféricos era controlada por instruções de E/S, com detalhes específicos do periférico
      • Este modelo cria uma forte dependência entre o processador e os dispositivos de E/S
      Processador Memória Dispositivo E/S
    • Operações de E/S
      • Com o surgimento do controlador ou interface, o processador não mais se comunica com os periféricos diretamente, mas sim através do controlador
      Processador Memória Controlador Dispositivo E/S
    • Buffering
      • Consiste no uso de uma área de memória principal, 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 dispositivo de entrada para realizar uma nova leitura
      • Permite minimizar o problema de disparidade de velocidade de processamento existente entre o processador e os dispositivos de E/S
    • Spooling
      • Simultaneous Peripheral Operation On-Line
      • No início, os programas dos usuários eram submetidos um a um para processamento pelo processador
      • Como a velocidade de operação dos dispositivos de E/S é muito menor que o processador, era comum que a CPU permanecesse ociosa à espera de programas e dados de entrada ou pelo término de uma impressão
    • Spooling
      • A solução foi armazenar os vários programas e seus dados (jobs), em uma fita magnética e em seguida submetê-los ao processamento
      • O processador poderia executar sequencialmente os jobs, diminuindo o tempo de processamento e transição entre eles.
      • Da mesma forma, o resultado do processamento era gravado em fita, para posteriormente ser enviado a impressora
    • Spooling
      • Esta técnica está presente na maioria dos sistemas operacionais para o 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, liberando imediatamente o programa para outras atividades
    • Reentrância
      • É comum em sistemas multiprogramáveis, vários usuários usarem os mesmos aplicativos simultaneamente
      • Se cada execução do programa por um usuário, trouxesse para memória o código executável, haveria diversas cópias de um mesmo programa na memória principal, o que acarreta um desperdício de memória
      • Reentrância é a capacidade de um código executável ser compartilhado por diversos usuários, exigindo apenas uma cópia do programa na memória
    • Proteção do sistema
      • O sistema operacional deve implementar mecanismos de proteção que controlam o acesso concorrente aos diversos recursos do sistema para garantir a confiabilidade e a integridade dos programas e dados dos usuários, além do próprio sistema operacional