00:00:03
Bienvenidos estimados estudiantes
00:00:06
vamos a revisar el tema de planificación de procesos
00:00:09
antes de comenzar con la planificación de procesos
00:00:13
hay que revisar conceptos básicos
00:00:16
empezando por ¿qué es un proceso?
00:00:18
un proceso es una tarea que esta en ejecución
00:00:22
así mismo los estados de un proceso
00:00:24
recordemos que son: inicio, listo o preparado en ejecución y bloqueado
00:00:31
porque es importante la planificación de procesos
00:00:34
es importante porque se deben ejecutar en orden ciertas tareas dentro del sistema operativo
00:00:41
los objetivos de la planificación de procesos son: equidad
00:00:45
maximizar la utilización de la CPU
00:00:48
maximizar la productividad
00:00:50
minimizar el tiempo de espera
00:00:52
minimizar el tiempo de retorno
00:00:54
y minimizar el tiempo de respuesta
00:00:57
es así que para poder cumplir cada uno de estos objetivos
00:01:00
hay algoritmos que podemos utilizar para realizar la planificación de procesos
00:01:06
los mas utilizados son el FIFO
00:01:08
o el primero entrar el primero en salir
00:01:10
el SJF primero el trabajo mas corto por prioridad y el ROUND ROBI
00:01:15
vamos a realizar un ejercicio de cada uno de estos algoritmos
00:01:20
empecemos con FIFO
00:01:21
como ya les había comentado FIFO es
00:01:24
el primero en entrar es el primero en salir o el primero en ser atendido
00:01:30
dada esta tabla
00:01:32
de procesos tenemos los trabajos o los procesos: A, B,C, D y E
00:01:38
que tienen una rafaga de CPU según se indica en la tabla
00:01:41
y el tiempo de llegada
00:01:44
como tenemos que ir despachando a estos procesos o a estas tareas
00:01:49
es de acuerdo al tiempo de llegada
00:01:52
como podemos ver aquí el primer proceso en llegar fue el proceso C
00:01:56
que se ejecuta desde cero
00:01:59
hasta tres porque ocupa tres ráfagas de CPU
00:02:02
el siguiente proceso en llegar es el proceso D
00:02:06
el proceso D se ejecuta desde tres hasta siete
00:02:10
porque ocupa cuatro ráfagas de CPU
00:02:14
el siguiente proceso en ejecutarse es
00:02:17
el proceso A que va desde siete hasta diez
00:02:21
el siguiente proceso
00:02:24
es el proceso E
00:02:26
que va desde diez hasta doce
00:02:28
y el último en ejecutarse por llegar en el tiempo cuatro
00:02:33
es el proceso B que ocupa una ráfaga de CPU
00:02:37
para que me sirve el tiempo de espera y el tiempo de retorno para poder determinar cual es el algoritmo mas eficiente
00:02:45
entonces tengo que ir calculando el tiempo de espera de cada uno de los procesos
00:02:50
el tiempo de espera es igual al
00:02:53
tiempo en el que espero para ejecutarse menos el tiempo de llegada, en este caso
00:02:59
el proceso A se empezó a ejecutar en el tiempo siete
00:03:04
y tubo menos el tiempo de llegada; en total tubo que esperar cinco unidades de tiempo para poderse ejecutar
00:03:12
el proceso B se empezó a ejecutar en doce
00:03:16
y llego en el tiempo cuatro entonces tubo que esperar ocho unidades de tiempo
00:03:24
el proceso C se empezó a ejecutar en cero
00:03:27
pero llego en el tiempo cero
00:03:29
entonces no tubo que esperar nada
00:03:33
el proceso D se empezó a ejecutar en tres
00:03:36
y llego en el tiempo uno
00:03:39
entonces espero dos unidades de tiempo
00:03:43
y finalmente el proceso B
00:03:46
empezó a ejecutarse en diez
00:03:48
pero llego en el tiempo tres entonces tubo que esperar siete unidades de tiempo
00:03:54
como saco los tiempos medios de espera sumando cada uno de los tiempos de cada uno de los procesos dividido para el número de procesos
00:04:02
y eso me da tiempo de espera promedio
00:04:07
el tiempo de retorno en cambio es el tiempo en el que termino de ejecutarse completamente un proceso
00:04:14
en este caso
00:04:15
el proceso A se termino de ejecutar en diez
00:04:18
el proceso B se termino de ejecutar en trece
00:04:22
el proceso C termino de ejecutar en tres
00:04:25
el proceso D se termino de ejecutar en siete
00:04:28
y el proceso E se termino de ejecutar en doce
00:04:32
igualmente para el tiempo de retorno medio o el tiempo de retorno promedio
00:04:36
tengo que sumar cada uno de los tiempo de retorno de cada uno de los procesos
00:04:41
dividido para el número de procesos
00:04:43
igual a nueve unidades de tiempo
00:04:47
continuando con el siguiente algoritmo que es
00:04:50
el SJF
00:04:52
o el trabajo mas corto; primero el trabajo mas corto
00:04:57
este puede ser de dos tipos
00:05:00
no apropiativo y apropiativo
00:05:02
vamos a ejecutar el
00:05:05
no apropiativo
00:05:07
el primer proceso en ejecutarse por el tiempo de llegada es el
00:05:11
proceso C ya que llagado en el tiempo cero
00:05:15
recuerden que no se puede ejecutar ningún proceso
00:05:18
sin que antes
00:05:19
no este en la cola de preparados o listos
00:05:24
entonces el proceso C se empieza a ejecutar
00:05:28
hasta tres que es su ráfaga de CPU
00:05:32
hasta el tiempo tres
00:05:35
los procesos que han llegado es el proceso D
00:05:39
el proceso E
00:05:40
y el proceso A
00:05:42
comparo entre esos procesos cual es el que tiene la ráfaga de CPU mas pequeña
00:05:47
en este caso el proceso E porque tiene una ráfaga de dos, entonces se ejecuta el proceso E
00:05:53
desde tres hasta cinco
00:05:55
hasta la unidad cinco
00:05:57
y han llegado todo el resto del proceso y debo comparar
00:06:01
entre el proceso
00:06:03
A
00:06:04
B
00:06:05
y D
00:06:06
cual es el que tiene la menor ráfaga de CPU en este caso es
00:06:10
el proceso B
00:06:11
entonces se ejecuta B de cinco a seis
00:06:14
el siguiente proceso a ejecutarse por ocupar menor cantidad de tiempo en el CPU es el proceso A, se ejecuta de seis hasta nueve
00:06:24
y finalmente se ejecuta el proceso D hasta trece
00:06:28
como se lo había mencionado en el algoritmo FIFO el tiempo de espera se
00:06:35
calcula
00:06:38
con el tiempo que empezó a ejecutarse menos el tiempo de llegada
00:06:42
en este caso el proceso A se empezó a ejecutar en seis menos dos del tiempo de llegada que nos da
00:06:49
cuatro unidades de tiempo
00:06:51
el proceso B se empezó a ejecutar en cinco llegó en cuatro
00:06:56
es igual a una unidad de tiempo, el proceso C se empezó a ejecutar en cero y llego en cero
00:07:01
el proceso C se empezó a ejecutar en nueve
00:07:06
y llego en el tiempo uno entonces tubo que esperar ocho unidades de tiempo
00:07:11
el proceso E se empezó a ejecutar en tres y llego en el tiempo tres
00:07:16
no espero nada
00:07:18
calculando el tiempo medio de espera nos da 2.6 unidades de tiempo
00:07:24
el tiempo de retorno que es el tiempo en el que se termino de ejecutar completamente un proceso
00:07:30
para A tenemos nueve
00:07:32
para B seis
00:07:33
para C tres
00:07:35
para D trece
00:07:36
y para E cinco unidades de tiempo lo que nos da un
00:07:40
tiempo de retorno promedio de 7.2 unidades de tiempo
00:07:46
en cambio el SJF apropiativo es que de acuerdo a como van llegando los procesos
00:07:52
y si este tiene un menor tiempo de ejecución en la CPU se ejecuta ese
00:07:59
entonces el primer proceso que se ejecuta es el primer proceso que a llegado en cero en este caso el proceso C
00:08:07
que se ejecuta
00:08:08
dese cero
00:08:11
hasta tres
00:08:13
el siguiente proceso en ejecutarse
00:08:16
de acuerdo al tiempo de llegada y a las ráfagas de CPU
00:08:21
puede ser el proceso A
00:08:24
el proceso D
00:08:26
o el proceso E
00:08:29
el proceso E
00:08:32
se ejecuta debido a que tiene
00:08:34
menor ráfaga de CPU que en este caso es dos
00:08:38
se ejecuta desde tres hasta cinco
00:08:41
el siguiente proceso en ejecutarse
00:08:45
es el proceso A que se ejecuta
00:08:48
debido a que tiene tres unidades de tiempo a diferencia de los otros procesos y finalmente se ejecuta el proceso D
00:08:56
que tiene cuatro unidades de tiempo igualmente se calcula
00:09:01
los tiempos de espera el tiempo de retorno
00:09:05
y los tiempos de espera promedio y de retorno medio
00:09:10
el algoritmo por prioridad
00:09:15
su regla es que se ejecuta el que tenga la mayor prioridad en este caso se toma que uno es la mayor prioridad y cuatro es el de menor prioridad
00:09:28
el primer proceso en ejecutarse de acuerdo al tiempo de llegada es el proceso C que se ejecuta desde cero hasta tres
00:09:38
el siguiente proceso en ejecutarse de acuerdo al tiempo de llegada
00:09:44
puede ser A
00:09:47
D
00:09:48
o E
00:09:50
comparemos con las prioridades entre
00:09:54
A que tiene una prioridad dos, D que tiene una prioridad tres y E que tiene prioridad cuatro el que tiene que ejecutarse
00:10:03
es el trabajo A debido a su prioridad
00:10:07
entonces el proceso A se ejecuta desde tres hasta seis por la ráfaga de CPU que debe ocupar
00:10:14
hasta el tiempo seis ya han llegado todos los procesos de tal forma que ahora si voy a comparar únicamente cual es la prioridad
00:10:22
de cada uno de los procesos para que se puedan ejecutar
00:10:26
entonces la prioridad entre los procesos D, B y E
00:10:31
la de menor prioridad que la tiene en el proceso
00:10:34
B y el proceso D que es tres pero cual debo ejecutar
00:10:40
cuando tengo este tipo de casos que tienen una misma prioridad
00:10:44
el que a llegado primero
00:10:46
con esto aplico en este caso FIFO el que llego primero en este caso es el proceso D
00:10:54
y ejecuto el proceso D desde seis hasta diez
00:10:58
el siguiente proceso en ejecutarse es el proceso que tiene
00:11:02
la mayor prioridad que en este caso es el proceso B
00:11:06
y que tiene una unidad de ráfaga de CPU
00:11:11
y finalmente el proceso que ha tenido la menor prioridad que en este caso es el proceso E
00:11:16
que se ejecuta dos unidades de tiempo
00:11:19
igualmente calculo el tiempo de espera de acuerdo A, al tiempo en que a empezado a ejecutarse menosel tiempo de llegada
00:11:29
el tiempo medio de espera sumo todos los tiempos de espera dividido para el número de procesos
00:11:35
igualmente el tiempo de retorno que es el tiempo en que los procesos terminaron de ejecutarse completamente
00:11:42
para el tiempo medio o promedio de retorno sumo todos los tiempos de retorno dividido para el número de procesos
00:11:52
otro de los algoritmos bastante utilizados es el algoritmo ROUND ROBIN
00:11:57
este tiene una unidad o un cuantun en el que se deben ir ejecutando cada uno de los procesos para lo cual se aplica FIFO de acuero al tiempo de llegada
00:12:08
pero únicamente pueden permanecer en la CPU tres unidades de tiempo en el caso de este cuantun
00:12:16
en este caso el primer proceso en ejecutarse es el proceso C
00:12:21
porque llegado en el tiempo cero solo puede ocupar tres unidades de tiempo
00:12:26
y la ráfaga de CPU de este proceso a sido de tres
00:12:30
el siguiente proceso en ejecutarse es el proceso D
00:12:36
se ejecuta tres unidades de tiempo sin embargo me queda pendiente una unidad por ejecutarse del proceso D
00:12:46
luego se ejecuta el proceso A
00:12:49
que se ejecuta desde seis hasta nueve
00:12:52
que son las unidades de tiempo del cuántun que puede estar máximo en el procesador
00:13:00
el siguiente proceso en ejecutarse es el proceso E
00:13:04
que se ejecuta dos unidades de tiempo y el
00:13:08
proceso que faltaba por ejecutarse es el proceso B
00:13:11
que se ejecuta una unidad de tiempo
00:13:15
sin embargo me falta volver a ejecutar el proceso D porque estaba pendiente una unidad de tiempo entonces ejecuto el proceso D desde doce hasta trece
00:13:26
el tiempo de espera varía un poco de acuerdo al número de repeticiones
00:13:32
o de espera de un proceso
00:13:35
para los procesos que no han vuelto ha ponerse en la cola del ROUND ROBIN no hay ningún problema se calcula de la misma forma anterior
00:13:44
el tiempo que empezó a ejecutarse menos el tiempo de llegada
00:13:50
en el caso del proceso D se empezó a ejecutar en tres
00:13:55
y llego en el tiempo uno
00:13:58
pero a eso le debo sumar todo el tiempov
00:14:01
que tubo que esperar el proceso D para volverse a ejecutar
00:14:06
en este caso
00:14:08
de seis a nueve tengo tres unidades de tiempo
00:14:12
de nueve a once tengo dos unidades
00:14:16
que serían tres mas dos cinco
00:14:18
y mas el tiempo que se encuentra en B que es uno
00:14:23
sería seis unidades de tiempo entonces
00:14:26
todo este tiempo que estuvo esperando el proceso
00:14:30
D para volverse a ejecutar
00:14:32
que son seis unidades tengo que sumar
00:14:35
a tres menos uno
00:14:37
mas seis que me da ocho
00:14:40
ese es el tiempo de espera del proceso D
00:14:44
igualmente subo todos los tiempos de espera
00:14:48
y divido para el número de procesos y me da las unidades de tiempo
00:14:53
en el tiempo de retorno
00:14:56
que es el tiempo en el quie se termino de ejecutar completamente el proceso
00:15:00
en el caso del proceso A es nueve del proceso B es doce y del proceso D es trece
00:15:06
tomo únicamente el tiempo el último tiempo en el que termino de ejecutarse ese proceso
00:15:12
en el caso de E es once
00:15:15
igualmente el tiempo de retorno medio promedio es la suma de todos los procesos dividido para el número de procesos
00:15:21
esto me da una suma de nueve unidades de tiempo
00:15:25
para poder escoger cual es el algoritmo mas eficiente para ejecutar cierto conjunto de tareas
00:15:33
comparo las unidades
00:15:36
de tiempo que se ha demorado en promedio cada uno de los algoritmos y eso me sirve
00:15:41
para poder elegir un algoritmo eficiente para que se ejecute ese proceso
00:15:47
gracias