Publicado el 27 de Marzo del 2018
830 visualizaciones desde el 27 de Marzo del 2018
316,7 KB
67 paginas
Creado hace 14a (07/06/2010)
La calendarización y administración de
procesos
Administrador del procesador
Lámina 1
Roberto Gómez C.
Ciclos de ráfagas de CPU y E/S
g
cargar almacenar
sumar almacenar
leer archivo
esperar E/S
esperar E/S
almacenar incremento
indexar
escribir archivo
esperar E/S
cargar almacenar
sumar almacenar
leer archivo
esperar E/S
esperar E/S
g
ráfaga de CPU
ráfaga de E/S
ráfaga de E/S
ráfaga de CPU
ráfaga de E/S
ráfaga de CPU
ráfaga de E/S
ráfaga de E/S
Lámina 2
Roberto Gómez C.
I/O bound vs CPU bound
• Un programa limitado por E/S (I/O bound)
Un programa limitado por E/S (I/O bound)
suele tener muchas ráfagas de CPU muy cortas
• Un programa limitado por CPU (CPU bound)
• Un programa limitado por CPU (CPU bound)
suele tener unas cuantas ráfagas de CPU muy
largas
largas
Lámina 3
Roberto Gómez C.
Planificador del CPU
• Siempre que CPU este ocioso, el S.O. debe
Siempre que CPU este ocioso, el S.O. debe
escoger uno de los procesos que están en la cola
de procesos listos para ejecutarlo
de p ocesos
stos pa a ejecuta o
• El proceso de selección corre por cuenta del
planificador a corto plazo o planificador de
planificador a corto plazo o planificador de
CPU
Pl
están en la memoria y listos para ejecutarse y se
le asigna el CPU
le asigna el CPU
• Planificador escoge uno de los procesos que
ifi d
d l
Lámina 4
Roberto Gómez C.
Situaciones cambio proceso
• Cuando un proceso pasa del estado en ejecución
Cuando un proceso pasa del estado en ejecución
al estado bloqueado
• Cuando un proceso pasa del estado en ejecución
• Cuando un proceso pasa del estado en ejecución
al estado listo
C
al estado listo
d
• Cuando un proceso pasa del estado bloqueado
t d bl
d l
d
• Cuando un proceso termina
Lámina 5
Roberto Gómez C.
El despachador
• Es el modulo que cede el control del CPU al
Es el modulo que cede el control del CPU al
proceso seleccionado por el planificador a corto
plazo
p a o
• Esta función implica
Cambiar de contexto
– Cambiar de contexto
– Cambiar a un modo de usuario
– Saltar al punto apropiado del programa del usuario
i d d l
S lt
para reiniciar dicho programa
d l
l
t
i
Lámina 6
Roberto Gómez C.
El calendarizador
De otros
De otros
estados
borrando el proceso en ejecución
Proceso
listo
listo
Descriptores
de procesos
encargado
d
formar a los
procesos
C l d
Cola de
procesos
listos
Despachador
Despachador
cambiador
de contexto
CPU
CPU
Lámina 7
Roberto Gómez C.
Criterios de calendarización
• Uso de la CPU
Uso de la CPU
– mantener el CPU tan ocupado como se pueda
uso CPU varia entre 0 y 100%
– uso CPU varia entre 0 y 100%
– en un sistema real, debe variar entre 40% (poca
carga) y 90% (muy cargado)
carga) y 90% (muy cargado)
• Rendimiento
– si CPU esta ocupada ejecutando procesos, se
i CPU
j
esta ejecutando trabajos
d
d
Lámina 8
Roberto Gómez C.
– rendimiento: número de procesos que se
rendimiento: número de procesos que se
completan por unidad de tiempo
p
por segundo
– por ejemplo: un proceso por hora o 10 procesos
p
j
p
p
p
• Tiempo de regreso (servicio)
Tiempo de regreso (servicio)
– tiempo que se tarda en ejecutar un proceso
– intervalo entre el momento de presentación de un
intervalo entre el momento de presentación de un
proceso al planificador y el momento en que se
terminó
Lámina 9
Roberto Gómez C.
p
– es la suma de los periodos durante los cuales el
proceso espera entrar en memoria espera en cola
de procesos listos, se ejecuta en el CPU y realiza
E/S
• Tiempo de espera
– no se toma en cuenta tiempo proceso pasa
ejecutándose o realizando E/S
– tan solo abarca el tiempo que un proceso pasa
esperando en al cola de procesos listos
Lámina 10
Roberto Gómez C.
– suma periodos que pasa en la cola de procesos
p
p
q
p
listos
p
• Tiempo de respuesta
p
– tiempo que transcurre entre que se presenta una
solicitud y se producen los primeros resultados
– no incluye el tiempo que se toma en exhibir la
p
y
p
respuesta
– generalmente esta limitado por la velocidad del
dispositivo de salida
Lámina 11
Roberto Gómez C.
El comando time de Linux
• Ejecuta programa especificado con sus
Ejecuta programa especificado con sus
argumentos
• Cuando termina escribe mensaje a stderr
• Cuando termina, escribe mensaje a stderr
proporcionando estadísticas de timpo de
ejecución:
ejecución:
– Tiempo transcurrido entre invocación y termino del
programa
programa
– Tiempo CPU del usuario
Tiempo CPU sistema
– Tiempo CPU sistema
Lámina 12
Roberto Gómez C.
Ejemplo uso time
$
$ more hola.c
h l
int main( )
{
printf(“Hola mundo \n”);
printf( Hola mundo \n );
}
$ time gcc hola.c
0m0.228s
0m0.120s
0m0.040s
real
user
sys
y
$
Lámina 13
Roberto Gómez C.
Calendarizador óptimo
• Condición: no entran nuevos procesos en la lista de
procesos listos, mientras que los que se encuentran
en ella son atendidos
p
• Algoritmo óptimo calcula el número de tiempo-
d
d
quantum (número de veces que el CPU será
asignado a cada proceso) y entonces enumera todas
las posibles opciones para calendarizar el CPU
E t
criterio de optimización, considerando cada opción
(ordering)
(ordering)
• Estrategia óptima puede seleccionarse, basada en
t
i ó ti
b
d
d
l
i
i
)
d
Lámina 14
Roberto Gómez C.
Factores a considerar
• Procesos nuevos llegan mientras que se esta
g
q
atendiendo a otros procesos, el calendarizador debe
realizar cálculos cada vez que un proceso nuevo llega
• El tiempo de ejecución de un proceso se debe conocer
antes de que el proceso se ejecute
• En algunas ocasiones el calendarizador usa más
tiempo realizando cálculos dentro del algoritmo, que
t di d
atendiendo procesos
Lámina 15
Roberto Gómez C.
Niveles de administración
• Administración de alto nivel
Administración de alto nivel
• Administración de nivel intermedio
• Administración de bajo nivel
l
ió d b j
Ad i i t
i
Lámina 16
Roberto Gómez C.
Administración de alto nivel
• Planificación del trabajo
Planificación del trabajo
• Cuales trabajos(jobs) pueden competir por los
recursos
recursos
• A veces llamada administración de admisión,
l
d id
ya que decide cuales trabajos deben de
admitirse
t b j
d b
d
Lámina 17
Roberto Gómez C.
Administración nivel intermedio
• Que procesos pueden competir por el CPU
Que procesos pueden competir por el CPU
• Suspención temporal y reanudación de procesos
• Intermediario entre la admisión de trabajos y la
d i ió d t b j
l
i
di
I t
asignación del CPU a procesos
t
l
Lámina 18
Roberto Gómez C.
Administración de bajo nivel
• A cual proceso listo se le asignará el CPU
A cual proceso listo se le asignará el CPU
• Se realiza mediante el despachador (dispatcher)
• Despachador siempre en memoria principal
l
h d
D
i
i
i
i
Lámina 19
Roberto Gómez C.
Esquema niveles administración
Usuario
Jobs esperando
para entrar
para entrar
Entrada de trabajos
Jobs en espera para iniciarse
Inicio de trabajos
Procesos suspendidos
esperando por activación
Activación
Suspención
Bloqueo o
Bloqueo o
expiración de tiempo
Procesos activos
Despacho
Despacho
Procesos en ejecución
Terminación
i ació
e
Trabajo completado
Admon
alto nivel
Admon.
nivel
intermedio
Admon
bajo nivel
Lámina 20
Roberto Gómez C.
Objetivos
• Ser justa
• Elevar al máximo la producción o rendimiento
• Aumentar al máximo el número de usuarios
ú e o de usua os
o e
á
j
u e ta a
interactivos
p
• Ser predecible
• Reducir al mínimo el gasto extra
• Equilibrar el aprovechamiento de recursos
Equilibrar el aprovechamiento de recursos
• Lograr equilibrio entre la respuesta y el
aprovechamiento
p
Lámina 21
Roberto Gómez C.
Más objetivos
p
• Evitar esperas infinitas
• Imponer prioridades
• Dar preferencia a procesos que ocupan recursos
ecu sos
a p e e e c a a p ocesos que ocupa
• Dar mejor trato a procesos que muestren un
q
p
decisivos
j
comportamiento deseable.
• Degradarse paulatinamente de cargas pesadas
Lámina 22
Roberto Gómez C.
Admon. apropiada vs no apropiada
• No apropiada (non preemptive)
– Una vez que el CPU se le asignó al proceso, ya no se le
Una vez que el CPU se le asignó al proceso, ya no se le
puede arrebatar
– Util sistemas procesos alta prioridad requieren atención
inmediata, (sistemas tiempo real)
– Los trabajos largos atrasan a los cortos, pero el tratamiento
es más justo
es más justo
• Apropiada (preemptive)
– Al proceso se le puede arrebatar el CPU
Al proceso se le puede arrebatar el CPU
– Util sistemas tiempo compartido: garantizar tiempos de
respuesta aceptables
– Costo: cambio de contexto implica gasto extra
Lámina 23
Roberto Gómez C.
Prioridades
• Pueden ser asignadas automáticamente por el
Pueden ser asignadas automáticamente por el
sistema, o se pueden asignar externamente
• Ganarse o comprarse
• Ganarse o comprarse
• Estáticas o dinámicas
• Asignación en forma racional o de manera
arbitraria
Lámina 24
Roberto Gómez C.
Prioridades estáticas y dinámicas
• Prioridades estáticas
– Prioridades estáticas no cambian
– Son fáciles de llevar a la práctica
– No responden a cambios en el ambiente
• Prioridades dinámicas
– Responden a los cambios
– Prioridad inicial tiene una duración corta, después de lo cual
se ajusta a un valor más apropiado
se ajusta a un valor más apropiado
– Esquemas más complejos
– Gasto extra justificado: aumento en la sensibilidad del
a se s b dad de
Gasto e t a just cado: au e to e
sistema
Lámina 25
Roberto Gómez C.
Prioridades compradas
• Debe proporcionar un servicio competente y
ra onable a na gran com nidad de s arios
razonable a una gran comunidad de usuarios.
• Debe manejar las situaciones en las cuales un
i
d l
b
miembro de la comunidad necesite un trato
especial
id d
i
• Trabajo urgente esta dispuesto a pagar extra:
– comprar prioridad (nivel más alto de servicio)
• Pago extra obligatorio puede ser necesario
arrebatar recursos a otros usuarios qu
Comentarios de: La calendarización y administración de procesos (0)
No hay comentarios