Processos
2. Processos
1
Conceito de Processo
Processo
Entidade activa, que corresponde a um programa em execução Cada processo tem um espaço de endereçamento próprio A gestão de processos é da responsabilidade do sistema operativo, que utiliza estruturas de dados
(process tables) que descrevem o contexto de execução de cada processo
O próprio sistema operativo é também um conjunto de vários processos
Programa
Sequência de instruções sem actividade própria – não confundir com processo
2
1
6/2/2009
Multi-programação
Num sistema multi-programado, mesmo que só exista um processador é possível vários processos estarem activos simultaneamente
Contudo, em cada instante temporal, apenas um deles pode utilizar o processador
A esta ilusão de vários processos correrem aparentemente em paralelo, dá-se o nome de pseudo-paralelismo 3
Multi-programação
Não devem ser feitas assunções em relação à ordem de comutação do processador, devido a:
Existência de interrupções
Falta de recursos
Entrada de processos prioritários
Não-determinista
Depois de uma comutação do processador, o próximo processo a utilizá-lo é escolhido pelo sequenciador de processos do SO
4
2
6/2/2009
Multi-programação
Exemplo: 4 processos a correr
Memória principal
A
Comutações do CPU
B
C
D
A B
D C B A
Tempo de processamento
5
Multi-programação
Concorrência
Os vários processos “competem” entre si pela atenção do processador...
Cooperação
...mas também podem trabalhar em conjunto para a realização de tarefas mais complexas.
Esta cooperação exige ao SO a existência de mecanismos de sincronização e comunicação entre processos 6
3
6/2/2009
Estados de um Processo
Em Execução
O processo está a utilizar o processador
Executável
O processo está activo, mas está à espera de ter a atenção do processador, que nesse instante está dedicado a outro processo
Bloqueado
O processo está inactivo
à