Diferencia entre revisiones de «Planificación de procesos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(mejoras)
 
(No se muestran 20 ediciones intermedias de 11 usuarios)
Línea 1: Línea 1:
= Planificación de procesos =
+
= Planificación de procesos =  
 
 
El planificador de procesos (''process scheduler'', en inglés) es la parte del sistema operativo que se encarga seleccionar qué proceso emplea el procesador.
 
 
 
 
Todo planificador de procesos emplea uno o varios criterios (''scheduling policy'', en inglés) que determinan el criterio de selección del proceso que empleará el procesador.
 
Todo planificador de procesos emplea uno o varios criterios (''scheduling policy'', en inglés) que determinan el criterio de selección del proceso que empleará el procesador.
  
== Índices de evaluación ==
+
== Aspectos para diseñar un buen criterio de planificación ==
 
 
Para evaluar los criterios de planificación de procesos empleamos los siguientes índices:
 
 
 
*Tiempo de ejecución : hace referencia al tiempo que el proceso está asignado al procesador. ('''t'''ejecución)
 
*Tiempo de terminación : es la diferencia entre el momento de llegada y el momento de terminación del un proceso. ('''T'''terminación)
 
*Tiempo perdido : es la diferencia entre el tiempo de ejecución y el tiempo de terminación. (T-t)
 
*Índice de penalización : indica cuanto más ha dado un proceso en ejecutarse respecto a si hubiera tenido el procesador en exclusividad. ((T/t)=x , tarda (x-1) veces más)
 
*Índice de respuesta : es el inverso del índice de penalización. (t/T)
 
*Tiempo del sistema : es el tiempo empleado por el planificador de procesos.
 
*Tiempo de inactividad : es el tiempo durante el cual el procesador está ocioso, es decir, no hace nada (idle).
 
*Tiempo de espera : es el tiempo desde el lanzamiento a estado preparado.
 
 
 
== Aspectos para diseñar un buen planificador ==
 
 
 
Un buen planificador de procesos debe ofrecer:
 
  
* Alto rendimiento (''throughput'', en inglés) en base a la cantidad de procesos que puede soportar. A mayor cantidad, mayor rendimiento.
+
Además de ofrecer una alta ''tasa de transferencia'' (throughput) y una baja latencia (latency), es deseable que un planificador implemente las siguientes características:
* Baja latencia (''latency'', en inglés) en referencia al tiempo de respuesta a los procesos. Si el proceso tarde mucho en ser asignado al procesador, se dice que la latencia será alta. Se considera una latencia aceptable a tiempos menores a 200 ms.
 
  
Para garantizar una buena experiencia al usuario.
+
*'''Repetitividad''': con cargas de trabajo similares (cantidad de procesos a atender), el planificador debe comportarse de manera similar.
 +
*'''Predecibilidad''': hace referencia al tiempo de terminación de un proceso para cierta carga de trabajo, que debe ser similar para cargas de trabajo parecidas.
 +
*'''Eficiencia''': debe tomar decisiones rápidas para aumentar el rendimiento.
 +
*'''Evitar conmutaciones innecesarias''': de nuevo, para aumentar el rendimiento y reducir la penalización asociada.
 +
*'''Atención de  prioridades''': uso de criterios de selección basados en prioridades
 +
*'''Degradación uniforme del rendimiento''': a mayores cargas de trabajo el rendimiento debe degradarse uniformemente.
 +
*'''Capacidad de respuesta instantánea''': los tiempos de espera para atender a un proceso deben ser aceptables de cara al usuario, generalmente <100ms para seres humanos.
  
Además, debe cumplir las siguientes características:
 
  
*'''Repetitividad''' : con cargas de trabajo (cantidad de procesos a atender) similares, el procesador debe tener comportamientos similares.
+
4.2. [[Índices_de_evaluación | Índices de evaluación de la planificación de procesos]]
*'''Predecivilidad''' : hace referencia la tiempo de terminación de un proceso para cierta carga de trabajo, deben ser similares con cargas de trabajo parecidas.
 
*'''Eficiencia''' : debe tomar decisiones rápidas para aumentar el rendimiento.
 
*'''Reducir el número de conmutaciones''' : de nuevo, para aumentar el rendimiento y reducir la penalización asociada.
 
*'''Atender prioridades'''.
 
* A mayores cargas de trabajo el rendimiento debe '''degradar uniformemente'''.
 

Revisión actual del 18:24 2 abr 2020

Planificación de procesos

Todo planificador de procesos emplea uno o varios criterios (scheduling policy, en inglés) que determinan el criterio de selección del proceso que empleará el procesador.

Aspectos para diseñar un buen criterio de planificación

Además de ofrecer una alta tasa de transferencia (throughput) y una baja latencia (latency), es deseable que un planificador implemente las siguientes características:

  • Repetitividad: con cargas de trabajo similares (cantidad de procesos a atender), el planificador debe comportarse de manera similar.
  • Predecibilidad: hace referencia al tiempo de terminación de un proceso para cierta carga de trabajo, que debe ser similar para cargas de trabajo parecidas.
  • Eficiencia: debe tomar decisiones rápidas para aumentar el rendimiento.
  • Evitar conmutaciones innecesarias: de nuevo, para aumentar el rendimiento y reducir la penalización asociada.
  • Atención de prioridades: uso de criterios de selección basados en prioridades
  • Degradación uniforme del rendimiento: a mayores cargas de trabajo el rendimiento debe degradarse uniformemente.
  • Capacidad de respuesta instantánea: los tiempos de espera para atender a un proceso deben ser aceptables de cara al usuario, generalmente <100ms para seres humanos.


4.2. Índices de evaluación de la planificación de procesos