Los programadores son un software de sistema especial que maneja la programación de procesos de varias maneras. Su tarea principal es seleccionar los trabajos que se enviarán al sistema y decidir qué proceso ejecutar.
Hay tres tipos de Programador :
- Programador (de trabajos) a largo plazo: debido al tamaño más pequeño de la memoria principal, inicialmente todos los programas se almacenan en la memoria secundaria. Cuando se almacenan o cargan en la memoria principal se denominan procesos. Esta es la decisión del planificador a largo plazo de cuántos procesos permanecerán en la cola de espera. Por lo tanto, en palabras simples, el planificador a largo plazo decide el grado de multiprogramación del sistema.
- Programador a mediano plazo: la mayoría de las veces, un proceso en ejecución necesita una operación de E/S que no requiere una CPU. Por lo tanto, durante la ejecución de un proceso cuando se requiere una operación de E/S, el sistema operativo envía ese proceso desde la cola en ejecución a la cola bloqueada. Cuando un proceso completa su operación de E/S, debe cambiarse nuevamente a la cola de procesos listos. TODAS estas decisiones las toma el planificador a mediano plazo. La programación a mediano plazo es una parte del intercambio .
- Programador a corto plazo (CPU): cuando inicialmente hay muchos procesos en la memoria principal, todos están presentes en la cola de procesos listos. Entre todos los procesos, se seleccionará un solo proceso para su ejecución. Esta decisión es manejada por un planificador a corto plazo. Echemos un vistazo a la figura que se muestra a continuación. Puede hacer una visión más clara para usted.
Despachador: un despachador es un programa especial que entra en juego después del programador. Cuando el programador completa su trabajo de seleccionar un proceso, es el despachador el que lleva ese proceso al estado/cola deseado. El despachador es el módulo que otorga un control de proceso sobre la CPU después de que haya sido seleccionado por el programador a corto plazo. Esta función implica lo siguiente:
- Cambio de contexto
- Cambiar al modo de usuario
- Saltar a la ubicación adecuada en el programa de usuario para reiniciar ese programa
La diferencia entre el programador y el despachador: considere una situación en la que varios procesos residen en la cola de espera para ser ejecutados. La CPU no puede ejecutar todos estos procesos simultáneamente, por lo que el sistema operativo tiene que elegir un proceso en particular sobre la base del algoritmo de programación utilizado. Entonces, este procedimiento de seleccionar un proceso entre varios procesos lo realiza el programador . Una vez que el programador ha seleccionado un proceso de la cola, el despachador entra en escena, y es el despachador quien toma ese proceso de la cola lista y lo mueve al estado de ejecución. Por lo tanto, el programador le da al despachador una lista ordenada de procesos que el despachador mueve a la CPU a lo largo del tiempo. Ejemplo –Hay 4 procesos en la cola de listos, P1, P2, P3, P4; Sus tiempos de llegada son t0, t1, t2, t3 respectivamente. Se utiliza un algoritmo de programación Primero en entrar, primero en salir (FIFO). Debido a que P1 llegó primero, el programador decidirá que es el primer proceso que debe ejecutarse, y el despachador eliminará P1 de la cola de procesos listos y se lo entregará a la CPU. El programador luego determinará que P2 sea el siguiente proceso que debe ejecutarse, de modo que cuando el despachador regrese a la cola para un nuevo proceso, tomará P2 y se lo entregará a la CPU. Esto continúa de la misma manera para P3 y luego para P4.
Propiedades | DESPACHADOR | PROGRAMADOR |
---|---|---|
Definición: | Dispatcher es un módulo que da control de la CPU al proceso seleccionado por el programador a corto plazo | Scheduler es algo que selecciona un proceso entre varios procesos |
Tipos: | No hay diferentes tipos en dispatcher. Es solo un segmento de código. | Hay 3 tipos de planificador, es decir, a largo plazo, a corto plazo, a medio plazo |
Dependencia: | El funcionamiento del despachador depende del programador. Significa que el despachador debe esperar hasta que el programador seleccione un proceso. | El programador funciona de forma independiente. Funciona inmediatamente cuando es necesario. |
Algoritmo: | Dispatcher no tiene un algoritmo específico para su implementación | Scheduler funciona en varios algoritmos como FCFS, SJF, RR, etc. |
Tiempo tomado: | El tiempo que tarda el despachador se llama latencia de despacho. | El tiempo que tarda el planificador suele ser insignificante. Por lo tanto, lo descuidamos. |
Funciones: | Dispatcher también es responsable de: Cambiar de contexto, Cambiar al modo de usuario, Saltar a la ubicación adecuada cuando el proceso se reinicia nuevamente | El único trabajo del programador es la selección de procesos. |
Tareas | Dispatcher asigna la CPU al proceso seleccionado por el planificador a corto plazo. | El planificador realiza tres tareas. Programación de trabajos (programador a largo plazo), programación de CPU (programador a corto plazo) e intercambio (programador a mediano plazo). |
Publicación traducida automáticamente
Artículo escrito por himanshukumarpatel y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA