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.
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