02 - Gestão de Processos II
02 - Gestão de Processos II
02 - Gestão de Processos II
TECNOLOGIA
LICENCIATURA EM: ENGENHARIA INFORMÁTICA DE
GESTÃO
SISTEMAS OPERATIVOS
Gestão de Processos
Se a memória não for modificada, ambos podem reaproveitar o mesmo dado em vez
de fazer cópias desnecessárias e só coisas que o segundo processo começa a gravar
começa a usar mais memória e fica invisível ao processo original e vice-versa.
Trocas de Contexto.
1. Despachante (Dispatcher):
a) Armazena e recupera o contexto;
b) Actualiza as informações no BCP;
c) Processo relativamente rápido.
2. Escalonador (Scheduler):
a) Escolhe a próxima tarefa a receber o processador;
b) Parte mais demorada.
Quando o Escalonador é chamado?
1. Preemptivo:
a) Quando um processo pode, por algum motivo, perder seu uso da
CPU;
b) Provoca uma interrupção forçada de um processo para que outro
possa usar a CPU.
2. Não preemptivo:
a) Permite que o processo sendo executado continue sendo executado.
CONTINUA…
Algoritmos de Escalonamento
1. Não preemptivo;
2. Processos são executados na CPU seguindo a ordem de requisição
chegada;
3. Quanto mais cedo chegam, mais cedo são processados
4. Fácil de entender e programar;
Desvantagem:
Ineficiente quando há processos que demoram na sua execução.
Menor Tarefa Primeiro (Shortest Job First)
1. Não preemptivo;
2. Deve-se prever o tempo de execução do processo;
3. Menor processo da lista é executado primeiro;
4. Tempo médio
Desvantagens:
a) Todos os processos precisam ser conhecidos de antemão.
b) Se jobs (tarefas) curtas começarem a chegar, as tarefas longas podem
demorar a ser executados.
O Menor Tempo Restante será o
Seguinte (Shortest Remaining Time Next)
1. Preemptivo;
2. Versão preemptiva do MP;
3. Processos com menor tempo de execução são executados
primeiro;
4. Se um processo novo chega e seu tempo de execução é
menor do que o processo corrente na CPU, a mesma
suspende o processo corrente e executa o processo que
acabou de chegar.
Shortest Remaining Time Next
Desvantagem:
a) Processos que consomem mais tempo podem demorar muito
para serem finalizados se muitos processos pequenos
chegarem (inanição ou starvation)
b) Excepto que, pela preempção no SRTN, o processo, mesmo
rodando, seja interrompido.
Algoritmos de Escalonamento em Sistemas
Interactivos
1. Rodízio;
2. Prioridade;
3. Multilevel Queue Scheduling;
4. Menor Processo é o Próximo (Shortest Process Next);
5. Garantido;
6. Loteria (Lottery);
7. Justa-Partilha (Fair-Share).
Rodízio (Round Robin)
1. Problema:
Tempo de chaveamento de processos;
2. Dilema: Quantum:
Se for muito curto, ocorrem muitas trocas diminuindo a
eficiência da CPU;
Se for muito longo, o tempo de resposta é comprometido.
Prioridade
1. Usuário 1 → A, B, C, D
2. Usuário 2 → E
3. Foi prometido 50% da CPU a cada um, e foi usado Round-
Robin:
A, E, B, E, C, E, D, E, A, E, …
4. Se 2/3 devem ir ao usuario 1:
A, B, E, C, D, E, A, B, E, …
Algoritmos de Escalonamento de Tempo-Real
1. Tipos de STR:
1. Hard Real Time: atrasos não são tolerados;
Aviões, usinas nucleares, hospitais;
2. Soft Real Time: atrasos ocasionais são tolerados;
Bancos, Multimídia;
2. Para obter comportamento em tempo real:
- Programas são divididos em vários processos;
- Facilitar a definição do deadline de cada processo.
Algoritmos de Escalonamento de Tempo-Real