Gestión y Planificación de Procesos en Sistemas Operativos

Plástica y Educación Artística5,08 KB

Programa y proceso

Uno de los conceptos más importantes que giran en torno a un sistema operativo es el de proceso.

Proceso: es un programa en ejecución que incluye la actividad actual, representada por el valor del contador de programa y el contenido de los registros del procesador. Además, un proceso incluye la pila del proceso, que contiene datos temporales (como parámetros de subrutinas, direcciones de retorno y variables temporales) y una sección de datos que contiene variables globales. Es una abstracción de un programa en ejecución, también llamada tarea.

Un programa es una entidad pasiva, como el contenido de un archivo guardado en disco.

Un proceso es una entidad activa, con el contador de programa especificando la siguiente instrucción que se ejecutará y un conjunto de recursos asociados.

Planificación de procesos

El término planificación de procesos hace referencia a un conjunto de políticas y mecanismos del sistema operativo que gobiernan el orden en que se ejecutan los procesos.

Un planificador de procesos es un módulo del sistema operativo que se encarga de mover los procesos entre las distintas colas de planificación y cuyo objetivo es el de dar un buen servicio a todos los procesos que existan en un momento dado en el sistema. Estos planificadores son:

Planificador a largo plazo (planificador de trabajos)

Es el encargado de escoger procesos para ser cargados en la memoria para que se ejecuten; por lo tanto, en este nivel, es responsable de crear los procesos. También controla el grado de multiprogramación, es decir, el número de procesos que están en la memoria.

Planificador a medio plazo (planificador de swapping)

Decide si un proceso que está en estado bloqueado o listo debe ser extraído de la memoria principal temporalmente, es decir, suspenderlo, así como también se encarga de reanudarlos. Este nivel, por lo tanto, gestiona los procesos suspendidos en espera de algún recurso no disponible en el momento de la suspensión. Es el encargado del intercambio de procesos entre la memoria principal y la memoria secundaria.

Planificador a corto plazo (planificador del procesador)

Es el encargado de escoger un proceso entre los procesos en estado listo y de asignar el procesador al mismo. Por tanto, lleva a cabo las funciones de la multiprogramación, estando siempre residente en memoria y ejecutándose con mucha frecuencia; por ello, debe ser de ejecución muy rápida.

Políticas de planificación

Políticas apropiativas

Son las que producen un cambio de proceso con cada cambio de contexto; es decir, el proceso que está haciendo uso del procesador puede ser temporalmente suspendido, aunque este no haya terminado, y permitir que otro proceso se apropie del procesador. Es útil para sistemas donde algunos procesos requieren atención rápida.

Políticas no apropiativas

Una vez que un proceso tiene asignado el procesador, no se puede retirar del procesador hasta que el proceso lo haga voluntariamente al finalizar o bloquearse. En estas políticas, los trabajos largos retrasan a los cortos, pero el tratamiento para todos los procesos es más justo. Los tiempos de respuesta son más predecibles porque los trabajos nuevos de alta prioridad no pueden desplazar a los trabajos en espera.

Objetivos de las políticas de planificación

Las políticas de planificación intentan cubrir los siguientes objetivos:

  • Justicia: la política debe ser lo más justa posible con todo tipo de procesos, sin favorecer a unos y perjudicar a otros.
  • Máxima capacidad de ejecución: debe dar un servicio aceptable para que todos los trabajos se realicen lo más rápidamente posible. Esto se logra disminuyendo el número de cambios de procesos.
  • Máximo número de usuarios interactivos: en los sistemas de tiempo compartido se tratará de que puedan estar trabajando el mayor número de usuarios simultáneamente.
  • Predictibilidad: la política de planificación debe concebirse de tal forma que en todo momento pueda saberse cómo será su ejecución.
  • Minimización de la sobrecarga: el sistema debe tener poca sobrecarga, ya que esto incide directamente sobre el rendimiento final del mismo: a menor sobrecarga, mayor velocidad de procesamiento.
  • Equilibrio en el uso de recursos: para obtener un buen rendimiento en el uso de los recursos y que estos estén ocupados equitativamente el mayor tiempo posible.
  • Seguridad de las prioridades: si un proceso tiene mayor prioridad que otro, este debe ejecutarse más rápidamente.

Descargar

PDF Word HTML