SlideShare una empresa de Scribd logo
1 de 28
Sistemas Operacionais – Aula 4




             Gerenciamento de Processos e
                                  Threads
                Baseado no Livro Sistemas
                  Operacionais Modernos
                   Andrew S. Tanenbaum
Roteiro - Gerenciamento de
      Processos e Threads

• Processos;



• Threads;



• Escalonamento;
Processos

• Vários computadores modernos são capazes
  de fazer várias coisas ao mesmo tempo;

• Como os computadores conseguem fazer isso
  quando possuem apenas uma CPU ?


            Pseudoparalelismo



          Processos Seqüenciais
Processo – O Modelo de Processo
 • Modelo de Processos -> Todos os softwares que podem ser
   executados em um computador são organizados em vários
   processos seqüenciais (ou simplesmente processo).

 • Processos
    – Programa em execução;
    – Valores atuais do contador de programa (CPU Virtual);
    – Registradores;
    – Variáveis (dados do programa);
Processos – Criação de Processos
 • Os processos são criados quando:

    – Se inicia o sistema:
       • Processos de segundo plano: servidores,
         messenger, impressão. (daemons)
       • Processos de primeiro plano: usados para
         interagir com usuários (humanos).

    – Se executa uma chamada ao sistema de criação de
      processo;

    – Solicitação do usuário para se criar um novo
      processo;

    – Início de um Job em lote;
Processos – Término de Processos

• Condições que levam a término do processo:
  – Saída normal (voluntária);

  – Saída por erro (voluntária);

  – Erro fatal (involuntária);

  – Cancelamento por um outro processo
    (involuntário);
Processos - Hierarquia de Processos
Processos - Estados de Processos




 • Possíveis estados de um processo:
   – Em execução;
   – Bloqueado;
   – Pronto para executar;
Processos - Implementação de
            Processos
• Sistema operacional mantém uma tabela
  chamada de tabela de processos;
Processos – Tratamento de
           Interrupção
1. A cada E/S existe uma posição de memória com o
   endereço de procedimento a ser executado;

2. O usuário digita uma tecla. O hardware coloca no
   barramento a interrupção do E/S teclado;

3. Imediatamente o contador de programas é
   colocado na pilha pelo HW de interrupção
   juntamente com outras informações necessárias;

4. Então o contador de programas assume o
   endereço de procedimento apontado pela
   interrupção teclado;
Processos – Tratamento de
            Interrupção
5. Com o CP (PC) apontando para o endereço do procedimento certo a
   CPU executa o procedimento que quase sempre começa salvando
   os registradores atuais do processo anterior;

6. Quando o procedimento é terminado, o escalonador volta em ação
   para colocar outro processo a disposição da CPU

Resumidamente:
Modelo de Threads
•   Processos ->Espaço de endereçamento protegido com um único fluxo de
    controle;
     – Agrupamento de recursos (dados, arquivos, processos filhos);

     – Código de execução;

     – Execução única (thread de execução);

•   Threads -> Um espaço de endereçamento e múltiplos fluxos de controle;
     – Recursos particulares (CP, registradores, pilha);

     – Recursos compartilhados (espaço de endereço – variáveis globais,
       arquivos e etc);

     – Múltiplas execuções no mesmo ambiente do processo – com
       certa independência entre as execuções;

     – Unidade a ser escalonada
Analigia - Threads
Threads
Threads
Threads
Threads
Threads - Vantagens

• É mais fácil criar uma thread do que um processo
  (cerca de 100 vezes mais rápido);

• É mais rápido terminar uma thread do que um
  processo;

• É mais rápido chavear entre threads de um mesmo
  processo;

• Threads podem se comunicar sem invocar nenhuma
  primitiva ou dispositivo do SO, jáque compartilham
  memória e arquivos de um mesmo processo;
Threads - Desvantagens


• Suspender um processo implica em suspender
  todas as threads deste processo já que
  compartilham o mesmo espaço de
  endereçamento;


• O término de um processo implica no término
  de todas as threads deste processo;
Threads – Exemplo de Uso

• Aplicação: Processador de Texto

• Uso de 3 Threads:
   – Interação com o usuário;

   – Formatação de texto;

   – Cópia de documento;

• Solução com 3 processos X Solução com 3 threads;
   – Processos não compartilham memória (documento
     que esta sendo editado);
Threads - Exemplo de Uso
Escalonamento
Escalonamento
Escalonamento
Threads
Threads
Threads
Obrigado

Más contenido relacionado

La actualidad más candente

Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09Norton Trevisan Roman
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11Norton Trevisan Roman
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamentoBruno Rick
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUAlexandre Duarte
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Testes de Performance - Drupal camp Florianópolis
Testes de Performance - Drupal camp FlorianópolisTestes de Performance - Drupal camp Florianópolis
Testes de Performance - Drupal camp FlorianópolisHandrus Nogueira
 

La actualidad más candente (20)

Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07
 
Processos
ProcessosProcessos
Processos
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
Sistemas operacionais 04
Sistemas operacionais   04Sistemas operacionais   04
Sistemas operacionais 04
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Testes de Performance - Drupal camp Florianópolis
Testes de Performance - Drupal camp FlorianópolisTestes de Performance - Drupal camp Florianópolis
Testes de Performance - Drupal camp Florianópolis
 

Destacado

Linux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosLinux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosFrederico Madeira
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosRobson Ferreira
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesMauro Duarte
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesMauro Duarte
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesMauro Duarte
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosLuiz Arthur
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesMauro Duarte
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadoresMauro Duarte
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos BásicosMauro Duarte
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata Mauro Duarte
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06R D
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídiasMauro Duarte
 
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
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Gerenciamento de Processos no Linux
Gerenciamento de Processos no LinuxGerenciamento de Processos no Linux
Gerenciamento de Processos no LinuxWillian Costa
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockWilliams Gomes da Silva
 

Destacado (20)

Linux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosLinux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de Processos
 
Os pássaros
Os pássarosOs pássaros
Os pássaros
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril Borges
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril Borges
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril Borges
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril Borges
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadores
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06
 
Básico PHP: Introdução HTML
Básico PHP: Introdução HTMLBásico PHP: Introdução HTML
Básico PHP: Introdução HTML
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias
 
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
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Gerenciamento de Processos no Linux
Gerenciamento de Processos no LinuxGerenciamento de Processos no Linux
Gerenciamento de Processos no Linux
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 

Similar a Gerenciamento de Processos e Threads

Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional Rodrigo Rodrigues
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrênciaPaulo Fonseca
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisIsaac Vieira
 
Apresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSApresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSLucasNogueira565696
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativosMaria194536
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 
Sismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para PesquisaSismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para PesquisaCentro de Sismologia - USP
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionaisSuperTec1
 
Lecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptxLecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptxcassamo2
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
Sistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosSistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosMauro Duarte
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iiipaulocsm
 

Similar a Gerenciamento de Processos e Threads (20)

Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
02 so
02 so02 so
02 so
 
Apresentacao Aula02 So
Apresentacao Aula02 SoApresentacao Aula02 So
Apresentacao Aula02 So
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrência
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Apresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSApresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OS
 
Processos (Linux)
Processos (Linux)Processos (Linux)
Processos (Linux)
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
F oc aula_04
F oc aula_04F oc aula_04
F oc aula_04
 
Sismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para PesquisaSismologia USP: Infra Estutura Computacional para Pesquisa
Sismologia USP: Infra Estutura Computacional para Pesquisa
 
Sistema Operativo 2
Sistema Operativo 2Sistema Operativo 2
Sistema Operativo 2
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
Lecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptxLecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptx
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Sistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosSistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - Processos
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iii
 

Más de Humberto Bruno Pontes Silva (20)

Confraria samba choro
Confraria samba choroConfraria samba choro
Confraria samba choro
 
Accountability Corbit Overview 06262007
Accountability Corbit Overview 06262007Accountability Corbit Overview 06262007
Accountability Corbit Overview 06262007
 
Aula08 Sc
Aula08 ScAula08 Sc
Aula08 Sc
 
Ruy C Pq D Cbc 1 2007 10 29
Ruy   C Pq D   Cbc 1 2007 10 29Ruy   C Pq D   Cbc 1 2007 10 29
Ruy C Pq D Cbc 1 2007 10 29
 
Palestra Daniel Dias1
Palestra Daniel Dias1Palestra Daniel Dias1
Palestra Daniel Dias1
 
Portuguese Scrum
Portuguese ScrumPortuguese Scrum
Portuguese Scrum
 
RegulaçãO3
RegulaçãO3RegulaçãO3
RegulaçãO3
 
Certificados Digitais
Certificados DigitaisCertificados Digitais
Certificados Digitais
 
Backdoors
BackdoorsBackdoors
Backdoors
 
Ch06
Ch06Ch06
Ch06
 
2contecsi B
2contecsi B2contecsi B
2contecsi B
 
Spin72
Spin72Spin72
Spin72
 
Spin72
Spin72Spin72
Spin72
 
Licitacoes
LicitacoesLicitacoes
Licitacoes
 
10 P R O C E S S O N O T C U
10  P R O C E S S O  N O  T C U10  P R O C E S S O  N O  T C U
10 P R O C E S S O N O T C U
 
Secex Sc Conhecendo O Tcu
Secex Sc    Conhecendo O TcuSecex Sc    Conhecendo O Tcu
Secex Sc Conhecendo O Tcu
 
Ch10
Ch10Ch10
Ch10
 
Ch03
Ch03Ch03
Ch03
 
Ch04
Ch04Ch04
Ch04
 
Ch05
Ch05Ch05
Ch05
 

Gerenciamento de Processos e Threads

  • 1. Sistemas Operacionais – Aula 4 Gerenciamento de Processos e Threads Baseado no Livro Sistemas Operacionais Modernos Andrew S. Tanenbaum
  • 2. Roteiro - Gerenciamento de Processos e Threads • Processos; • Threads; • Escalonamento;
  • 3. Processos • Vários computadores modernos são capazes de fazer várias coisas ao mesmo tempo; • Como os computadores conseguem fazer isso quando possuem apenas uma CPU ? Pseudoparalelismo Processos Seqüenciais
  • 4. Processo – O Modelo de Processo • Modelo de Processos -> Todos os softwares que podem ser executados em um computador são organizados em vários processos seqüenciais (ou simplesmente processo). • Processos – Programa em execução; – Valores atuais do contador de programa (CPU Virtual); – Registradores; – Variáveis (dados do programa);
  • 5. Processos – Criação de Processos • Os processos são criados quando: – Se inicia o sistema: • Processos de segundo plano: servidores, messenger, impressão. (daemons) • Processos de primeiro plano: usados para interagir com usuários (humanos). – Se executa uma chamada ao sistema de criação de processo; – Solicitação do usuário para se criar um novo processo; – Início de um Job em lote;
  • 6. Processos – Término de Processos • Condições que levam a término do processo: – Saída normal (voluntária); – Saída por erro (voluntária); – Erro fatal (involuntária); – Cancelamento por um outro processo (involuntário);
  • 8. Processos - Estados de Processos • Possíveis estados de um processo: – Em execução; – Bloqueado; – Pronto para executar;
  • 9. Processos - Implementação de Processos • Sistema operacional mantém uma tabela chamada de tabela de processos;
  • 10. Processos – Tratamento de Interrupção 1. A cada E/S existe uma posição de memória com o endereço de procedimento a ser executado; 2. O usuário digita uma tecla. O hardware coloca no barramento a interrupção do E/S teclado; 3. Imediatamente o contador de programas é colocado na pilha pelo HW de interrupção juntamente com outras informações necessárias; 4. Então o contador de programas assume o endereço de procedimento apontado pela interrupção teclado;
  • 11. Processos – Tratamento de Interrupção 5. Com o CP (PC) apontando para o endereço do procedimento certo a CPU executa o procedimento que quase sempre começa salvando os registradores atuais do processo anterior; 6. Quando o procedimento é terminado, o escalonador volta em ação para colocar outro processo a disposição da CPU Resumidamente:
  • 12. Modelo de Threads • Processos ->Espaço de endereçamento protegido com um único fluxo de controle; – Agrupamento de recursos (dados, arquivos, processos filhos); – Código de execução; – Execução única (thread de execução); • Threads -> Um espaço de endereçamento e múltiplos fluxos de controle; – Recursos particulares (CP, registradores, pilha); – Recursos compartilhados (espaço de endereço – variáveis globais, arquivos e etc); – Múltiplas execuções no mesmo ambiente do processo – com certa independência entre as execuções; – Unidade a ser escalonada
  • 18. Threads - Vantagens • É mais fácil criar uma thread do que um processo (cerca de 100 vezes mais rápido); • É mais rápido terminar uma thread do que um processo; • É mais rápido chavear entre threads de um mesmo processo; • Threads podem se comunicar sem invocar nenhuma primitiva ou dispositivo do SO, jáque compartilham memória e arquivos de um mesmo processo;
  • 19. Threads - Desvantagens • Suspender um processo implica em suspender todas as threads deste processo já que compartilham o mesmo espaço de endereçamento; • O término de um processo implica no término de todas as threads deste processo;
  • 20. Threads – Exemplo de Uso • Aplicação: Processador de Texto • Uso de 3 Threads: – Interação com o usuário; – Formatação de texto; – Cópia de documento; • Solução com 3 processos X Solução com 3 threads; – Processos não compartilham memória (documento que esta sendo editado);