Resumen de procesos

 La planificación de procesos 

Se refiere a cómo determina el sistema operativo al orden en que irá cediendo el uso del procesador a los procesos que lo vayan solicitando, y a las políticas que empleará para que el uso que den a dicho tiempo no sea excesivo respecto al uso esperado del sistema.

1. El planificador a largo plazo se encarga de admitir un nuevo proceso: la transición de nuevo a listo. 

2. El planificador a mediano plazo maneja la activación y bloqueo de un proceso relacionado con eventos, esto es, las transiciones entre en ejecución y bloqueado, y entre bloqueado y listo. 

3. El planificador a corto plazo decide entre los procesos que están listos para ejecutarse y determina a cuál de ellos activar, y detiene a aquellos que exceden su tiempo de procesador —implementa las transiciones entre los estados listo y en ejecución

 Objetivos de la planificación

*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

 Algoritmos de planificación

 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étera). 

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. 


Balanceo de cargas 

En un sistema multiprocesador, la situación ideal es que todos los procesadores estén despachando trabajos a 100% de su capacidad. Sin embargo, ante una definición tan rígida, la realidad es que siempre habrá uno o más procesadores con menos de 100% de carga, o uno o más procesadores con procesos encolados y a la espera, o incluso ambas situaciones.

Procesadores con soporte a hilos hardware 

El término de hilos como abstracción general de algo que se ejecuta con mayor frecuencia y dentro de un mismo proceso puede llevar a una confusión, dado que en esta sección se tocan dos temas relacionados. Para esta subsección en particular, se hace referencia a los hilos en hardware (en inglés, hyperthreading) que forman parte de ciertos procesadores, ofreciendo al sistema una casi concurrencia adicional.

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. Cuando un proceso de usuario hace una llamada al sistema, o cuando una interrupción corta el flujo de ejecución, hace falta que el sistema procese completa la rutina que da servicio a dicha solicitud antes de que continúe operando. Se dice entonces que el sistema operativo no es prevenible o no es interrumpible. 


El esquema más simple de planificación es el primero llegado, primero servido (first come, first serve, 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.

Ronda (Round Robin)

Es un método para seleccionar todos los abstractos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al último y empezando de nuevo desde el primer elemento. El esquema ronda busca dar una relación de respuesta buena, tanto para procesos largos como para los cortos. La principal diferencia entre la ronda y FCFS es que en este caso sí emplea multitarea apropiativa. 

El proceso más corto a continuación (SPN, shortest process next)

El trabajo más corto a continuación es ventajoso debido a su simplicidad y porque minimiza la cantidad promedio de tiempo que cada proceso tiene que esperar hasta que se complete su ejecución.

El más penalizado a continuación (HPRN, highest penalty ratio next)

En un sistema que no cuenta con multitarea apropiativa, las alternativas presentadas hasta ahora resultan invariablemente injustas: El uso de FCFS favorece los procesos largos, y el uso de SPN los cortos. Un intento de llegar a un algoritmo más balanceado es HPRN. 

Retroalimentación multinivel (FB, multilevel feedback)

Su objetivo es diferenciar entre distintos tipos de trabajos, para ello dividen la cola de procesos preparados en varias colas, una por cada tipo de trabajo, y no permiten el movimiento de los procesos entre las distintas colas.

Ronda egoísta (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. 

Esquemas híbridos

 Es una combinación de diversas formas de representación de conocimiento para resolver un problema.

Planificación de hilos

Muchos a uno Muchos hilos son agrupados en un sólo proceso. Bajo este modelo, si bien el código escrito es más portable entre diferentes sistemas operativos, los hilos no aprovechan realmente al paralelismo, y todos los hilos pueden tener que bloquearse cuando uno solo de ellos realiza una llamada bloqueante al sistema.

Uno a uno Cada hilo es ejecutado como un proceso ligero. Este mecanismo permite a los hilos aprovechar las ventajas del paralelismo, pudiendo ejecutarse cada hilo en un procesador distinto, y como única condición, el sistema operativo debe poder implementar los LWP (La Web del Programador).

Muchos a muchos Este mecanismo permite que hayan hilos de ambos modelos. El esquema muchos a muchos proporciona las principales características de ambos esquemas; en caso de ejecutarse en un sistema que no soporte más que el modelo uno a muchos, el sistema puede caer en éste como modo degradado.

Los hilos POXIS

Ámbito de contención de proceso Un proceso que consta de varios hilos siguiendo el modelo muchos a uno, o uno que multiplexa varios hilos no unidos bajo un modelo muchos a muchos, se ejecuta bajo este ámbito.

Ámbito de contención de sistema Este ámbito es cuando, en contraposición, cada hilo es visto por el planificador como un proceso independiente; este es el ámbito en el que se ejecutarían los hilos bajo el modelo uno a uno, o cada uno de los hilos unidos bajo un modelo muchos a muchos, dado que los hilos son tratados, para propósitos de planificación, cual procesos normales


TIEMPO REAL 

procesos de tiempo real obtienen una prioridad mucho mayor a otros, normalmente se requerirá al iniciar el proceso que éste declare que durante parte de su ejecución trabajará con restricciones de tiempo real.

 Tiempo real duro y suave

Los sistemas en que el tiempo máximo es garantizable son conocidos como de tiempo real duro.

 Un esquema de tiempo real suave puede implementarse mediante un esquema similar al de la retroalimentación multinivel

Sistema operativo interrumpible (prevenible)

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. Esto, sin embargo, no modifica mucho la situación porque estos puntos son relativamente pocos, y es muy difícil reestructurar su lógica para permitir puntos de prevención adicionales. 

Inversión 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

Administración de memoria 

El único espacio de almacenamiento que el procesador puede utilizar directamente, más allá de los registros (que si bien le son internos y sumamente rápidos, son de capacidad demasiado limitada) es la memoria física.


Comentarios