sábado, 1 de agosto de 2015

Políticas de Administración del Procesador

La administración involucra las distintas maneras a través de las cuales el sistema operativo comparte el recurso el procesador entre distintos procesos que están compitiendo por su uso. Esto implica directamente la multiprogramación y conlleva simultáneamente la sincronización de los mismos.

El sistema multiprogramación el CPU alterna de programa en programa en un esquema de seudo paralelismo, es decir, que el CPU ejecuta en cierto instante, un solo programa intercambiando muy rápidamente entre uno y el otro.

Una política de planificación adecuada, que determina los criterios de elección del siguiente proceso a usar la CPU. Evaluar la calidad de una política de planificación es complejo y presenta diferentes perspectivas, dependiendo de los intereses de las aplicaciones, lo que lleva a definir previamente un conjunto de parámetros de rendimiento. El rendimiento de una determinada política de planificación dependerá también del comportamiento de los programas, por lo que la elección de una u otra política deberá tener en cuenta el tipo de procesos que ejecuta el sistema, fundamentalmente si están orientados a calculo o son interactivos. Algunas aplicaciones, como las de tiempo real, imponen unos requisitos muy particulares en el uso del procesador, lo que hace difícil su convivencia con las aplicaciones habituales en los sistemas de propósito general (de tiempo compartido), conduciendo a políticas de planificación de tiempo real específicas.

Políticas de Administración del Procesador

La idea principal de la administración del procesador tiene que ver con el tiempo que permanecerá un proceso en el procesador. La tarea del administrador del procesador es hacer que un proceso dentro del procesador pase a la lista de procesos listos.

El algoritmo más simple de planificación, este esquema se asigna al CPU el primer proceso que lo solicite, la implementación de esta política se gestiona con una cola FIFO (primero que entra, primero que sale). El sistema operativo es el encargado de decidir que procesos entran en la CPU cuando estas quedan libres, y en qué momento sale de la CPU el proceso que está en ejecución. Todo ello se lleva a cabo a través de una política de planificación de procesos.

Cada proceso tiene signado una propiedad ya sea por medio del sistema operativo o por el usuario. Los procesos se dividen en distintas colas dependiendo de la prioridad, por lo que el planificador elegirá primero los procesos de la primera cola mediante FIFO, y cuando quede vacía elegirá los de la segunda cola.

Esto puede provocar que haya procesos que se queden sin ejecutar debido a esta prioridad, la solución pasaría por aumentar la prioridad, la solución pasaría por aumentar la prioridad progresivamente a los procesos en espera. El sistema operacional debe mantener información sobre todos los procesos del sistema, para ello pueden crearse bloques de control similares al bloque de control de procesos.

  • En ejecución: utiliza la CPU en el instante dado.
  • Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.
  • Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo.

Un proceso podría ser un programa de ejecución, a los procesos frecuentemente se le refiere como tareas. Todos los procesos se ejecutan en modo usuario y parcialmente en modo sistema. La manera como el hardware soporte este modo varia, pero en general hay un mecanismo seguro para pasar de modo usuario a modo sistema.

La política de planificación en cada procesador individual, exactamente igual que si de un monoprocesador se tratase, salvo por el hecho de que en los multiprocesadores en menos relevante para el rendimiento la política que se elija y tanto menos cuanto más procesadores. En la planificación temporal se decide que procesos se ejecutan.

Uno de los objetivos del sistema operativo es la representación de los procesos y el soporte de los cambios de contexto entre procesos, que posibilitan la compartición del recurso CPU. El acceso a otros recursos compartidos y la comunicación entre procesos relacionados (por ejemplo, de una misma aplicación) hacen necesaria la utilización de mecanismos de sincronización dentro del sistema operativo. Típicamente, un proceso requiere la CPU durante un periodo de tiempo, realiza alguna operación de E/S, y vuelve a requerir la CPU, repitiéndose este ciclo hasta la finalización del programa. El proceso para por diversos estados entre los que se definen transiciones, como representa, en su forma más sencilla.

1 comentario:

  1. Buenos días, veo que el post esta bastante incompleto. Falta hablar de mas políticas de administración. Round Robin, Mas corto primero con desalojo, mas corto primero sin desalojo, fifo. Estaría buenísimo que puedas completar este blog. Saludos gracias por compartir la información.

    ResponderEliminar