INSTITUTO FEDERAL DA BAHIA
   Igor Leal
   Samuel Lacerda
   Silvino Alves
   Ubiratan Ferreira
   Wellington Alcântara
   Processos
   Threads
   Comunicação entre Processos
   Escalonamento
   Problemas clássicos de IPC
   Pesquisas em Processos e Threads
   Resumo
   O que são?
   Modelos de Processos
   Criação
   Término
   Estados
   Implementação
   Processos são softwares que executam
    alguma ação e que podem ser controlados de
    alguma maneira, seja pelo usuário, pelo
    aplicativo correspondente ou pelo sistema
    operacional.
(a)   Multiprogramação quatro programas
(b)   Modelo conceitual de 4 processos
      seqüenciais independentes
(c)   Um programa está ativo a cada momento
Eventos que levam a criação de processos:
 Início do sistema.
 Execução de chamada de criação de processo
  por um processo em execução.
 Requisição do usuário para criar um novo
  processo.
 Início de uma tarefa em lote (batch job).
Condições que levam ao término dos
  processos:
 Saída normal (voluntária).
 Saída por erro (voluntária).
 Erro fatal (involuntário).
 Cancelamento por outro processo
  (involuntário).
   Pai cria um processo filho, e o filho pode criar
    outros processos.
   Formam uma Hierarquia.
   O Windows não possui o conceito de
    hierarquia de processos.
     -Todos processos são iguais.
Três estados de um processo:
1. Em execução.
2. Pronto.
3. Bloqueado.
   Campos de um processo típico de entrada na
    tabela.
   Esqueleto do que o nível mais baixo do
    sistema operacional faz quando ocorre uma
    interrupção.
   O que são?
   Modelos de Threads
   Uso
   Modo espaço do Usuário
   Modo kernel
   Ativação do Escalonador
Threads ou Encadeamento de execução é uma forma
  de um processo dividir a si mesmo em duas ou mais
  tarefas     que      podem       ser    executadas
  concorrentemente. Em UNIX (Linux), um thread:
 Existe dentro de um processo e usa os recursos do
  processo;
 Tem o seu próprio fluxo de controle independente
  enquanto existir o processo pai e o SO dá suporte a
  ele;
 Pode compartilhar os recursos do processo com
  outros threads igualmente independentes;
 Morre se o seu processo pai morrer.
Para um programador o conceito de
procedimento ou função que roda
independente pode ser a melhor descrição de
uma thread.
(a)   Três processos cada um com um processo
(b)   Um processo com três threads
   Itens compartilhados por threads.
   Itens privativos de cada thread.
Um processador de texto com três threads.
No modo usuário são implementados pela aplicação.
Para isso, deve existir uma biblioteca de rotinas que
possibilite à aplicação realizar tarefas como
criação/eliminação,troca de mensagens e uma política
de escalonamento.
Threads em modo kernel são implementados d
iretamente pelo núcleo do sistema
operacional, através de chamadas a rotinas do
sistema que oferecem todas as funções de
gerenciamento e sincronização.
   Threads do usuário sobre as do kernel.
   Objetivo -> imitar as funcionalidades dos threads em
    modo kernel.
   Evitar transações entre kernel->usuário desnecessárias.
   O modo kernel cria processadores virtuais para cada
    thread.
   Problema -> Baseia se fundamentalmente nos upcall ( o
    modo kernel chama procedimentos no espaço do
    usuário).
  Cria um novo thread para tratar uma mensagem que
   chega(exemplo: requisição de serviços.)
(a) Antes da mensagem.
(b) Depois da mensagem chegar.

Processos e threads

  • 1.
  • 2.
    Igor Leal  Samuel Lacerda  Silvino Alves  Ubiratan Ferreira  Wellington Alcântara
  • 3.
    Processos  Threads  Comunicação entre Processos  Escalonamento  Problemas clássicos de IPC  Pesquisas em Processos e Threads  Resumo
  • 4.
    O que são?  Modelos de Processos  Criação  Término  Estados  Implementação
  • 5.
    Processos são softwares que executam alguma ação e que podem ser controlados de alguma maneira, seja pelo usuário, pelo aplicativo correspondente ou pelo sistema operacional.
  • 6.
    (a) Multiprogramação quatro programas (b) Modelo conceitual de 4 processos seqüenciais independentes (c) Um programa está ativo a cada momento
  • 7.
    Eventos que levama criação de processos:  Início do sistema.  Execução de chamada de criação de processo por um processo em execução.  Requisição do usuário para criar um novo processo.  Início de uma tarefa em lote (batch job).
  • 8.
    Condições que levamao término dos processos:  Saída normal (voluntária).  Saída por erro (voluntária).  Erro fatal (involuntário).  Cancelamento por outro processo (involuntário).
  • 9.
    Pai cria um processo filho, e o filho pode criar outros processos.  Formam uma Hierarquia.  O Windows não possui o conceito de hierarquia de processos. -Todos processos são iguais.
  • 10.
    Três estados deum processo: 1. Em execução. 2. Pronto. 3. Bloqueado.
  • 11.
    Campos de um processo típico de entrada na tabela.
  • 12.
    Esqueleto do que o nível mais baixo do sistema operacional faz quando ocorre uma interrupção.
  • 13.
    O que são?  Modelos de Threads  Uso  Modo espaço do Usuário  Modo kernel  Ativação do Escalonador
  • 14.
    Threads ou Encadeamentode execução é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. Em UNIX (Linux), um thread:  Existe dentro de um processo e usa os recursos do processo;  Tem o seu próprio fluxo de controle independente enquanto existir o processo pai e o SO dá suporte a ele;  Pode compartilhar os recursos do processo com outros threads igualmente independentes;  Morre se o seu processo pai morrer.
  • 15.
    Para um programadoro conceito de procedimento ou função que roda independente pode ser a melhor descrição de uma thread.
  • 16.
    (a) Três processos cada um com um processo (b) Um processo com três threads
  • 17.
    Itens compartilhados por threads.  Itens privativos de cada thread.
  • 18.
    Um processador detexto com três threads.
  • 19.
    No modo usuáriosão implementados pela aplicação. Para isso, deve existir uma biblioteca de rotinas que possibilite à aplicação realizar tarefas como criação/eliminação,troca de mensagens e uma política de escalonamento.
  • 20.
    Threads em modokernel são implementados d iretamente pelo núcleo do sistema operacional, através de chamadas a rotinas do sistema que oferecem todas as funções de gerenciamento e sincronização.
  • 21.
    Threads do usuário sobre as do kernel.
  • 22.
    Objetivo -> imitar as funcionalidades dos threads em modo kernel.  Evitar transações entre kernel->usuário desnecessárias.  O modo kernel cria processadores virtuais para cada thread.  Problema -> Baseia se fundamentalmente nos upcall ( o modo kernel chama procedimentos no espaço do usuário).
  • 23.
     Criaum novo thread para tratar uma mensagem que chega(exemplo: requisição de serviços.) (a) Antes da mensagem. (b) Depois da mensagem chegar.