Ir al contenido principal

Funciones del planificador de procesos

La planificación de procesos en Sistemas Operativos es un conjunto de políticas y mecanismos incorporados al sistema operativo, a través de un módulo denominado planificador, que debe decidir cuál de los procesos en condiciones de ser ejecutado conviene ser despachado primero y qué orden de ejecución debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el máximo aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un momento dado.

Los sistemas operativos cuentan con un componente llamado planificador, que se encarga de decidir cuál de los procesos hará uso del procesador. La toma de esta decisión, así como el tiempo de ejecución del proceso, estará dada por un algoritmo, denominado Algoritmo de Planificación.

Objetivos de la Planificación de procesos

La Planificación de procesos tiene como principales objetivos la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.

  • Equidad: Todos los procesos deben ser atendidos.
  • Eficacia: El procesador debe estar ocupado el 100% del tiempo.
  • Tiempo de respuesta: El tiempo empleado en dar respuesta a las solicitudes del usuario debe ser el menor posible.
  • Tiempo de regreso: Reducir al mínimo el tiempo de espera de los resultados esperados por los usuarios por lotes.
  • Rendimiento: Maximizar el número de tareas que se procesan por cada hora.

Tiempos

En la Planificación de procesos se tiene en cuenta diferentes tiempos que pueden ser calculados, como son el "Tiempo de espera medio", el "Tiempo de retorno del proceso" y el "Tiempo de retorno medio".

Tiempo de espera medio

Es el promedio de tiempos en que los procesos están en estado de listos. En algoritmos FCFS este tiempo suele ser bastante largo. En algoritmos SJF para los procesos largos este tiempo suele ser muy grande, pues se estarán ejecutando constantemente los procesos más cortos y los más largos se encontrarán constantemente en espera, por lo que pueden entrar en inanición. En Planificación por prioridad los procesos de prioridad baja podrían no ejecutarse nunca. Para dar solución a este problema el envejecimiento de un programa eleva su prioridad.

Tiempo de retorno del proceso

Es el tiempo que transcurre desde la creación de un proceso hasta que termina la ejecución del programa que le dio lugar.

Tiempo de retorno medio

Es la suma de los tiempos de retorno de cada uno de los procesos dividida entre la cantidad de procesos.


Planificación


  • Scheduler: El planificador se encarga de seleccionar un proceso que espera en la fila y asignarle tiempo de CPU
  • Dispatcher: El despachador se encarga de asignar el CPU al proceso seleccionado

Tipos de Planificadores


  • Co-operative multitasking: En el Planificador No-expropiativo (non-preemptive) una vez que se asigna CPU a un proceso, dicho proceso se apropia del CPU hasta que termine ó por sí mismo ceda el CPU a otro proceso
  • Pre-emptive multitasking: Planificador Expropiativo dá un tiempo limite (Time slicing) después del cual el proceso actual es suspendido, para dar paso a otro proceso y mantener así la ilusión de concurrencia.

Tipos de Procesos

Por tipo de operaciones
  • Procesos con uso intensivo de CPU: gran cantidad de complejos cálculos matemáticos (CPU bound)
  • Procesos con uso intensivo de E/S: mucha interacción con dispositivos de E/S (IO bound)
Por tipo de transacciones
  • Procesos Interactivos
  • Procesos por Lotes
  • Procesos de Tiempo Real
Fuentes

Comentarios

Entradas populares de este blog

Bloque de control del proceso (BCP)

El bloque de control del proceso (BCP) o en inglés PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso. Cuando el proceso termina, su BCP es borrado y el registro puede ser utilizado para otros procesos. Un proceso resulta conocido para el sistema operativo y por t anto elegible para competir por los recursos del sistema sólo cuando existe un BCP activo asociado a él. El bloque de control de proceso es una estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de la utilización de recursos. La información almacenada en un BCP incluye típicamente algunos o todos los campos siguientes:     Identificador del proceso (Process Identificator -PID-, de s...

Políticas de planificación de procesos. Ventajas y desventajas

A continuación se enumeran diversas políticas de planificación. Lo habitual es utilizar políticas mixtas. Generalmente, el planificador a corto plazo utiliza round-robin, mientras que el planificador a largo plazo utiliza varias colas FIFO (First In First Out). Cada una de estas colas corresponde a una prioridad diferente.     Planificación Round-robin     Round-robin con pesos.     Prioridades monótonas en frecuencia (RMS (Rate-monotonic scheduling))     Menor tiempo de respuesta primero (EDF (Earliest deadline first scheduling))     FIFO - También conocido como FCFS "First Come, First Served".     LIFO.     SJF - Shortest Job First.     CFS - Completely Fair Scheduler (ó Planificador Completamente Justo)     SRT - Shortest Remaining Time     SPT - Shortest Process Time     Planificación mediante colas multinivel. Algunos algoritmos de Planificación Pri...

Métodos de administración del procesador

La administración del procesador es, prácticamente el tema central de la  multiprogramación. Esta administración involucra las distintas maneras a través de las cuales el sistema operativo comparte los recursos del procesador entre distintos procesos que están compitiendo por su uso. Esto implica directamente la multiprogramación y conlleva simultáneamente la sincronización de los mismos. La idea de administrar el procesador eficientemente está enfocada en dos aspectos: el primero es la cantidad de procesos por unidad de tiempo que se pueden ejecutar en un sistema; y el segundo, el que importa más al usuario, es el tiempo de respuesta de esos procesos. La idea principal de la administración del procesador tiene que ver con eltiempo que permanecerá un proceso en el procesador, ¿que proceso corre en que momento?.En un Computador personal es mas difícil encontrar el caso que un usuario necesite ejecutar dos procesos al mismo tiempo, enviar un correo y escribir un texto. Mie...