Está en la página 1de 14

Universidad Mariano Gálvez de Guatemala.

Cobán Alta Verapaz


Ingeniería en sistemas.
Sistemas Operativos 1

Proyecto Final Algoritmos de Planificación de Proceso

Saúl Ernesto Coy Pop


4090 18 21786
Introducción
Un algoritmo es una serie de pasos organizados que describen el proceso que se debe
seguir, para dar solución a un problema específico. Los algoritmos se señalan como listas
de instrucciones para resolver un problema abstracto, es decir, que un número finito de
pasos que convierten los datos de un problema en una solución. Sin embargo, cabe notar
que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en
particular. En el siguiente documento encontraremos los tipos de algoritmos de planificación
de procesos tales como SJF, SRTF, FCFS, ROUND ROBIN y Prioridad. Las ciencias de la
información desde su origen, han sido una herramienta importante en el área de ingeniería
por el rol que estas ocupan en su formación dado que es necesario tener un conocimiento
básico de los algoritmos y sus tipos.
INDICE

OBJETIVOS..........................................................................................................................................4
Contenidos.........................................................................................................................................5
ALGORITMOS DE PLANIFICACION DE PROCESOS...........................................................................5
Algoritmos de Procesos SRTF (Short Remaining Time Next)..........................................................6
Algoritmos de Procesos SJF (Shortest Job First).............................................................................6
Algoritmos de Procesos ROUND ROBIN.........................................................................................7
Algoritmos de Procesos FIFO O FCFS..............................................................................................8
Algoritmos de Procesos de Prioridad.............................................................................................9
Algoritmo de Planificación de Procesos...........................................................................................10
Resultados........................................................................................................................................11
Conclusión........................................................................................................................................14
OBJETIVOS

General
Adquirir conocimientos sobre los Algoritmos de planificación de procesos y sus tipos, para
el logro de metodologías y estructuras para analizar problemas, diseñar, traducir algoritmos
a un lenguaje de programación.

Específicos
Plantear y resolver diferentes situaciones para la aplicación de cada uno de los algoritmos.

Conocer sobre cada una de las características de los tipos de algoritmos de procesos y su
aplicación en programación.
Contenidos
ALGORITMOS DE PLANIFICACION DE PROCESOS
Un algoritmo de planificación se utiliza para calcular los recursos que consume otro
algoritmo o conjunto de algoritmos (programa) al realizar una determinada tarea.
Los algoritmos pueden usar prioridades, en este caso a cada proceso se le asigna una
prioridad y los procesos de mayor prioridad tendrán preferencia sobre los menos, la
prioridad de un proceso se puede modificar a lo largo de su vida, para evitar que un proceso
de baja prioridad nunca llegue a ejecutarse debido a que los de alta prioridad monopolizan
el procesador.
Otra característica de un algoritmo de planificación es la exploración. Podemos definir un
algoritmo de planificación como expropiativo si podemos retirar un proceso que se está
ejecutando para introducir otro nuevo.

Conoceremos algunos parámetros para estudiar un algoritmo.


 Tiempo de espera
Tiempo que el proceso está parado o en espera desde que se lanza hasta que finaliza su
ejecución.
 Tiempo de retorno
Tiempo que transcurre desde que el proceso se lanza hasta que finaliza su ejecución. Se
puede ver como la suma del tiempo de espera más el tiempo de ejecución.
 Tiempo de Respuesta
Tiempo que pasa desde que se manda ejecutar un proceso hasta que se ejecuta por
primera vez.
 Productividad
Número de Trabajos realizados por unidad de tiempo
 Uso de la CPU
Porcentaje de tiempo que el procesador pasa ejecutados procesos

El objetivo de los Algoritmos de panificación de procesos es maximizar eficiencia y


rendimiento. Y minimizar tiempo de retorno, espera y respuesta.
Se pueden intentar optimizar los valores promedio, máximos o mínimos. Para que todos los
usuarios buen servicio podemos minimizar el tiempo de respuesta. En los algoritmos que
veremos calcularemos el tiempo promedio de espera
Algoritmos de Procesos SRTF (Short Remaining Time Next)
Añadiendo la expulsión de procesos al algoritmo SJF obtenemos SRTF, éste será capaz de
expulsar un proceso largo en ejecución para ejecutar otros más cortos. El problema que
puede surgir es que un proceso largo puede llegar a expulsarse muchas veces y nunca
terminar debido a la ejecución de otros más cortos.
Ejemplo

Proceso
llegada Tiempo uso CPU
s
P1 0 7
P2 2 4
P3 4 1
P4 5 4

Algoritmos de Procesos SJF (Shortest Job First)


En este caso se seleccionará el proceso que requiera menor tiempo de ejecución (si do
tienen el mismo tiempo se decide por FIFO) El problema puede aparecer con procesos muy
largos que están siempre bloqueados por procesos más cortos. Este algoritmo puede ser
expropiativo o no. En la variante expropiativa denominada SRTN medimos el tiempo
restante que le queda a cada proceso.
SRTN es la variedad explorativa de SJF. Esto significa que el proceso con menor tiempo
para acabar es el siguiente proceso en ejecutarse expropiando la CPU inmediatamente al
proceso que este en ejecución en el instante correspondiente. El problema vendría en el
caso que tengamos un proceso que requiera tiempo de ejecución para finalizar igual que un
proceso nuevo que entra. Existen dos soluciones, dar prioridad a los procesos nuevos sobre
los procesos en ejecución o dar prioridad a los procesos en ejecución sobre los procesos
nuevos.
Ejemplo

Proceso
llegada Tiempo uso CPU
s
P1 0 7
P2 2 4
P3 4 1
P4 5 4

Algoritmos de Procesos ROUND ROBIN


También conocido como RR, Carrousel o planificación por rondas, se reparte el tiempo de
CPU en quantums o rodajas. El funcionamiento es dar una rodaja a cada proceso de forma
secuencial. La selección de entre los procesos activos se gestiona según una cola FIFO o lo
que es lo mismo se elige el que más tiempo lleve esperando.
Si llega un proceso nuevo y hay otro en ejecución, los ciclos de CPU se distribuyen entre
ambos, pero se ejecuta un ciclo de CPU para el proceso de ejecución e inmediatamente se
le asigna un ciclo al recién llegado. Como se puede deducir este algoritmo es expropiativo y
no emplea prioridades. Este algoritmo de planificación es uno de los más complejos y
difíciles de implementar, asigna a cada proceso un tiempo equitativo tratando a todos los
procesos por igual y con la misma prioridad.

Este algoritmo es circular, volviendo siempre al primer proceso una vez terminado con el
último, para controlar este método a cada proceso se le asigna un intervalo de tiempo
llamado quantum o cuanto (para definirlo se utiliza esta regla, el 80% de los procesos
tienen que durar menos tiempo que el quantum definido).

Pueden suceder dos casos con este método


 El proceso es menor que el quantum: Al terminar antes se planifica un nuevo
proceso.
 El proceso es mayor que el quantum: Al terminar el quantum se expulsa el proceso
dando paso al siguiente proceso en la lista. Al terminar la iteración se volverá para
terminar el primer proceso expulsado

Ejemplo con quantum = 4

Proceso
llegada Tiempo uso CPU
s
P1 0 10
P2 1 6
P3 2 3

Algoritmos de Procesos FIFO O FCFS


Es un algoritmo muy sencillo de implementar, basta con emplear una cola Filo, pero corre
el peligro de que un proceso muy largo monopolice la CPU durante mucho tiempo
generando tiempos de espera mayores de los que serían deseables.
Ejemplo

Proceso
llegada Tiempo uso CPU
s
P1 0 24
P2 2 3
P3 4 3
Algoritmos de Procesos de Prioridad
En este tipo de algoritmo el proceso de mayor prioridad es el que se ejecuta. En un
escenario con prioridades estáticas los procesos con menor prioridad podrían no llegar a
ejecutarse, por ejemplo, porque entre continuamente procesos de mayor prioridad. Para
solucionar este problema se introduce el concepto de prioridad dinámica que consiste en
modificar la prioridad inicial de los procesos a medida que transcurre el tiempo y se suelen
hacer atendiendo a diferentes criterios.

 Según la categoría del usuario


 Según el tipo de proceso
 Según la ocupación de CPU de los procesos

Hay que tener en cuenta, además, como en otro tiempo de algoritmos, que la prioridad
puede ser apropiativa o no apropiativa y que, en caso de conflicto, es decir encontramos
con varios procesos con la misma prioridad, el problema nos debería indicar como
resolverlo (sino dice nada el asunto se suele zanjar con FIFO)
Actividades 20/10/202 23/10/202 25/10/202 28/10/202 30/10/2020
0 0 0 0
Inicio e Indagación de
tema

Propuesta de Proyecto

Analisis de Proyecto

Complementacion y
revision

Finalizacion

Algoritmo de Planificación de Procesos


Resultados
Conclusión
Se logró evidenciar la importancia de los algoritmos que son una de las herramientas más
complejas y aplicables en el área no solo de la informática sino también en el mundo
empresarial y de trabajo. Como también las características de cada uno de los tipos de
algoritmos de procesos, Comprobando que mientras más potente, completo y eficiente es el
computador o la aplicación que corre sobre el mismo más grande, complejo y exacto es el
algoritmo que utiliza. Las técnicas de desarrollo de algoritmos nos permiten encontrar la
mejor solución a los problemas que se nos presentan y deben ser solucionados por el
computador, estas técnicas están orientadas para utilizarse en cada uno de los niveles de
complejidad y variedad o alternativas para las cuales se aplican los algoritmos.

También podría gustarte