Faculdade
4.1 Introdução aos Processos •Processo –Definição: É uma abstração do sistema operacional para representar as informações necessárias na execução de um programa (definição tradicional do UNIX); –É um programa em execução; –Conceitos relacionados: •programa - estático; •job - programa batch em execução; •tarefa (task) - unidade atômica de computação; •thread - processo leve (compartilha código). –Composto pelo código (seqüencial) e estados (registradores, memória, recursos). •Por que processos? –Simplicidade: permite várias operações independentes em um sistema; permite a decomposição de um processo em muitos; –Velocidade: se um processo bloqueia executa outro;
78
Sistemas Operacionais permite um uso mais eficiente do processador; –Segurança: permite associar diferentes direitos para cada processos
Gerenciamento de Processos processos diferentes; •em determinado instante apenas um processo detém a UCP; •ocorre uma rápida comutação entre processos.
79
•Alguns tipos de processos: –Interativos (Foreground): processos que necessitam de interação com o usuário; –Batch / Segundo Plano (Background - &): processos que
Processos A B C D
não necessitam de interação com o usuário; –Daemons: •Processos que executam constantemente em segundo plano e estão sempre disponíveis; •Normalmente realizam serviços do sistema. •Execução de Processos –É possível a execução de vários processos tanto em monoprocessadores como multiprocessadores;
tempo
Figura 4.1 Alguns processos em execução com timesharing
A tempo de troca de contexto
Processos
–Pseudoparalelismo (utlizando o timesharing): •permite que sistemas monoprocessados executem vários processos em um determinado intervalo de tempo; •UCP ao longo do tempo trabalha com vários
B
tempo
Figura 4.2 Tempo adicional da troca de contexto
80
Sistemas Operacionais
Gerenciamento de Processos –Novo (New): o processo está sendo criado;
81
–Paralelismo: