Programación de procesos en SO: programador a largo, mediano y corto plazo

¿Qué es la programación de procesos?

Programación de procesos es una tarea del sistema operativo que programa procesos de diferentes estados, como listo, en espera y en ejecución.

La programación de procesos permite al sistema operativo asignar un intervalo de tiempo de ejecución de la CPU para cada proceso. Otra razón importante para utilizar un sistema de programación de procesos es que mantiene la CPU ocupada todo el tiempo. Esto le permite obtener el tiempo mínimo de respuesta para los programas.

Colas de programación de procesos

Las colas de programación de procesos lo ayudan a mantener una cola distinta para todos y cada uno de los estados de proceso y PCB. Todos los procesos del mismo estado de ejecución se colocan en la misma cola. Por lo tanto, cada vez que se modifica el estado de un proceso, su PCB debe desvincularse de su cola existente, que regresa a la cola del nuevo estado.

Tres tipos de colas del sistema operativo son:

  1. Cola de trabajos – Le ayuda a almacenar todos los procesos en el sistema.
  2. Cola lista – Este tipo de cola le ayuda a configurar cada proceso que reside en la memoria principal, que está listo y esperando para ejecutarse.
  3. Colas de dispositivos – Es un proceso que está bloqueado por la ausencia de un dispositivo de E/S.
Colas de programación de procesos
Colas de programación de procesos

En el diagrama anterior,

  • El rectángulo representa una cola.
  • El círculo denota el recurso.
  • La flecha indica el flujo del proceso.
  1. Cada nuevo proceso se coloca primero en la cola Listo. Espera en la cola listo hasta que finalmente se procesa para su ejecución. Aquí, el nuevo proceso se coloca en la cola listo y se espera hasta que se seleccione para su ejecución o se envíe.
  2. A uno de los procesos se le asigna la CPU y se está ejecutando.
  3. El proceso debe emitir una solicitud de E/S.
  4. Luego, debe colocarse en la cola de E/S.
  5. El proceso debe crear un nuevo subproceso.
  6. El proceso debe estar a la espera de su terminación.
  7. Debería eliminarse con fuerza de la CPU, como resultado de la interrupción. Una vez que se completa la interrupción, debe enviarse de regreso a la cola de listos.

Modelo de proceso de dos estados

Los modelos de proceso de dos estados son:

  • Estado de ejecución
  • Estado sin ejecución

Correr

En el Operasistema de ting, cada vez que se crea un nuevo proceso, se ingresa en el sistema, que debería estar ejecutándose.

No corras

Los procesos que no se están ejecutando se mantienen en una cola, que espera su turno para ejecutarse. Cada entrada en la cola es un punto para un proceso específico.

Objetivos de programación

Aquí se encuentran objetivos importantes de la programación de procesos.

  • Maximizar el número de usuarios interactivos dentro de tiempos de respuesta aceptables.
  • Lograr un equilibrio entre respuesta y utilización.
  • Evite aplazamientos indefinidos y haga cumplir las prioridades.
  • También debe hacer referencia a los procesos que contienen los recursos clave.

Tipo de programadores de procesos

Un programador es un tipo de software de sistema que le permite manejar la programación de procesos.

Existen principalmente tres tipos de Programadores de Procesos:

  1. Programador a largo plazo
  2. Programador a corto plazo
  3. Programador a mediano plazo

Programador a largo plazo

El planificador a largo plazo también se conoce como programador de trabajos. Este programador regula el programa y selecciona el proceso de la cola y los carga en la memoria para su ejecución. También regula el grado de multiprogramación.

Sin embargo, el objetivo principal de este tipo de planificador es ofrecer una combinación equilibrada de trabajos, como procesador, trabajos de E/S, que permita gestionar la multiprogramación.

Programador a mediano plazo

La programación a mediano plazo es una parte importante de intercambio de. Le permite manejar los procesos intercambiados. En este programador, un proceso en ejecución puede suspenderse, lo que realiza una solicitud de E/S.

Un proceso en ejecución puede suspenderse si realiza una solicitud de E/S. Un proceso suspendido no puede avanzar hacia su finalización. Para eliminar el proceso de la memoria y dejar espacio para otros procesos, el proceso suspendido debe trasladarse al almacenamiento secundario.

Programador a corto plazo

La programación a corto plazo también se conoce como Programador de CPU. El objetivo principal de este programador es mejorar el rendimiento del sistema según criterios establecidos. Esto le ayuda a seleccionar de un grupo de procesos que están listos para ejecutarse y asigna CPU a uno de ellos. El despachador da control de la CPU al proceso seleccionado por el planificador a corto plazo.

Diferencia entre programadores

Largo plazo vs. Corto Plazo vs. Término medio

A Largo Plazo Término corto Término medio
El largo plazo también se conoce como programador de trabajos. El corto plazo también se conoce como programador de CPU. El mediano plazo también se denomina programador de intercambio.
Está ausente o es mínimo en un sistema de tiempo compartido. Es insignificante en el orden de tiempo compartido. Este programador es un elemento de los sistemas de tiempo compartido.
La velocidad es menor en comparación con el programador a corto plazo. La velocidad es la más rápida en comparación con el planificador de corto y mediano plazo. Ofrece velocidad media.
Le permite seleccionar procesos de las cargas y agruparlos nuevamente en la memoria. Solo selecciona procesos que están en estado listo para la ejecución. Le ayuda a enviar el proceso a la memoria.
Ofrece control total Ofrece menos control Reducir el nivel de multiprogramación.

¿Qué es el cambio de contexto?

Es un método para almacenar o restaurar el estado de una CPU en la PCB, de modo que la ejecución del proceso pueda reanudarse desde el mismo punto en un momento posterior. El método de cambio de contexto es importante para los sistemas operativos multitarea.

Resumen

  • La programación de procesos es una tarea del sistema operativo que programa los procesos de diferentes estados, como listo, en espera y en ejecución.
  • Los modelos de proceso de dos estados son 1) En ejecución y ) No en ejecución
  • La programación de procesos maximiza el número de usuarios interactivos, dentro de tiempos de respuesta aceptables.
  • Un programador es un tipo de software de sistema que le permite manejar la programación de procesos.
  • Tres tipos de planificador son 1) Largo plazo 2) Corto plazo 3) Mediano plazo
  • El programador a largo plazo regula el programa y selecciona el proceso de la cola y los carga en la memoria para su ejecución.
  • El planificador a medio plazo le permite gestionar los procesos intercambiados.
  • El objetivo principal del programador a corto plazo es mejorar el rendimiento del sistema de acuerdo con criterios establecidos.
  • El largo plazo también se conoce como programador de trabajos, mientras que el corto plazo también se conoce como Programador de CPUY el mediano plazo también se llama programador de intercambio.