Diferencia entre revisiones de «Planificador de procesos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Objetivos de un buen planificador de procesos: errata)
(Ejemplo)
 
(No se muestran 21 ediciones intermedias de 11 usuarios)
Línea 1: Línea 1:
El planificador de procesos (''process scheduler'', en inglés) es la parte del sistema operativo que se encarga seleccionar qué proceso emplea el procesador. Tiene como funciones principales: [[Imagen:LSO-Planificador.png|thumb| Diagrama típico de comparticición del tiempo de un procesador.]]
+
= ¿Qué es el planificador de procesos? =
 +
 
 +
El planificador de procesos (''process scheduler'', en inglés) es la parte del sistema operativo que se encarga de seleccionar a qué proceso se asigna el recurso procesador y durante cuánto tiempo.
 +
 
 +
= ¿Qué funciones tiene el planificador de procesos? =
 +
 
 +
El planificador de procesos tiene como funciones principales:
  
 
* Llevar el control del estado de cada proceso.
 
* Llevar el control del estado de cada proceso.
* Decidir qué proceso usará el procesador y durante cuanto tiempo, para ello empleará un cierto criterio en base al cual tomará las decisiones. Si implementa multiprogramación, deberá emplear un criterio que evite que un proceso monopolice el procesador.
+
* Decidir qué proceso usará el procesador y durante cuánto tiempo, para ello empleará un cierto criterio en base al cual tomará las decisiones. Si implementa multiprogramación, deberá emplear un criterio que evite que un proceso monopolice el procesador.
* Asignar el procesador al proceso, restableciendo el contexto de la ejecución del proceso por donde fuere.
+
* Asignar el procesador al proceso, restableciendo el contexto de la ejecución del proceso por donde fuere. El contexto de la ejecución se encuentra almacenado en el PCB del proceso asignado.
* Retirar el procesador al proceso, salvando el contexto de la ejecución del proceso, para poder restablecerlo posteriormente una vez que vuelva a ser asignado.
+
* Retirar el procesador al proceso, salvando el contexto de la ejecución del proceso, para poder restablecerlo posteriormente una vez que vuelva a ser asignado. El contexto de la ejecución se almacenará en el PCB del proceso retirado.
 +
 
 +
El planificador de procesos es software, por tanto, requiere emplear el recurso procesador para ejecutar su código.
 +
 
 +
= Ejemplo =
  
El planificador de procesos es codigo, por tanto, requiere emplear el recurso procesador para la realizar su función.
+
Para la siguiente configuración de procesos:
  
== Objetivos de un buen planificador de procesos ==
+
* Proceso Pa: Llega en el instante de tiempo 0. Realiza una llamada al sistema bloqueante cada 1 unidad de tiempo, la operación bloqueante se resuelve tras 2 unidades de tiempo. Para finalizar su ejecución requiere 5 unidades de ejecución.
 +
* Proceso Pb: Llega en el instante de tiempo 1. Para finalizar su ejecución requiere 4 unidades de ejecución.
 +
* Suponga que el proceso Pa tiene mayor prioridad que el proceso Pb, por tanto, el planificador debe de dejar paso al proceso Pa siempre que éste esté en estado preparado.
  
Un buen planificador de procesos debe ofrecer:
+
La evolución de la asignación del procesador que realizaría el planificador es la siguiente:
  
* Alto rendimiento (''throughput'', en inglés) en base a la cantidad de procesos que puede soportar. A mayor cantidad, mayor rendimiento.
+
[[Archivo:Procesos.jpg]]
* Baja latencia (''latency'', en inglés) en referencia al tiempo de respuesta a los procesos. Si el proceso tarda 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.
+
3.4.[[Comportamiento de los procesos| El comportamiento de los procesos según el planificador]]

Revisión actual del 17:16 2 abr 2020

¿Qué es el planificador de procesos?

El planificador de procesos (process scheduler, en inglés) es la parte del sistema operativo que se encarga de seleccionar a qué proceso se asigna el recurso procesador y durante cuánto tiempo.

¿Qué funciones tiene el planificador de procesos?

El planificador de procesos tiene como funciones principales:

  • Llevar el control del estado de cada proceso.
  • Decidir qué proceso usará el procesador y durante cuánto tiempo, para ello empleará un cierto criterio en base al cual tomará las decisiones. Si implementa multiprogramación, deberá emplear un criterio que evite que un proceso monopolice el procesador.
  • Asignar el procesador al proceso, restableciendo el contexto de la ejecución del proceso por donde fuere. El contexto de la ejecución se encuentra almacenado en el PCB del proceso asignado.
  • Retirar el procesador al proceso, salvando el contexto de la ejecución del proceso, para poder restablecerlo posteriormente una vez que vuelva a ser asignado. El contexto de la ejecución se almacenará en el PCB del proceso retirado.

El planificador de procesos es software, por tanto, requiere emplear el recurso procesador para ejecutar su código.

Ejemplo

Para la siguiente configuración de procesos:

  • Proceso Pa: Llega en el instante de tiempo 0. Realiza una llamada al sistema bloqueante cada 1 unidad de tiempo, la operación bloqueante se resuelve tras 2 unidades de tiempo. Para finalizar su ejecución requiere 5 unidades de ejecución.
  • Proceso Pb: Llega en el instante de tiempo 1. Para finalizar su ejecución requiere 4 unidades de ejecución.
  • Suponga que el proceso Pa tiene mayor prioridad que el proceso Pb, por tanto, el planificador debe de dejar paso al proceso Pa siempre que éste esté en estado preparado.

La evolución de la asignación del procesador que realizaría el planificador es la siguiente:

Procesos.jpg

3.4. El comportamiento de los procesos según el planificador