O documento discute processos e threads no sistema operacional. Aborda conceitos como processos, threads, comunicação entre processos, estados de processos e implementação de processos e threads no kernel.
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.
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.
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.