SlideShare uma empresa Scribd logo
1 de 17
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

Mais procurados

Network Scanning Phases and Supporting Tools
Network Scanning Phases and Supporting ToolsNetwork Scanning Phases and Supporting Tools
Network Scanning Phases and Supporting ToolsJoseph Bugeja
 
SO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e SegmentaçãoSO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e SegmentaçãoEduardo Nicola F. Zagari
 
Introduction to Security Vulnerabilities
Introduction to Security VulnerabilitiesIntroduction to Security Vulnerabilities
Introduction to Security VulnerabilitiesvodQA
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
what is sccm ? sccm online Training
what is sccm ? sccm online Training what is sccm ? sccm online Training
what is sccm ? sccm online Training KashifSCCMTrainer
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosLuiz Arthur
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas OperativosKaska Lucas
 
Introducao vpn (1)
Introducao vpn (1)Introducao vpn (1)
Introducao vpn (1)Valldo
 
SDN Security: Two Sides of the Same Coin
SDN Security: Two Sides of the Same CoinSDN Security: Two Sides of the Same Coin
SDN Security: Two Sides of the Same CoinZivaro Inc
 
Agentes Moveis - Aspectos De Desenvolvimento
Agentes Moveis - Aspectos De  DesenvolvimentoAgentes Moveis - Aspectos De  Desenvolvimento
Agentes Moveis - Aspectos De DesenvolvimentoLuiz Matos
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to VirtualizationRahul Hada
 
Operating System - Types Of Operating System Unit-1
Operating System - Types Of Operating System Unit-1Operating System - Types Of Operating System Unit-1
Operating System - Types Of Operating System Unit-1abhinav baba
 
Chapter1 introduction to asp.net
Chapter1  introduction to asp.netChapter1  introduction to asp.net
Chapter1 introduction to asp.netmentorrbuddy
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidorSandu Postolachi
 
VMware vSphere Storage Enhancements
VMware vSphere Storage EnhancementsVMware vSphere Storage Enhancements
VMware vSphere Storage EnhancementsAnne Achleman
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processosTalles Nascimento Rodrigues
 

Mais procurados (20)

Network Scanning Phases and Supporting Tools
Network Scanning Phases and Supporting ToolsNetwork Scanning Phases and Supporting Tools
Network Scanning Phases and Supporting Tools
 
Server Virtualization
Server VirtualizationServer Virtualization
Server Virtualization
 
SO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e SegmentaçãoSO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e Segmentação
 
Introduction to Security Vulnerabilities
Introduction to Security VulnerabilitiesIntroduction to Security Vulnerabilities
Introduction to Security Vulnerabilities
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
what is sccm ? sccm online Training
what is sccm ? sccm online Training what is sccm ? sccm online Training
what is sccm ? sccm online Training
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas Operativos
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
Introducao vpn (1)
Introducao vpn (1)Introducao vpn (1)
Introducao vpn (1)
 
SDN Security: Two Sides of the Same Coin
SDN Security: Two Sides of the Same CoinSDN Security: Two Sides of the Same Coin
SDN Security: Two Sides of the Same Coin
 
CON08 - VLAN.pdf
CON08 - VLAN.pdfCON08 - VLAN.pdf
CON08 - VLAN.pdf
 
Agentes Moveis - Aspectos De Desenvolvimento
Agentes Moveis - Aspectos De  DesenvolvimentoAgentes Moveis - Aspectos De  Desenvolvimento
Agentes Moveis - Aspectos De Desenvolvimento
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Operating System - Types Of Operating System Unit-1
Operating System - Types Of Operating System Unit-1Operating System - Types Of Operating System Unit-1
Operating System - Types Of Operating System Unit-1
 
Chapter1 introduction to asp.net
Chapter1  introduction to asp.netChapter1  introduction to asp.net
Chapter1 introduction to asp.net
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidor
 
VMware vSphere Storage Enhancements
VMware vSphere Storage EnhancementsVMware vSphere Storage Enhancements
VMware vSphere Storage Enhancements
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processos
 
Firewall
FirewallFirewall
Firewall
 

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

2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicosComputação Depressão
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processosComputação Depressão
 
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processosComputação Depressão
 
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionaisComputação Depressão
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraWellington Oliveira
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Leinylson Fontinele
 
Produtor Consumidor com Semaforo
Produtor Consumidor com SemaforoProdutor Consumidor com Semaforo
Produtor Consumidor com Semaforogicaazevedo
 
2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocksComputação Depressão
 
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...Leinylson Fontinele
 
Estrutura de Programas
Estrutura de ProgramasEstrutura de Programas
Estrutura de ProgramasSidney Roberto
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Leinylson Fontinele
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)jastro1984
 
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"Marcio Machado Pereira
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Leinylson Fontinele
 
Aula de introducao ao ZOS
Aula de introducao ao ZOSAula de introducao ao ZOS
Aula de introducao ao ZOSIvan Sanches
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de softwareDanilo Gois
 
ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfssuser1d8ddd
 

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

2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
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 6 - escalonamento de processos2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
 
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
2009 1 - sistemas operacionais - aula 1 - introducao aos sistemas operacionais
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
 
Produtor Consumidor com Semaforo
Produtor Consumidor com SemaforoProdutor Consumidor com Semaforo
Produtor Consumidor com Semaforo
 
2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks
 
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
Introdução à Computação Aula 05 - Sistemas Operacionais (arquitetura do SO, p...
 
Estrutura de Programas
Estrutura de ProgramasEstrutura de Programas
Estrutura de Programas
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)
 
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"
[Hind oopsla00] resumo do artigo "Adaptive Optimization in the Jikes RVM"
 
Atps sistemas operacionais
Atps sistemas operacionaisAtps sistemas operacionais
Atps sistemas operacionais
 
Algoritmo lamport
Algoritmo lamportAlgoritmo lamport
Algoritmo lamport
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
 
Aula de introducao ao ZOS
Aula de introducao ao ZOSAula de introducao ao ZOS
Aula de introducao ao ZOS
 
Questionário de automação industrial
Questionário de automação industrialQuestionário de automação industrial
Questionário de automação industrial
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de software
 
ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
 

Mais de Computação Depressão

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 

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

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
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