ALGORITMOS DE PLANIFICACION

By: Hector García

Get Started. It's Free
or sign up with your email address
ALGORITMOS DE PLANIFICACION by Mind Map: ALGORITMOS DE PLANIFICACION

1. Primero en llegar, primero en ser atendido (FIFO)

1.1. Este es el algoritmo más simple de todos donde los procesos son ingresados a la CPU en el orden que se recibieron.

1.1.1. Característica:

1.1.1.1. El proceso de larga duración detendrá a los demás hasta que termine.

2. Calendarización por porción equitativa

2.1. Metodología que toma en cuenta a quien pertenecen los procesos en ejecución.

2.1.1. Su condición es:

2.1.1.1. Si 2 usuarios tienen la misma prioridad ante el sistema, entonces sin importar la cantidad de procesos que tenga cada uno, se deberá entregar el 50% de la CPU a cada usuario.

3. Calendarización por lotería

3.1. Se determina la entrada a la CPU de un proceso de acuerdo con la cantidad de "billetes" de lotería que este posee, de esta forma se indicará la prioridad del proceso.

3.1.1. Función:

3.1.1.1. Al momento de seleccionar el proceso siguiente al entrar a la CPU, se sortea un número entre los billetes entregados.

4. Trabajo más corto primero (SJF: Shortest Job First)

4.1. Algoritmo no expropiativo que al conocer a prioridad los tiempos de ejecución de los procesos, os ordena de acuerdo a su duración.

4.1.1. Característica:

4.1.1.1. Acorta los tiempos promedio de ejecución considerablemente, pero solo si se tienen disponibles todos los procesos simultáneamente.

5. Tiempo restante a continuación

5.1. Variación expropiativa de SJF donde al llegar un proceso, su tiempo de ejecución se compra con el restante del proceso actual.

5.1.1. Objetivo:

5.1.1.1. Es revisar si el tiempo del nuevo proceso es menor, se suspende el actual para ingresar el recién llegado.

6. Calendarización Garantizada

6.1. Enfocado en sistemas multiusuarios, en donde entrega porciones equitativas de CPU a cada uno.

6.1.1. Objetivo:

6.1.2. Repartir 1/N de la capacidad del CPU si en el caso se tuvieran N usuarios.

6.1.3. Su implementación:

6.1.3.1. Se debe de contar el tiempo de CPU que ha recibido cada uno y luego se calcula el tiempo que le corresponde.

6.1.3.2. Tiempo_Ejecución = Relación

6.1.3.3. Tiempo_Real

6.1.4. Su condición es:

6.1.4.1. Si la relación es bajo 1/N entonces el proceso se ha ejecutado menos de lo que debe.

6.1.4.2. Si es mayor, entonces se ha ejecutado más de lo que debe tomando el sheduler otros procesos hasta que la relación se equipare.

7. Turno Circular (Round Robin)

7.1. Cada proceso recibe un quantum de tiempo en la CPU, debiendo abandonarla al término del mismo

7.1.1. Requisitos:

7.1.1.1. Tener una lista de procesos sobre la cual ciclar.

7.1.2. Problemas:

7.1.2.1. Si el quantum es muy pequeño, entonces se desperdiciará mucho tiempo en labores administrativas.

7.1.2.2. Si el quantum es muy grande, el usuario percibirá al sistema como lento.

8. Por prioridad

8.1. Cada proceso tiene asignado un valor prioridad.

8.1.1. Objetivo:

8.1.1.1. Seleccionar aquel proceso con mayor prioridad que esté listo para correr y así poder entrar a la CPU.

8.1.2. Puede ser:

8.1.2.1. De forma estática (al inicio del proceso)

8.1.2.2. De forma dinámica (durante la ejecución)

8.1.3. Problema:

8.1.3.1. Los procesos de alta prioridad pueden acaparar la CPU provocando starvation a los procesos de baja prioridad.