Documente Academic
Documente Profesional
Documente Cultură
Escalonamento de Processos
Plano da Aula
2
Componentes bsicos
Componentes do Sistema Gerncia de processos
Conceito escalonamento Tipos de escalonadores Critrios de rendimento Algoritmos de escalonamento Final multi-nvel
Objetivo:
Optmizar o rendimento dos recursos. Priorizar o acesso aos recursos disponiveis.
Escalonamento de processos:
Decidir sobre:
Qu trabalhos sero admitidos pelo sistema Qu processos sero mantidos na memria principal Qu processo utilizar a CPU quando ela estiver livre
Dispacher (despachador)
o mdulo que d controle da CPU para o processo selecionado pelo escalonador de curto prazo.
Troca de contexto Salvar contexto do processo que sai da cpu Restaurar contexto doprocesso que entra na cpu Reiniciar a execuo de processos
Alterar para estado pronto. Configurar par o ponto apropiado do programa
Troca de processos
P1
(1)
P2
Selecionar processo
Salvar contexto p1
Restaurar contexto p2
Reiniciar p2
(1) Finalizao tempo de execuo ou o processo se bloqueia espera de um recurso que necessita
Escalonador Despachador
Tipos processos
Do ponto de vista do escalonador os processos podem representar como uma sucesso de etapas: Etapas de CPU.
Processo esta executando instrues
Etapas de E/S.
Processo utiliza ou espera por E/S.
Inicio
Execuo processo
Fin 5 3 2 2 4
X y
Tipos de processos
processos intensivos em CPU as etapas de CPU so maiores que as de E/S.
processo CPU intensivo:
Tipos de processos
processos intensivos em CPU
as etapas de CPU so maiores que as de E/S.
CPU BOUND processo CPU intensivo:
5 1 7
13
14
15
Tempo de servio.
Tempo esperado para la finalizao do processo (CPU+E/S)
16
17
18
19
Apropiativos
SRT Por prioridades Turno rotativo (Round-Robin) Filas multi-nivel
20
Implementao:
A fila de processos prontos implementada mediante uma fila FIFO (First-In First-Out).
A 5
B 10
=
C 15 20 Tiempo
Utilizazcincpu =
TEsperamedio =
T Re tornomedio =
T Re torno A +T Re torno B +T Re torno C 7 + 9 + 10 = = 8,6 n procesos 3 7 + 9 + 10 T Re tornoN A+T Re tornoN B+T Re tornoN C 4 2 = 2,42 T Re tornoN medio = = 7 n procesos 3
Caractersticas FCFS
Simples de implementar Dependente da ordem de chegada dos processos. Por exemplo, se os processos chegassem em tempo 3, 2 y 0, teriamos:
CPU
TEspera =
0+0+3 =1 3
5 10 15 20 Tiempo Altos tempos de espera Tende a favorecer aos processos com muita carga de CPU, prejudicando aos processos intensivos de E/S
Implementao:
Ordena a fila de processos prontos em funo do tempo das seguientes etapas de CPU dos processos.
A 5
B 10 15 20 Tiempo
TEsperamedio =
T Re tornomedio =
T Re tornoN medio
Caractersticas SJF
Reduz o tempo de espera mdio Minimiza o efeito de priorizar processos do tipo cpu-bound difcil determinar a priori qual ser a durao da seguinte etapa de CPU dos processos.
Exercicio:
Realizar o escalonamento dos 3 processos seguintes utilizando o algoritmo de escalonamento SJF apropiativo ou SRT (Short Remaining Time).
Processo Processo A Proceso B Processo C Tempo de chegada 0 2 3 Etapas del proceso 7CPU 4CPU 2CPU
A B C 5
A 10 15 20 Tiempo
TEsperamedio =
TEspera A +TEspera B +TEspera C 6 + 2 + 0 = = 2,6 n procesos 3 T Re torno A +T Re torno B +T Re torno C 13 + 6 + 2 = =7 n procesos 3 T Re spuesta A +T Re spuesta B +T Re spuesta C 0 + 0 + 0 = =0 n procesos 3
13 + 6 + 2 7 4 2 = 1,45 3
T Re tornomedio =
T Re spuestamedio =
T Re tornoN medio
Implementao:
A fila de processos prontos ordenada pela prioridade dos processos.
Opces:
A Poltica pode ser apropriativa ou no. As prioridades podem ser definidas de forma interna (pelo SO) ou de forma externa (pelo usurio). Prioridades estticas dinmicas.
CPU
B 5
A 10
C 15 20 Tiempo
TEsperamedio =
TEspera A +TEspera B +TEspera C 4 + 0 + 8 = =4 n procesos 3 T Re torno A +T Re torno B +T Re torno C 11 + 4 + 10 T Re tornomedio = = = 8,33 n procesos 3 T Re spuesta A +T Re spuesta B +T Re spuesta C 0 + 0 + 8 T Re spuestamedio = = = 2,66 n procesos 3
ENVELHECIMENTO
Problema algoritmos baseados em prioridades:
A inanio dos processos com menor prioridade.
Soluo:
Envelhecimento da prioridade dos processos Peridicamente, a prioridade dos processos prontos e que no conseguem executar-se, incrementada.
Implementao:
Se requiere de un temporizador que cada quantum unidades de tiempo invoque al planificador.
Caractersticas:
Permite acotar el tiempo de respuesta de los processo. Algoritmo ideal para sistemas de tiempo compartido processos interactivos.
TEsperamedio =
T Re torno A +T Re torno B +T Re torno C 13 + 9 + 5 = = 8,33 n procesos 3 T Re spuesta A +T Re spuesta B +T Re spuesta C 0 + 0 + 1 T Re spuestamedio = = = 0,33 n procesos 3 13 + 9 + 5 T Re tornoN A+T Re tornoN B+T Re tornoN C 4 2 = 3,32 T Re tornoN medio = = 7 n procesos 3 T Re tornomedio =
Ejercicio:
Realizar la planificao de los 3 processos del ejemplo utilizando una algoritmo de planificao Round-Robin con quantum=3.
T ie m p o d e lleg a d a 0 2 3
B 5
A BA 10 15 20 Tiempo
TEsperamedio = T Re tornomedio =
TEspera A +TEspera B +TEspera C 6 + 5 + 3 = =5 n procesos 3 T Re torno A +T Re torno B +T Re torno C 13 + 9 + 5 = = 9,33 n procesos 3 T Re spuesta A +T Re spuesta B +T Re spuesta C 0 + 0 + 1 = = 1,33 n procesos 3
T Re spuestamedio =
% utilizacin (CC=0,25)
96% 96% 94% 81%
No hay un algoritmo que saque los mejores resultados en todas las mtricas. La eleco del algoritmo depende de las necesidades concretas del tipo de processo:
processos interactivos: Minimizar tiempo de respuesta. processos SO: Ejecuo prioritaria. processos por lotes: minimizar tiempo espera y maximizar rendimiento.
Ejercicio:
Realizar la planificao de los siguientes 3 processos utilizando los algoritmos:
a) Reparto de tiempo (round-robin) con quantum de 3 ciclos. b) Menor tiempo primero (SJF)
Soluo (Round-Robin):
0 1 2 3 4 5 6 7 8 9 10 11 12
A B C
E
. E .
E E W .
E .
E .
. E
. . E
. . E
E
. E E E W . W W .
E E F
E . .
13 14 15 16 17 18 19 20 21 22 23 24
. E W . E F
W W E E F
Tiempo de espera medio = (5+7+5)/3 = 5.66 ciclos Tiempo de respuesta medio = (3+0+0)/3 = 1 ciclos Tiempo de retorno medio = (16+15+14)/3 = 15 ciclos
Soluo (SJF):
0 1 2 3 4 5 6 7 8 9 10 11 12
1 2 3
E
E . .
E
E . .
E E W .
E . .
E .
E .
. . W . E E
E E
. . E
E
. E E E W . W W .
F
13 14 15 16 17 18 19 20 21 22 23 24
W W E E F . E F
Tiempo de espera medio = (4+6+8)/3 = 6 ciclos Tiempo de respuesta medio = (4+0+0)/3 = 1,33 ciclos Tiempo de retorno medio = (15+14+17)/3 = 15,33 ciclos
42
A fila ready (prontos) dividida em vrias filas, uma por cada classe de processos
43
44
45
Round-Robin
cada fila possui uma certa quantidade de tempo da UCP que pode ser escalonada pelos seus processos 80% para processos foreground em RR 20% para processos background em FCFS
46
47
48
Processos batch:
FCFS
Processos do sistema:
prioridades (P1 = 2, P2 = 0)
49
50
P1 P2 P3 P4 P5
51
P 1 P 2 P 3 P 4 P 5
52
Igualmente um processo que espera muito tempo numa fila de prioridade inferior pode ser passado para um fila de prioridade superior.
53
54
55
56
57
Um novo processo entra na fila Q0, a qual segue uma poltica RR. Quando ganha a CPU, o processo recebe 8 ms; Se no terminar em 8 ms, o processo passado para a fila Q1 Em Q1, o processo servido novamente por uma poltica de escalonamento RR e recebe 16 ms adicionais; Se mesmo assim no termina, o processo passado para a fila Q2 com uma poltica FCFS
58
59
60
P1 P2 P3 P4 P5
61
P1 P2 P3 P4 P5
W
W W
w
W
62
63
Processadores heterogeneos:
Alguns dos processadores tem caractersticas diferentes. Por ex.: acesso a certo dispositivos de I/O, arquitectura do processador diferente, performance
64
Multi-processamento assimtrico
S um processador acede s estruturas de dados do sistema, aliviando a necessidade de partilha de dados usada uma nica fila Ready, e no uma fila por processador, para evitar que haja algum processador inativo enquanto outros tm processos nas suas filas Ready espera
65
66
67
68