Algoritmos de escalonamento Flashcards
Qual é a decisão mais importante do escalonador?
Quando intervém na alteração do processo que está em CPU.
Os algoritmos podem ser?
Não preemptivo: depois do CPU ser atribuído a um processo, outro processo só poder ser colocado em execução quando o processo sai de CPU voluntariamente.
Preemptivo: escolhe um processo para ser executado e dá-lhe um tempo máximo de CPU, chamado quantum. Utiliza o relógio do CPU e os sinais gerados para saber quando interromper o processo. Mais viável.
Quais são as considerações importantes nos algoritmos de escalonamento?
- Timming: controlar o tempo que os processos ficam no CPU e se são executados na frequência correta.
- Fairness: dar aos processos a partilha justa, no entanto diferentes categorias de processos têm prioridades diferentes.
- Resource Starvation: Acontece quando os recursos compartilhados são indisponíveis por longos períodos por “ganância” de processos.
- Processor Afinity: Quando existem múltiplos processadores, o escalonador tem que gerir que processo irá ser executado e em que core.
Que algoritmos de escalonamento conhece?
Round Robin, Multilevel Queue, Priority Scheduling
Indique o Round-Robin.
- Todos os processos têm igual importância.
- É atribuido o mesmo quantum de tempo.
- O escalonador tem de manter uma lista de processos pela ordem que vão sendo executados.
- A complexidade está em saber o quantum de tempo a utilizar: Se for muito baixo, a comutação entre processos diminui a eficiência do CPU; Se for muito alto, os processos interativos não terão a resposta desejada.
- Pode haver overhead substancial
- Quase impossível de haver resource starvation
Indique o multilevel queue.
Múltiplas listas agrupam processos com características em comum.
São estabelecidas prioridades para cada lista
Indique o Priority Scheduling.
São atribuídos diferentes prioridades aos processos, pois existem uns mais importantes que outros.
As prioridades podem ser atualizadas dinamicamente.
Também pode ser alterada pelos utilizadores.