Processos e Escalonamento
Processos e
Escalonamento
de Processos
20/09/2012
1
Processos
O Modelo de Processo
Considere a multiprogramação de 4 programas:
a)
b)
c)
2
O contador de programa (PC) alternadamente assume endereços de cada programa
Conceitualmente são 4 processos sequenciais independentes
Somente um programa está ativo a cada momento
Criação de Processos
Um sistema pode executar uma conjunto muito grande de processos simultâneos/concorrentes.
Principais eventos que levam à criação de processos:
1. Ao iniciar o sistema operacional
2. Um processo pai cria um novo processo
(chamada fork())
•
•
3
Usuário executa comando/ inicia programa através da shell Início de um programa e em momento prédeterminado (através do cron daemon)
Término de Processos
Condições que levam ao término de processos: 1.
2.
3.
4.
4
Saída normal (voluntária)
Saída por erro (voluntária)
Erro fatal (involuntário)
Cancelamento por um outro processo
(involuntário), através de um sinal.
Hierarquias de Processos
Processo pai cria um processo filho, processo filho pode criar seu próprio processo, etc.
Forma-se uma hierarquia de processos
UNIX chama isso de “grupo de processos”
Windows não possui o conceito de hierarquia de processos
Todos os processos são criados no mesmo nível
5
Estados de Processos
Ao longo de sua execução, um processo pode assumir , os seguintes estados: new: processo foi criado. running: instruções sendo executadas. waiting: Processo aguarda a ocorrência de algum sinal/interrupção. ready: Processo aguarda alocação do processador. terminated: Processo terminou a sua execução.
6
Implementação de Processos
A cada processo estão associadas informações sobre o seu estado de execução (o seu contexto de execução), Estas ficam armazenadas em uma entrada da Tabela de Processos (ou Process Control Block)
7
Fig.: Campos da entrada de uma tabela de processos
Process