SlideShare uma empresa Scribd logo
8
Mais lidos
9
Mais lidos
15
Mais lidos
Sistemas Operacionais
         -Gerência de Processos


                                 Ernesto Massa
                         (slides fornecidos pela Prentice Hall
                             e adaptados para esta disciplina)




                                                                     1
Pearson Education       Sistemas Operacionais Modernos – 2ª Edição
Processos e Threads

               Processos

               Threads

               Comunicação  interprocesso
               Problemas clássicos de IPC

               Escalonamento




Pearson Education
                                                    2
                                  Sistemas Operacionais Modernos – 2ª Edição
Condições de Corrida
           Exemplo 1:            1                     3
                              7                     7



              Processo                                          Processo
                 A
                    2
                                      7                             B 4
                7+1                                                7-1


                                  6                     5
                             8                      6
                   Resultado Final: Contador = 8 (ERRO!)

Pearson Education
                                                            3
                                          Sistemas Operacionais Modernos – 2ª Edição
Condições de Corrida
           Exemplo 2:                           Processo
                                                                    2   suspenso
                                                    A
                                                                    8   recebe CPU
                                   10

                                   Y         1                  9

                     5     6                7                 8
                                                 próxima
              4
                                                 entrada

              3                                       7
                                    6        4                    5
                                   X        7                  8
                                                 Processo           3   recebe CPU
                   Valor armazenado pelo           B               7   suspenso
                    processo B é perdido.
Pearson Education
                                                          4
                                        Sistemas Operacionais Modernos – 2ª Edição
Condições de Corrida
           Região Crítica:
                   Parte do código onde é feito acesso a recursos
                    compartilhados, e que podem levar a
                    condições de corrida.
           Ex: Processo A.
                   Código normal
                   Início da Seção Crítica (Protocolo de Entrada)
                    Seção Crítica
                   Término da Seção Crítica (Protocolo de Saída)
                   Código normal




Pearson Education
                                                            5
                                          Sistemas Operacionais Modernos – 2ª Edição
Regiões Críticas
           Quatro condições são necessárias
            para prover exclusão mútua:
                     Nunca dois processos simultaneamente
                      em uma região crítica
                     Nenhuma afirmação pode ser feita sobre

                      velocidades ou números de CPUs
                     Nenhum processo executando fora de sua

                      região crítica pode bloquear outros
                      processos
                     Nenhum processo deve esperar

                      eternamente para entrar em sua região
                      crítica
Pearson Education
                                                        6
                                      Sistemas Operacionais Modernos – 2ª Edição
Soluções de Software
           Implementações de uso das regiões
            críticas sem a espera ocupada:
                   Semáforos (Counting Semaphores);
                   Semáforos Binários
                      Mutex (Mutual Exclusion Semaphores);

                   Monitores.




Pearson Education
                                                           7
                                         Sistemas Operacionais Modernos – 2ª Edição
Soluções de Software
           Chamadas sleep e wakeup:
               Sleep:
                       Coloca o processo chamador no estado de
                        espera.
               Wakeup:
                       Coloca um outro processo que está em
                        espera no estado de pronto.




Pearson Education
                                                           8
                                         Sistemas Operacionais Modernos – 2ª Edição
Soluções de Software
           Semáforos:
                   Ferramenta de sincronização criada por
                    Dijkstra (1965);
                   Características:
                      Variável inteira;

                      Não negativa.

                   Manipulados exclusivamente por duas
                    operações atômicas:
                      DOWN (generalização do sleep)

                      UP (generalização do wakeup)

                      Implementados como chamada ao sistema.




Pearson Education
                                                          9
                                        Sistemas Operacionais Modernos – 2ª Edição
Problema Produtor Consumidor
        Semáforos




Pearson Education
                                          10
                        Sistemas Operacionais Modernos – 2ª Edição
Monitores
           Exemplo de um
            monitor




Pearson Education
                                              11
                            Sistemas Operacionais Modernos – 2ª Edição
Problemas Clássicos de
        Comunicação entre Processos

           Problemas que ilustram situações reais de
            conflitos gerados pela concorrência entre
            processos.
                   O Jantar dos Filósofos (Filósofos Glutões)
                   O Barbeiro Sonolento
                   Leitores e Escritores




Pearson Education
                                                               13
                                             Sistemas Operacionais Modernos – 2ª Edição
Jantar dos Filósofos
           Filósofos
            comem/pensam
           Cada um precisa de 2
            garfos para comer
           Pega um garfo por vez
           Como prevenir deadlock




Pearson Education
                                                       14
                                     Sistemas Operacionais Modernos – 2ª Edição
Jantar dos Filósofos
           Uma solução errada para o
            problema do jantar dos filósofos




Pearson Education
                                                15
                              Sistemas Operacionais Modernos – 2ª Edição
O Barbeiro Sonolento




Pearson Education
                                          16
                        Sistemas Operacionais Modernos – 2ª Edição
Barbeiro Sonolento




Pearson Education
                                           17
                         Sistemas Operacionais Modernos – 2ª Edição
Leitores e Escritores




Pearson Education
                                             18
                           Sistemas Operacionais Modernos – 2ª Edição

Mais conteúdo relacionado

PPTX
Introdução a python
PDF
nhập xuất file 2 c++
PPT
Aula 5 - Modelo de Entidade e Relacionamento - MER
PDF
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
PDF
Pipeline
PDF
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
PPT
C3 stack queue
PPT
Ensinando a programar através do Python turtle graphics
Introdução a python
nhập xuất file 2 c++
Aula 5 - Modelo de Entidade e Relacionamento - MER
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Pipeline
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
C3 stack queue
Ensinando a programar através do Python turtle graphics

Mais procurados (20)

PDF
Linguagem c parte 1
ODP
Python para desenvolvedores - material apoio (parte I)
PPTX
Tối ưu kỹ thuật chia mạng con với phương pháp VLSM
PDF
Gerenciamento de memória cap 03 (ii unidade)
PPTX
Herramientas hirens boot cd
PDF
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
PDF
POO - 03 - Alocação de Memória em Java
PDF
Aula 12 – Sistema de Numeração (Conversão de Bases)
PDF
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
PDF
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
PPTX
Linguagem C - Vetores
PPTX
Estrutura de dados em Java - Ponteiros e Alocação de Memória
PPTX
Estrutura de Dados - Aula 01
PPTX
Conjunto de instruções mips - introdução
PPTX
Estrutura de dados em Java - Pilhas
PDF
Học python
PDF
Introduction-Management NoSQL with MongoDB.pdf
PDF
Data warehouse 01 introdução
PDF
Diagramas
PPT
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Linguagem c parte 1
Python para desenvolvedores - material apoio (parte I)
Tối ưu kỹ thuật chia mạng con với phương pháp VLSM
Gerenciamento de memória cap 03 (ii unidade)
Herramientas hirens boot cd
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
POO - 03 - Alocação de Memória em Java
Aula 12 – Sistema de Numeração (Conversão de Bases)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Linguagem C - Vetores
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de Dados - Aula 01
Conjunto de instruções mips - introdução
Estrutura de dados em Java - Pilhas
Học python
Introduction-Management NoSQL with MongoDB.pdf
Data warehouse 01 introdução
Diagramas
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Anúncio

Semelhante a 2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos (20)

PPT
2009 1 - sistemas operacionais - aula 3 - processos
PPT
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
PPT
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
PPT
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
PPT
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
PPT
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
PDF
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
DOCX
Produtor Consumidor com Semaforo
PPT
2009 1 - sistemas operacionais - aula 7 - deadlocks
PDF
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
PDF
Estrutura de Programas
PDF
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
PDF
Apostila clp (conceitos básicos)
PDF
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"
PDF
Atps sistemas operacionais
PDF
Algoritmo lamport
PDF
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
PPT
Aula de introducao ao ZOS
PDF
Questionário de automação industrial
PDF
Plano do projeto de software
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Produtor Consumidor com Semaforo
2009 1 - sistemas operacionais - aula 7 - deadlocks
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Estrutura de Programas
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Apostila clp (conceitos básicos)
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"
Atps sistemas operacionais
Algoritmo lamport
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Aula de introducao ao ZOS
Questionário de automação industrial
Plano do projeto de software
Anúncio

Mais de Computação Depressão (20)

PPT
Sd08 (si) sistemas de arquivos distribuídos
PPT
Sd06 (si) exclusão mútua
PPT
Sd05 (si) relógios e sincronização
PPT
Sd04 (si) comunicação em sd
PPT
Sd03 (si) conceitos básicos de sd
PPT
Sd02 (si) gerenciamento de entrada e saída
PPT
Sd01 (si) sistemas de arquivos
PPT
Sd07 (si) eleição
PDF
PDF
Ufbaingles2013
PDF
Ufbagab mat 2013
PDF
Ufbagab ingles2013
PDF
Ufbagab fis 2013
PDF
Ufbafisqui2013
PDF
Ufbagab qui 2013
PDF
Questesdetecnologia ano2002
PDF
Questesdematemtica ano2003
PDF
Questesdematemtica ano2002
PDF
Questesdefundamentos ano2003
PDF
Questesdefundamentos ano2002
Sd08 (si) sistemas de arquivos distribuídos
Sd06 (si) exclusão mútua
Sd05 (si) relógios e sincronização
Sd04 (si) comunicação em sd
Sd03 (si) conceitos básicos de sd
Sd02 (si) gerenciamento de entrada e saída
Sd01 (si) sistemas de arquivos
Sd07 (si) eleição
Ufbaingles2013
Ufbagab mat 2013
Ufbagab ingles2013
Ufbagab fis 2013
Ufbafisqui2013
Ufbagab qui 2013
Questesdetecnologia ano2002
Questesdematemtica ano2003
Questesdematemtica ano2002
Questesdefundamentos ano2003
Questesdefundamentos ano2002

2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos

  • 1. Sistemas Operacionais -Gerência de Processos Ernesto Massa (slides fornecidos pela Prentice Hall e adaptados para esta disciplina) 1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  • 2. Processos e Threads  Processos  Threads  Comunicação interprocesso  Problemas clássicos de IPC  Escalonamento Pearson Education 2 Sistemas Operacionais Modernos – 2ª Edição
  • 3. Condições de Corrida  Exemplo 1: 1 3 7 7 Processo Processo A 2 7 B 4 7+1 7-1 6 5 8 6  Resultado Final: Contador = 8 (ERRO!) Pearson Education 3 Sistemas Operacionais Modernos – 2ª Edição
  • 4. Condições de Corrida  Exemplo 2: Processo 2 suspenso A 8 recebe CPU 10 Y 1 9 5 6 7 8 próxima 4 entrada 3 7 6 4 5 X 7 8 Processo 3 recebe CPU  Valor armazenado pelo B 7 suspenso processo B é perdido. Pearson Education 4 Sistemas Operacionais Modernos – 2ª Edição
  • 5. Condições de Corrida  Região Crítica:  Parte do código onde é feito acesso a recursos compartilhados, e que podem levar a condições de corrida.  Ex: Processo A.  Código normal  Início da Seção Crítica (Protocolo de Entrada)  Seção Crítica  Término da Seção Crítica (Protocolo de Saída)  Código normal Pearson Education 5 Sistemas Operacionais Modernos – 2ª Edição
  • 6. Regiões Críticas  Quatro condições são necessárias para prover exclusão mútua:  Nunca dois processos simultaneamente em uma região crítica  Nenhuma afirmação pode ser feita sobre velocidades ou números de CPUs  Nenhum processo executando fora de sua região crítica pode bloquear outros processos  Nenhum processo deve esperar eternamente para entrar em sua região crítica Pearson Education 6 Sistemas Operacionais Modernos – 2ª Edição
  • 7. Soluções de Software  Implementações de uso das regiões críticas sem a espera ocupada:  Semáforos (Counting Semaphores);  Semáforos Binários  Mutex (Mutual Exclusion Semaphores);  Monitores. Pearson Education 7 Sistemas Operacionais Modernos – 2ª Edição
  • 8. Soluções de Software  Chamadas sleep e wakeup:  Sleep:  Coloca o processo chamador no estado de espera.  Wakeup:  Coloca um outro processo que está em espera no estado de pronto. Pearson Education 8 Sistemas Operacionais Modernos – 2ª Edição
  • 9. Soluções de Software  Semáforos:  Ferramenta de sincronização criada por Dijkstra (1965);  Características:  Variável inteira;  Não negativa.  Manipulados exclusivamente por duas operações atômicas:  DOWN (generalização do sleep)  UP (generalização do wakeup)  Implementados como chamada ao sistema. Pearson Education 9 Sistemas Operacionais Modernos – 2ª Edição
  • 10. Problema Produtor Consumidor Semáforos Pearson Education 10 Sistemas Operacionais Modernos – 2ª Edição
  • 11. Monitores  Exemplo de um monitor Pearson Education 11 Sistemas Operacionais Modernos – 2ª Edição
  • 12. Problemas Clássicos de Comunicação entre Processos  Problemas que ilustram situações reais de conflitos gerados pela concorrência entre processos.  O Jantar dos Filósofos (Filósofos Glutões)  O Barbeiro Sonolento  Leitores e Escritores Pearson Education 13 Sistemas Operacionais Modernos – 2ª Edição
  • 13. Jantar dos Filósofos  Filósofos comem/pensam  Cada um precisa de 2 garfos para comer  Pega um garfo por vez  Como prevenir deadlock Pearson Education 14 Sistemas Operacionais Modernos – 2ª Edição
  • 14. Jantar dos Filósofos  Uma solução errada para o problema do jantar dos filósofos Pearson Education 15 Sistemas Operacionais Modernos – 2ª Edição
  • 15. O Barbeiro Sonolento Pearson Education 16 Sistemas Operacionais Modernos – 2ª Edição
  • 16. Barbeiro Sonolento Pearson Education 17 Sistemas Operacionais Modernos – 2ª Edição
  • 17. Leitores e Escritores Pearson Education 18 Sistemas Operacionais Modernos – 2ª Edição