Programación de procesos en SO: programador a largo, mediano y corto plazo
⚡ Resumen inteligente
La planificación de procesos es una tarea del sistema operativo que gestiona los procesos en sus estados de listo, en espera y en ejecución. Asigna tiempo de CPU a cada proceso, mantiene la CPU ocupada y reduce el tiempo de respuesta mediante planificadores a largo, medio y corto plazo.

¿Qué es la programación de procesos?
Programación de procesos Es una tarea del sistema operativo que programa procesos en diferentes estados, como listo, en espera y en ejecución.
La planificación de procesos permite al sistema operativo asignar un intervalo de tiempo de ejecución de la CPU a cada proceso. Otra razón importante para utilizar un sistema de planificación de procesos es que mantiene la CPU ocupada constantemente. Esto permite obtener el mínimo tiempo de respuesta para los programas.
Colas de programación de procesos
Las colas de planificación de procesos permiten mantener una cola independiente para cada estado y PCB de proceso. Todos los procesos con el mismo estado de ejecución se colocan en la misma cola. Por lo tanto, cuando se modifica el estado de un proceso, su PCB debe desvincularse de la cola existente y trasladarse a la cola del nuevo estado.
Tres tipos de colas del sistema operativo son:
- Cola de trabajos – Le ayuda a almacenar todos los procesos en el sistema.
- 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.
- Colas de dispositivos – Es un proceso que está bloqueado por la ausencia de un dispositivo de E/S.

En el diagrama anterior:
- Un rectángulo representa una cola.
- Un círculo representa el recurso.
- Una flecha indica el flujo del proceso.
- Cada nuevo proceso se coloca primero en la cola de procesos listos. Permanece en la cola de procesos listos hasta que finalmente se procesa para su ejecución. En este caso, el nuevo proceso se coloca en la cola de procesos listos y espera hasta que se selecciona para su ejecución o se envía.
- Uno de los procesos tiene asignada la CPU y se está ejecutando.
- El proceso debería emitir una solicitud de E/S.
- Luego, debe colocarse en la cola de E/S.
- El proceso debería crear un nuevo subproceso.
- El proceso debe estar a la espera de su terminación.
- Debe eliminarse de la CPU de forma forzosa, como resultado de una interrupción. Una vez completada la interrupción, debe devolverse a la cola de procesos 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 la sección 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, a la espera de su turno para ejecutarse. Cada entrada en la cola apunta a un proceso específico.
Objetivos de programación
Estos son los objetivos importantes de la planificació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:
- Programador a largo plazo
- Programador a corto plazo
- Programador a mediano plazo
Programador a largo plazo
El planificador a largo plazo también se conoce como un programador de trabajosEste planificador regula el programa, selecciona procesos 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 tareas, como tareas de procesador y de E/S, que permita gestionar la multiprogramación.
Programador a mediano plazo
La programación a mediano plazo es una parte importante de intercambiopingPermite gestionar los procesos intercambiados. En este planificador, un proceso en ejecución puede quedar suspendido, lo que genera una solicitud de E/S.
Un proceso en ejecución puede quedar suspendido si realiza una solicitud de entrada/salida. Un proceso suspendido no puede avanzar hacia su finalización. Para eliminar el proceso de la memoria y liberar 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 la Programador de CPUEl objetivo principal de este planificador es optimizar el rendimiento del sistema según criterios preestablecidos. Esto permite seleccionar entre un grupo de procesos listos para ejecutarse y asignar la CPU a uno de ellos. El despachador cede el control de la CPU al proceso seleccionado por el planificador a corto plazo.
Diferencia entre programadores
Largo plazo vs. corto plazo vs. mediano plazo:
| A Largo Plazo | Término corto | Término medio |
|---|---|---|
| A largo plazo también se le conoce como planificador de tareas. | A corto plazo también se le conoce como planificador de CPU. | A medio plazo también se le llama swap.ping planificador. |
| 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. |
| Permite seleccionar procesos de la carga y devolverlos a la memoria. | Solo selecciona los procesos que se encuentran en estado de ejecución listo. | Te ayuda a enviar el proceso de vuelta a la memoria. |
| Ofrece control total. | Ofrece menos control. | Reduce el nivel de multiprogramación. |
¿Qué es el cambio de contexto?
Es un método para almacenar y restaurar el estado de la CPU en la placa de circuito impreso (PCB), de modo que la ejecución del proceso pueda reanudarse desde el mismo punto posteriormente. El método de cambio de contexto es importante para un sistema operativo multitarea.
