PLANIFICACION DEL PROCESO

ARLIN DE JESUS

Arlin de Jesus

Debe utilizar un navegador compatible JAVA para visualizar esta página correctamente

Planificación de Procesos En un sistema multiprogramado, de tiempo compartido existe la posibilidad de tener muchos procesos ejecutándose en el sistema concurrentemente. La concurrencia de procesos se logra en base a la compartición de recursos. Dado que un proceso incluye recursos, tales como memoria, para almacenar datos, pila y código ejecutable, también involucra el recurso para el procesamiento que está reflejado en el procesador y los registros que el maneja. Esta compartición es regulada y controlada por el sistema operativo.

El control del sistema operativo debe asegurar que los procesos no sean interferidos unos con otros. Esto significa que el S.O. debe garantizar que los procesos tengan acceso a los recursos de memoria y CPU, y además debe asegurar la protección, de manera que un proceso no pueda arbitrariamente modificar el estado de otro.

La utilización de la multiprogramación tiene como consecuencia la mayor utilización de la CPU y una mayor productividad. La productividad es una medida que esta relacionada con la cantidad de trabajos realizados en un rango de tiempo. De esta manera si un proceso se ejecuta completamente en 2 minutos, pero durante ese tiempo el tiempo que espera por E/S es de 1,5 minutos, entonces se esta desperdiciando 1,5 minutos de tiempo de CPU.

Con la multiprogramación ese tiempo perdido puede ser aprovechado con la ejecución de otros procesos que requieran de atención de CPU. El sistema operativo utiliza para la planificación de procesos Colas de planificación. Para explicar como el sistema operativo opera con colas, recordemos que los procesos pueden encontrarse en uno de tres estados (en ejecución, listo y bloqueado).

En este sentido, si un proceso está en ejecución implica que está utilizando el recurso de CPU; si un proceso esta en estado listo significa que está esperando por la CPU, luego este estado permite que exista una cola de procesos que estén esperando por la CPU; si un proceso está bloqueado significa que espera por un evento externo, luego este estado también puede tener una cola de procesos que esperen por los eventos que les corresponden. A continuación se presenta un diagrama que muestra como funciona esto.

En la figura se aprecian los siguientes cambios: 1. Si a un proceso en ejecución se le acaba su tiempo asignado pasa a la cola de procesos listos 2. Si un proceso en ejecución requiere esperar por un evento pasa a la cola de bloqueados 3. Si un proceso de la cola de bloqueados recibe el evento esperado pasa a la cola de procesos listos Las funciones de la planificación de procesos son realizadas mediante dos módulos principales, uno está relacionado con los criterios considerados para la decición de que proceso de la cola de listos se le asignará CPU; y un segundo módulo que tiene como labor efectiva de ejecutar el proceso elegido. El primer módulo depende del tipo de planificación que adopta el sistema en términos generales y en particular del algoritmo específico que se utilizará para la elección del proceso a ser despachado.

El segundo módulo corresponde a uno conocido como Despachador, cuya labor se refleja a través del siguiente algoritmo. Por otro lado, las funciones relacionadas con la planificación de procesos obedecen a los siguientes objetivos:

1. Equidad: Este objetivo consiste en compartir la CPU equitativamente, sin priviligiar notoriamente algún tipo de proceso. 2. Maximizar la utilización de la CPU: Las funciones que realice el planificador de procesos tienden a mantener la CPU utilizada la mayor parte del tiempo. 3. Maximizar la productividad: La productividad es una medida del rendimiento, que se refleja con la cantidad de tareas que puede realizar la CPU en un intervalo de tiempo. 4. Minimizar el tiempo de espera: Este tiempo corresponde al tiempo en que un proceso está en la cola de procesos listos, es un tiempo de espera por asignación de CPU. 5. Minimizar el tiempo de retorno: Este tiempo corresponde al tiempo total en que se utiliza para la ejecución completa del proceso. Este tiempo se asocia en general al tiempo de ejecución de los procesos por lotes (batch). 6. Minimizar el tiempo de respuesta: Este tiempo está relacionado con los tiempos de respuesta parciales de los procesos interactivos. Puesto que estos procesos se caracterizan porque interactuan con el medio constantemente durante la ejecución completa del proceso.

En términos generales, la planificación de procesos de un sistema operativo puede adoptar uno de dos conceptos de planificación. Estos conceptos de tipo de planificación se presentan a continuación: 1. Planificación No apropiativa: Este tipo consiste en que el planificador de procesos puede quitar la CPU a un proceso, sólo en dos casos: cuando un proceso cambia de estado de ejecución a bloqueado, y cuando un proceso termina. 2. Planificación Apropiativa:Este tipo consiste en que el planificador tiene las facultades de quitar la CPU a un proceso que está en ejecución Cada uno de estos tipos de planificación tienen asociados un conjunto de algoritmos que veremos en las siguientes secciones.


Escribeme !!! [email protected]


© Copyright Arlin de Jesus - 2000