-
O Short Term Scheduler é responsável por retirar os processos da Ready Queue e repassa-los para o Dispatcher alocar recusos de CPU para eles.
-
Em sistemas multicore, o balanceamento pode ser mantido distribuindo os vários processos para os vários cores da CPU, através de dois algoritmos distintos: Migração por Expulsão: Uma tarefa fica constantemente buscando por desequilibrios entre processadores e quando encontra, tenta equilibrar as cargas. Migração por Abstração: Quando um processador ocioso extrai uma tarefa que está esperando em um processador ocupado.
-
Utilização de CPU: Tempo que a CPU permanece em uso (ocupada). Throughtput: Número de prcessos executados em um intervalode tempo. Tempo de espera: Total de tempo que o processo permanece na ready queue.
-
FCFS (First Come First Served): Um fila FIFO, para organizar os processos com base em suas chegadas. "O primeiro a chegar é o promiero a sair"; SJF (Shortest Job First): Os processos que utilizam a CPU primeiro são os primeiros processos a serem executados, o que resolta em um menor tempo médio de espera. AKA "Os menores primeiro!"; PS (Priority Scheduling): Os processos são executados com base em suas primoridades e em caso de dois ou mais processos possuirem a mesma prioridade, o mais velho é executado primiero. Like a Priority Queue; RR (Round Robin): Os processos são organizados como numa lista circular e executados em sua ordem de chegada. No entanto, como RR é um scheduler preemptivo, cada processo é executado por apenas um QUANTUM de tempo, após esse QUANTUM de tempo, o processo seguinte passa a ser executado;
-
Processos CPU-Bound são processos que utilizam muito a CPU (longo tempo de CPU) e Processos IO-Bound são processos que utilizam muito IOs (curto tempo de CPU).
-
O Dispatcher é responsávem por dar controle da CPU para um processo selecionado pelo Short Term Scheduler. Sua função envolvem:
- Troca de Contexto (Swithching context);
- Troca para o mode de usuário (Switching to user mode);
- Altera para localização correta do programa (user mode) para continuar a execução.
-
FCFS:
0 2 4 6 8 10 12 14 16 18 20 22 ----+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-- P1 |#############################| P2 |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|##| P3 |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|#####| P4 |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|##| P5 |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|#############| == Legenda == # - Em execução. $ - Em espera.
Tempo médio de espera: $$ \frac{0+10+11+13+14}5 = 9,6 $$ SJF:
0 2 4 6 8 10 12 14 16 18 20 22 ----+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-- P1 |$$$$$$$$$$$$$$$$$$$$$$$$$$|#############################| P2 |##| P3 |$$$$$|#####| P4 |$$|##| P5 |$$$$$$$$$$$|##############| == Legenda == # - Em execução $ - Em espera
Tempo médio de espera: $$ \frac{9+0+2+1+4}5 = 3,2 $$ PS:
0 2 4 6 8 10 12 14 16 18 20 22 ----+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-- P1 |$$$$$$$$$$$$$$$$$|#############################| P2 |##| P3 |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|#####| P4 |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$|##| P5 |$$|###########| == Legenda == # - Em execução $ - Em espera
Tempo médio de espera: $$ \frac{6+0+16+18+1}5 = 8,2 $$ RR:
0 2 4 6 8 10 12 14 16 18 20 22 ----+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-- P1 |##|$$$$$$$$$$$|##|$$$$$|##|$$|##|$$|##|$$|##############| P2 |$$|##| P3 |$$$$$|##|$$$$$$$$|##| P4 |$$$$$$$$|##| P5 |$$$$$$$$$$$|##|$$$$$|##|$$|##|$$|##|$$|##| == Legenda == # - Em execução $ - Em espera
Tempo médio de espera: $$ \frac{9 + 1 + 5 + 3 + 9}5 = 5,4 $$
-
PS Preemptivo:
0 2 4 6 8 10 12 14 16 18 20 22 ----+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-- P1 |#####|&&&&&&&&|#################| P2 | |&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|##############| P3 | |########| == Legenda == # - Em execução $ - Em espera
Tempo médio de espera: $$ \frac{3+10+0}3 = 4,333 $$ PS Não-Preemptivo:
0 2 4 6 8 10 12 14 16 18 20 22 ----+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-- P1 |########################| P2 | |&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|##############| P3 | |&&&&&&&&&&&&&&&&&|########| == Legenda == # - Em execução $ - Em espera
Tempo médio de espera: $$ \frac{0+10+6}3 = 5,333 $$
-
A afinidade de um processo com o processador é quando o processo busca ser executado sempre no mesmo processador/núcleo, a fim de aproveitar dados deixados no cache em momentos anteriores. A finidade pode ser de dois tipos: Leve: Quando o SO busca exeutar o processo sempre no mesmo processador/núcleo. Forte: Quando o SO obriga um processo a ser executado sempre no mesmo processador/nucleo, por escolha ou não do usuário. (Como ocorre no linux).
-
Memory Stall, é o tempo que o processador gasta esperando os dados da memória ficarem disponíveis.
Last active
April 3, 2017 16:19
-
-
Save VitorDiToro/d17dd93773f2246a56b7469d20aa3898 to your computer and use it in GitHub Desktop.
5º bagúio do renzo
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment