Buscar

3 Processos

Prévia do material em texto

Sistemas Operacionais
PROCESSOS E THREADS
Ana Cristina A. Oliveira Dantas
ana.oliveira@ifpb.edu.br
IFPB – Instituto Federal da Paraíba
Campus Campina Grande
Eixo Temático
Processos
Threads
Comunicação interprocessos
Escalonamento
PROCESSOS E THREADS 2
Processos
PROCESSOS E THREADS 3
Definição
“Um programa em execução”
Um processo tem seu próprio espaço de endereço, que consiste em:
◦ Região de texto
◦ Armazena o código que o processador executa
◦ Região de dados
◦ Armazena variáveis e memória alocada dinamicamente
◦ Região de pilha
◦ Armazena instruções e variáveis locais para chamadas ativas ao procedimento
PROCESSOS E THREADS 4
Introdução
 Os computadores executam várias operações ao mesmo tempo
 Compilar um programa, enviar um arquivo para a impressora, exibir uma página Web, reproduzir 
músicas e receber mensagens de correio eletrônico
 Os processos permitem que os sistemas executem e monitorem atividades simultâneas.
 Os processos transitam entre estados de processo.
 Os sistemas operacionais executam operações sobre os processos
 Criar, destruir, suspender, retomar e acordar
PROCESSOS E THREADS 5
Processos
O Modelo de Processo
 (a) Multiprogramação de quatro programas
 (b) Modelo conceitual de 4 processos sequenciais, independentes
 (c) Somente um programa está ativo a cada momento
PROCESSOS E THREADS 6
Criação de Processos
Principais eventos que levam à criação de processos
1. Início do sistema
2. Execução de chamada ao sistema de criação de 
processos
3. Solicitação do usuário para criar um novo 
processo
4. Início de um job em lote
PROCESSOS E THREADS 7
Término de Processos
Condições que levam ao término de processos
1. Saída normal (voluntária)
2. Saída por erro (voluntária)
3. Erro fatal (involuntário)
4. Cancelamento por um outro processo (involuntário)
PROCESSOS E THREADS 8
Hierarquias de Processos
Pai cria um processo filho, processo filho pode criar seu próprio processo
Formam uma hierarquia
◦ UNIX chama isso de “grupo de processos”
Windows não possui o conceito de hierarquia de processos
◦ Todos os processos são criados iguais
PROCESSOS E THREADS 9
Hierarquia de Processos no Linux
PROCESSOS E THREADS 10
Estados de Processos: Ciclo de Vida
Estado “em execução”
◦ O processo está sendo executado em um processador
Estado “de pronto”
◦ O processo poderia ser executado em um processador se houvesse algum 
disponível
Estado “bloqueado”
◦ O processo está aguardando a ocorrência de algum evento para prosseguir
PROCESSOS E THREADS
O SO mantém uma lista de prontos e uma lista de 
bloqueados para armazenar referências a processos 
que não estão sendo executados.
11
Estados de Processos
Possíveis estados de processos
em execução
bloqueado
pronto
Transições entre os estados
PROCESSOS E THREADS 12
Sobre os Estados de Processo
Despacho
◦ Designar um processador ao primeiro processo da lista de prontos é denominado
Temporizador de CPU ou quantum
◦ Intervalo de tempo específico para que um processo seja executado
Multitarefa cooperativa
◦ Permite que todo processo seja executado até o fim.
PROCESSOS E THREADS 13
Sobre os Estados de Transição
1. Quando um processo é despachado, ele transita de pronto para em execução
2. Quando o quantum de um processo expira, ele transita de em execução para pronto
3. Quando um processo é bloqueado, ele transita de em execução para bloqueado
4. Quando um evento ocorre, ele transita de bloqueado para pronto
PROCESSOS E THREADS 14
Estados de Processos
Camada mais inferior de um SO estruturado por 
processos
◦ trata interrupções, escalonamento
PROCESSOS E THREADS 15
Suspender e Retomar Processos
 Suspender
 O processo é retirado indefinidamente da disputa por tempo em um processador, sem ser destruído
 É útil para detectar ameaças à segurança
 Pode ser iniciado pelo processo que está sendo suspenso ou por outro processo
 O processo suspenso precisa ser retomado por outro processo
 Existem dois estados de suspenso:
 Suspenso-pronto
 Suspenso-bloqueado
PROCESSOS E THREADS 16
Transições de Estado com Suspensão e 
Retomada
PROCESSOS E THREADS
Pronto Bloqueado
Em 
execução
Suspenso-
bloqueado
Suspenso-
pronto
Conclusão de E/S ou
conclusão de evento
Estados
ativos
Estados
inativos
R
e
to
m
a
r
Conclusão de E/S ou
conclusão de evento
S
u
s
p
e
n
d
e
r
S
u
s
p
e
n
d
e
r
R
e
to
m
a
r
17
Gerência de Processos
 Criar processos
 Destruir processos
 Suspender processos
 Retomar processos
 Mudar a prioridade de um processo
 Bloquear processos
 Acordar (ativar) processos
 Despachar processos
 Capacitar os processos à comunicação interprocessos (IPC)
PROCESSOS E THREADS 18
Bloco de Controle de Processo (PCB) ou 
Descritor de Processo
 PCBs
 Mantêm as informações que o sistema operacional precisa para gerenciar o processo
 Tabela de processos
 Mantém apontadores para cada PCB do processo no âmbito total do sistema ou por usuário
 Permite acesso rápido aos PCBs
 Quando um processo é encerrado, a tabela de processos retira o processo da tabela e disponibiliza 
todos os seus recursos
PROCESSOS E THREADS 19
Tabela de Processos e PCBs
PROCESSOS E THREADS 20
Implementação de Processos
PROCESSOS E THREADS
Campos da entrada de uma tabela de processos
21
Chaveamento de Contexto
 Interrompe um processo em execução e começa a executar um processo previamente pronto
 Salva o contexto de execução do processo em execução no PCB desse processo
 Carrega o contexto de execução anterior do processo pronto em seu PCB correspondente
 Transparente aos processos
 A CPU não pode realizar nenhuma computação “útil” neste momento
 Deve-se diminuir, portanto, o tempo de chaveamento de contexto
PROCESSOS E THREADS 22
Chaveamento de Contexto
PROCESSOS E THREADS 23
Interrupções
 Habilitam o software a responder a sinais do hardware
 Podem ser iniciadas por um processo em execução:
 É denominada desvio (trap)
 É considerada síncrona em relação à operação do processo
 Ex.: uma interrupção é lançada quando um processo tenta realizar uma ação ilegal, como dividir por 
zero ou referir-se a uma região de memória protegida
 Podem ser iniciadas por algum evento relacionado ou não ao processo em execução:
 Nesse caso, é considerada assíncrona em relação à operação do processo
 Exemplo: pressionar uma tecla ou mover o mouse
PROCESSOS E THREADS 24
Interrupções
A sondagem (polling) é uma abordagem alternativa
◦ O processador solicita repetidamente o status de cada dispositivo
◦ Visto que a complexidade do sistema aumenta, o esforço também aumenta
PROCESSOS E THREADS 25
Bibliografia
ANDREW S. TANENBAUM. Sistemas Operacionais Modernos. Editora Prentice-Hall, 2ª Edição, 
2003. ISBN: 8587918575
◦ Capítulo 2: Processos e Threads
DEITEL & CHOFFNES. Sistemas Operacionais. Editora Prentice-Hall, 3ª Edição, 2005. ISBN: 
8576050110.
◦ Capítulo 3: Conceito de processos
PROCESSOS E THREADS 26

Continue navegando