Foro Analizar Las Estrategias de Los Algoritmos de Planificación de Procesos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA

La Universidad Católica de Loja

MODALIDAD ABIERTA Y A DISTANCIA

Titulación de Ingeniería en Tecnologías de la Información

FORO:

Analizar las estrategias de los algoritmos de planificación de procesos.

2do BIMESTRE

ARQUITECTURA DE COMPUTADORAS

Autor: Lenin Rodrigo Villalba Santos

101-RED

[email protected]

QUITO – ECUADOR

ABR/2023 – AGO/2023
ALGORITMOS DE PLANIFICACIÓN DE PROCESOS
 Explica la concurrencia en relación con la planificación y despacho.
 Analice los principales criterios de los diferentes algoritmos de planificación.
 El tema central de la discusión será la combinación de algoritmos de
planificación de procesos.
Para el siguiente re trabajo se utilizará la misma definición de proceso como detalla
el libro guía: Un proceso es un programa en ejecución.
Los procesos cuanta con
 Inicio o creación (ejecución del proceso).
 El proceso en si (calculo y resolución).
 Terminación del proceso.
La Creación de dichos procesos se puede dar por:

Y las terminaciones de los procesos también se pueden dar por:

Los estados de los procesos, es decir, las actividades en cierto momento


determinado pueden ser los siguientes:
Pueden ocurrir las distintas transiciones mencionadas a continuación:

El block de procesos está compuesto por:

Procesos Independientes y cooperativos:


Independientes:
Son aquellos que NO afectan y NO pueden verse afectados por otros procesos
Cooperativos:
Son aquellos que afectan o pueden verse afectados por otros procesos
La cooperación de procesos se puede dar por las siguientes razones:
 Compartir información
 Aceleración de cálculos
 Modularidad
 Conveniencia
Comunicación entre procesos:
El proceso cooperativo es necesario que compartan una reserva común de buffers
y que el programador de la aplicación escriba de manera explícita el código para
implementar el buffer.
Planificación de la CPU

Criterios de planificación:

Algoritmos de planificación:
1. Algoritmo FIFO (Primero en entrar, primero en salir)
El algoritmo FIFO (First-In, First-Out).
Se basa en el principio de que los elementos que se ingresan primero son los
primeros en ser procesados o eliminados.

1. Se utiliza una estructura de datos llamada cola para almacenar los


elementos. Una cola es una colección de elementos en la que se pueden
agregar elementos al final y eliminar elementos del frente.
2. Cuando se recibe un nuevo elemento, se agrega al final de la cola.
3. Cuando se necesita procesar o eliminar un elemento, se toma el elemento
que se encuentra en el frente de la cola, es decir, el primer elemento que se
agregó.
4. Se procesa o elimina el elemento del frente de la cola.
5. El siguiente elemento en la cola se convierte en el nuevo frente de la cola.
6. Se repite el paso 4 y 5 según sea necesario para procesar o eliminar los
elementos de la cola.

El algoritmo FIFO se utiliza en diversas áreas, como la gestión de memoria en


sistemas operativos, la planificación de procesos en sistemas de tiempo compartido
y la gestión de datos en estructuras de almacenamiento, entre otros.
EJEMPLOS

2. Algoritmo SJF (Primero el trabajo más corto)


El algoritmo SJF (Shortest Job First).
también conocido como algoritmo de planificación de trabajos más cortos primero,
es un algoritmo de planificación de procesos en sistemas operativos. Se basa en el
principio de que el proceso más corto tiene prioridad para ser ejecutado antes que
los procesos más largos.

El funcionamiento básico del algoritmo SJF es el siguiente:

1. Se evalúa la duración o tiempo de ejecución de cada proceso en la cola de


procesos pendientes.
2. Se selecciona el proceso con la duración más corta como el próximo
proceso a ejecutar.
3. El proceso seleccionado se ejecuta hasta su finalización.
4. Si llega un nuevo proceso mientras otro proceso está en ejecución, se
compara su tiempo de ejecución con el proceso actualmente en ejecución.
5. Si el nuevo proceso tiene un tiempo de ejecución más corto que el proceso
actualmente en ejecución, se produce una preempción y el nuevo proceso
reemplaza al proceso en ejecución.
6. Se repiten los pasos 1 al 5 hasta que se hayan completado todos los
procesos en la cola de procesos pendientes.

El algoritmo SJF se utiliza para minimizar el tiempo de espera promedio de los


procesos y maximizar la utilización de la CPU. Al dar prioridad a los procesos más
cortos, se reduce el tiempo de espera de los procesos más largos, lo que puede
mejorar la eficiencia general del sistema.
Es importante destacar que el algoritmo SJF puede ser no apropiativo (no
preemtivo) o apropiativo (preemtivo). En el caso no apropiativo, una vez que un
proceso comienza su ejecución, no se le puede interrumpir. En el caso apropiativo,
si llega un nuevo proceso con un tiempo de ejecución más corto, puede interrumpir
y reemplazar al proceso en ejecución.
El algoritmo SJF es utilizado en diversas áreas, como la planificación de procesos
en sistemas operativos, la gestión de tareas en sistemas en tiempo real y la
programación de lotes en sistemas de producción, entre otros.

EJEMPLOS

3. Algoritmo por prioridad


El algoritmo de prioridad es un enfoque de planificación de procesos en sistemas
operativos donde cada proceso se asigna una prioridad numérica. La prioridad se
utiliza para determinar el orden de ejecución de los procesos, donde los procesos
con prioridades más altas se ejecutan antes que aquellos con prioridades más
bajas.

A continuación, se detalla el funcionamiento básico del algoritmo de prioridad:

1. Asignación de prioridades: A cada proceso se le asigna una prioridad, que


generalmente es un número entero. Las prioridades pueden ser asignadas
de forma estática (definidas previamente y no cambian durante la ejecución)
o dinámica (pueden cambiar en función del comportamiento del proceso).
2. Selección del proceso: En cada ciclo de planificación, el sistema operativo
selecciona el proceso con la prioridad más alta para ejecutar. Si hay varios
procesos con la misma prioridad más alta, se puede utilizar otro algoritmo,
como FIFO o round-robin, para decidir cuál ejecutar primero.
3. Ejecución del proceso: El proceso seleccionado se ejecuta hasta que se
produce una interrupción, como una solicitud de E/S (entrada/salida) o la
finalización del proceso.
4. Actualización de prioridades: Dependiendo de la política de asignación de
prioridades, las prioridades pueden actualizarse después de cada ciclo de
planificación. Por ejemplo, se podría aumentar la prioridad de un proceso
que ha estado esperando durante mucho tiempo para evitar la inanición.
5. Cambio de contexto: Cuando se selecciona un nuevo proceso para ejecutar,
se realiza un cambio de contexto, que implica guardar el estado actual del
proceso en ejecución, incluyendo los registros y el contador de programa, y
restaurar el estado del nuevo proceso seleccionado para su ejecución.

El algoritmo de prioridad se puede implementar de dos maneras diferentes: sin


preempción y con preempción.

 Sin preempción: Un proceso en ejecución no puede ser interrumpido por otro


proceso con una prioridad más alta. Solo cuando el proceso en ejecución se
bloquea o termina, se selecciona el siguiente proceso con la mayor prioridad
para ejecutar.
 Con preempción: Si un nuevo proceso con una prioridad más alta llega al
sistema o se desbloquea, se produce una preempción y el nuevo proceso
reemplaza al proceso en ejecución, incluso si este último no ha finalizado.

Es importante tener en cuenta que el algoritmo de prioridad puede sufrir el


problema de inanición (starvation) si un proceso con una prioridad baja nunca tiene
la oportunidad de ejecutarse debido a la presencia constante de procesos con
prioridades más altas. Para evitar esto, se pueden utilizar técnicas como el
envejecimiento de procesos, donde las prioridades de los procesos se incrementan
gradualmente mientras esperan en la cola.

En resumen, el algoritmo de prioridad es una técnica de planificación de procesos


que utiliza la prioridad asignada a cada proceso para determinar su orden de
ejecución. Esto permite dar prioridad a ciertos procesos en función de su
importancia o necesidad de recursos, optimizando así el rendimiento y la utilización
de los recursos del sistema operativo.

EJEMPLOS
4. Algoritmo Round Robin (espera circular)
El algoritmo Round Robin es un método de planificación de procesos utilizado en
sistemas operativos. Es conocido por su enfoque de asignación equitativa del
tiempo de CPU a todos los procesos en ejecución. Cada proceso recibe un
pequeño intervalo de tiempo llamado "quantum" o "slice" antes de ser
intercambiado con otro proceso, siguiendo un ciclo circular.

A continuación, se detalla el funcionamiento básico del algoritmo Round Robin:

1. Asignación de quantum: Se establece un valor fijo para el quantum, que


representa el tiempo máximo de ejecución que se le otorga a cada proceso
antes de ser intercambiado con otro. Por ejemplo, si se asigna un quantum
de 10 milisegundos, cada proceso tendrá la CPU durante 10 milisegundos
antes de ser intercambiado.
2. Orden de llegada: Los procesos se colocan en una cola en el orden en que
llegan al sistema operativo.
3. Selección del proceso: El sistema operativo selecciona el primer proceso en
la cola y le asigna el quantum completo para su ejecución.
4. Ejecución del proceso: El proceso seleccionado se ejecuta durante el tiempo
asignado (el quantum). Si el proceso finaliza su ejecución antes de que se
agote el quantum, se intercambia con el siguiente proceso en la cola. Si el
proceso aún tiene tiempo restante después de ejecutarse, se pone al final de
la cola y se selecciona el siguiente proceso.
5. Cambio de proceso: Cuando se agota el quantum de un proceso, se produce
un cambio de contexto y se guarda el estado del proceso en ejecución,
incluyendo los registros y el contador de programa. Luego, el siguiente
proceso en la cola se selecciona para su ejecución y se restaura su estado
previo.
6. Repetición del ciclo: Los pasos 4 y 5 se repiten continuamente en un ciclo
hasta que todos los procesos en la cola hayan finalizado su ejecución.

El algoritmo Round Robin es conocido por su equidad en el tiempo de CPU


asignado a cada proceso, ya que todos los procesos reciben oportunidades iguales
de ejecución. Esto es especialmente útil en entornos de multiprocesamiento o
multitarea, donde varios procesos comparten los recursos de la CPU.
Sin embargo, el algoritmo Round Robin puede tener ciertas limitaciones. Si el
quantum es demasiado largo, los procesos pueden experimentar una mayor
latencia y respuesta lenta. Por otro lado, si el quantum es demasiado corto, el
cambio de contexto frecuente puede generar una sobrecarga adicional.
En resumen, el algoritmo Round Robin es un enfoque de planificación de procesos
que distribuye equitativamente el tiempo de CPU entre los procesos en ejecución
utilizando un quantum predefinido. Proporciona una planificación justa y
razonablemente eficiente en términos de utilización de la CPU.
EJEMPLOS

REFERENCIAS BIBLIOGRAFICAS
GUIA DIDACTICA
 Castillo, T. Cueva S. (2020). Arquitectura de Computadoras y Sistemas
Operativos Guía Didáctica. Ediloja Cía. Ltda.

También podría gustarte