Resumen de procesos
PLANIFICACION DE PROCESOS
La planificación de procesos es como determina el sistema operativo el orden en que ira trabajando el procesador según lo vayan solicitando y que políticas empleara para que el uso del sistema no sea de tiempo excesivo respecto al uso esperado del sistema.
TIPOS DE PLANIFICACION
A MEDIANO PLAZO: Decide cuales procesos es conveniente bloquear en determinado momento ya sea por escases o saturación de algún recurso o por que están realizando una solicitud que no puede satisfacerse momentáneamente; este se encarga de tomar las decisiones respecto a los procesos conforme entran y salen del estado de bloqueado, quizá en espera durante la espera de algún evento externo o una transferencia de datos.
ALGORITMOS DE PLANIFICACION
El planificador a corto plazo puede ser invocado cuando un proceso se encuentra en algunas de las cuatro siguientes circunstancias:
1. Pasa de estar ejecutando a estar en espera (por ejemplo, por solicitar una operación de E/S, esperar a la sincronización con otro proceso, etc.).
2. Pasa de estar ejecutando a estar listo (por ejemplo, al ocurrir la interrupción del temporizador, o de algún evento externo).
3. Deja de estar en espera a estar listo (por ejemplo, al finalizar la operación de E/S que solicitó).
4. Finaliza su ejecución, y pasa de ejecutando a terminado.
En el primer y cuarto casos, el sistema operativo siempre tomará el control, un sistema siempre que opera bajo multitarea apropiativa implementara también el segundo y tercer casos mientras que uno que opera bajo multitarea cooperativa no necesariamente reconocerá dichos estados.
OBJETIVOS DE LA PLANIFICACION
. Ser Justo
. Maximizar el rendimiento
. Ser predecible
. Minimizar la sobrecarga
. Equilibrar el uso de recursos
. Evitar la postergación indefinida
. Favorecer el uso esperado del sistema
. Dar preferencia a los procesos que podrían causar bloqueo
. Favorecer los procesos con un comportamiento deseable
. Degradarse suavemente
PRIMER LLEGADO PRIMER SERVICIO (FCFS)
Este es un mecanismo cooperativo, con la mínima lógica posible: cada proceso se ejecuta en el orden en que fue llegando, y hasta que suelta el control. El despachador es muy simple, básicamente una cola FIFO.
Si bien un esquema FCFS reduce al mínimo la sobrecarga administrativa (que incluye, tanto al tiempo requerido por el planificador para seleccionar al siguiente proceso, como el tiempo requerido para el cambio de contexto), el rendimiento percibido por los últimos procesos en llegar (o por procesos cortos llegados en un momento inconveniente) resulta inaceptable.
RONDA (ROUND ROBIN)
El esquema ronda busca dar una relación de respuesta buena, tanto para procesos largos como para los cortos. Si un proceso no ha terminado de ejecutar al final de su quantum, será interrumpido y puesto al final de la lista de procesos listos, para que espere a su turno nuevamente.
EL PROCESO MAS CORTO A CONTINUACION (SPN, shortest process next)
Cuando no se tiene la posibilidad de implementar multitarea apropiativa, pero se requiere de un algoritmo más justo, contando con información por anticipado acerca del tiempo que requieren los procesos que forman la lista, puede elegirse el más corto de los presentes.
RONDA EGOISTA (SRR, selfish round robin)
Este método busca favorecer los procesos que ya han pasado tiempo ejecutando que a los recién llegados. De hecho, los nuevos procesos no son programados directamente para su ejecución, sino que se les forma en la cola de procesos nuevos, y se avanza únicamente con la cola de procesos aceptados.
RETROALIMENTACION MULTINIVEL (FB, multilevel feedback)
El mecanismo descrito en la sección anterior, la ronda egoísta, introdujo el concepto de tener no una sino varias colas de procesos, que recibirán diferente tratamiento. Este mecanismo es muy poderoso, y se emplea en prácticamente todos los planificadores en uso hoy en día; Los procesos se ejecutan entre mayor prioridad a menor prioridad.
LOTERIA
Bajo el esquema de la lotería, cada proceso tiene un número determinado de boletos, y cada boleto le representa una oportunidad de jugar a la lotería. Cada vez que el planificador tiene que elegir el siguiente proceso a poner en ejecución, elige un número al azar, y otorga el siguiente quantum al proceso que tenga el boleto ganador.
ESQUEMAS HIBRIDOS
Es una combinación de diversas formas de representación de conocimiento para resolver un problema.
PLANIFICACION DE HILOS
Muchos a uno: Muchos hilos son agrupados en un sólo proceso. Los hilos verdes entran en este supuesto: para el sistema operativo, hay un sólo proceso; mientras tiene la ejecución, éste se encarga de repartir el tiempo entre sus hilos.
Uno a uno: Cada hilo es ejecutado como un proceso ligero; podría dar la impresión de que este esquema desperdicia la principal característica de los hilos, que es una mayor sencillez y rapidez de inicialización que los procesos.
Muchos a muchos: Este mecanismo permite que hayan hilos de ambos modelos: permite hilos unidos, en que cada hilo corresponde a un (y solo un) LWP, y de hilos no unidos, de los cuales uno o más estarán mapeados a cada LWP.
LOS HILOS POSIX (pthreads)
Ámbito de contención de los hilos POSIX (pthreads).
Hay dos enfoques respecto a la contención que deben tener los hilos, esto es: en el momento que un proceso separa su ejecución en dos hilos:
Ámbito de contención de proceso y Ámbito de contención de sistema.
TIEMPO REAL DURO Y SUAVE
Supóngase que un dispositivo genera periódicamente determinada cantidad de información y la va colocando en un área determinada de memoria compartida, al iniciarse su controlador declara al sistema operativo cuánto tiempo de ejecución le tomará recoger y procesar dicha información, liberando el buffer para el siguiente ciclo de escritura del dispositivo, y la frecuencia con que dicha operación tiene que ocurrir.
Los sistemas en que el tiempo máximo es garantizarle son conocidos como de tiempo real duro.
SISTEMA OPERATIVO INTERRUMPIBLE (prevenible)
Para que la implementación de tiempo real suave sea apta para estos requisitos es necesario modificar el comportamiento del sistema operativo.
Para lograr que el núcleo pueda ser interrumpido para dar el control de vuelta a procesos de usuario, un enfoque fue el poner puntos de interrupción en los puntos de las funciones del sistema donde fuera seguro, tras asegurarse que las estructuras estaban en un estado estable.
INVERSION DE PRIORIDADES
Un efecto colateral de que las estructuras del núcleo estén protegidas por mecanismos de sincronización es que puede presentarse la inversión de prioridades. Esto es:
Un proceso A de baja prioridad hace una llamada al sistema, y es interrumpido a la mitad de dicha llamada.
Un proceso B de prioridad tiempo real hace una segunda llamada al sistema, que requiere de la misma estructura que la que tiene bloqueada el proceso A.
Comentarios
Publicar un comentario