Planificación

Publicado: octubre 4, 2012 en Uncategorized

En Solaris
El manejo de procesos en Solaris es por prioridad y round robin. En algunas versiones se maneja también un ajuste dinámico de la prioridad de acuerdo al tiempo que los procesos han esperado y al tiempo que ya han usado el CPU. El sistema provee facilidades para crear ‘pipes’ entre procesos, contabilizar el uso de CPU por proceso y una pila común para todos los procesos cuando necesitan estarse ejecutando en modo privilegiado (cuando hicieron una llamada al sistema). Solaris permite que un proceso haga una copia de sí mismo por medio de la llamada ‘fork’, lo cual es muy útil cuando se realizan trabajos paralelos o concurrentes; también se proveen facilidades para el envío de mensajes entre procesos. Recientemente Sun Microsystems, AT&T, IBM, Hewlett Packard y otros fabricantes de computadoras llegaron a un acuerdo para usar un paquete llamado ToolTalk para crear aplicaciones que usen un mismo método de intercambio de mensajes.

 Planificación en POSIX

cada política de planificación tiene asociada al menos 32 niveles de prioridad

el planificador elige el proceso con la mayor prioridad

En Linux

Puede haber a la vez en el sistema procesos con distinta política de planificación establecida. En realidad cada proceso se puede planificar de varias maneras, las políticas de planificación de un proceso se pueden cambiar en tiempo de ejecución.

Linux está basado en la planificación tradicional de Unix  añadiendo 2 clases de prioridad para procesos de tiempo real flexibles. Las clases de planificación de Linux son las siguientes:

SCHED_OTHER : Es la planificación clásica de UNIX. No es aplicable a tiempo real. Examina las prioridades dinámicas (calculadas como combinación de las especificadas por el usuario y las calculadas por el sistema). Los procesos que llevan más tiempo en el sistema van perdiendo prioridad.

SCHED_FIFO : El sistema FIFO o FCFS (First to Come is First Served).Los procesos esperan en cola y se ejecutan secuencialmente. Se sigue calculando un cuantum de tiempo para el proceso, generalmente no se usa porque con esta planificación no se fuerza al proceso a abandonar la CPU. Se usa en procesos de tiempo real.

Windows 

Por lo general en Windows se utiliza una política de planificación: Round Robin. La desventaja principal es que cambia los procesos en ejecución con demasiada frecuencia. Lo que supone una pequeña pérdida de tiempo.

Además Las prioridades en W2K se organizan en dos bandas o clases: tiempo real y variable. Cada una de estas bandas consta de 16  niveles de PRIORIDAD. Los hilos que requieren atención inmediata están en clase de tiempo real, que incluye funciones como comunicaciones tareas de tiempo real.  En general, puesto que W2K utiliza un planificador preferente con prioridades, los hilos con prioridades de tiempo real tienen preferencia sobre los otros hilos. En un monoprocesador, cuando un hilo cuya prioridad es mayor que la del que se ejecuta en ese momento pasa a estar Listo, el hilo de menor prioridad es expulsado y se asigna el procesador al de mayor prioridad. En la clase de prioridad de tiempo real, todos los tienen una prioridad fija que no cambia nunca.

Hay una cola FIFO en cada nivel de prioridad, pero un proceso puede emigrar a una de las otras colas dentro de la clase de prioridad variable. Sin embargo un hilo de prioridad no puede promocionarse a ningún otro nivel de la clase de tiempo real.

Planificacion Multiples  procesadores

  • La planificación es más compleja cuando se tienen varios procesadores.
  • Escenarios: Asignación de procesos a procesadores, uso de la multiprogramación en cada procesador individual, activación del proceso, propiamente dicho.
  • La carga se comparte (una cola por procesador?)
  • Una cola para todos los procesadores?.
  • Multiprocesamiento simetrico (SMP)- cada procesador tiene sus propias decisiones de planificación y consulta la cola de listos.
  • Multiprocesamiento Asimétrico (ASMP) – Solo un procesador accede a las estructuras de datos del sistema, obviando la necesidad de compartir datos.

Planificación de tiempo real estática:

No se ajustan las prioridades con el tiempo, poca recarga en el sistema, para procesos donde las condiciones eventualmente cambian

  • Estática dirigida por tabla(plan): determina en tiempo de ejecución, cuándo debe comenzar a ejecutarse cada tarea. Se aplica a tareas periódicas
  • Estática con expropiación dirigida por prioridad(sin plan): Se utiliza un planificador expropiativo tradicional basado en prioridades. Usado en los sistemas miltiprogramados que no son de tiempo real. En tiempo real la prioridad se ajusta con base a las restricciones de tiempo de la tarea, Ej, planificación monótona en frecuencia(RMS)

Planificación de tiempo real dinámica:

Ajusta las prioridades en respuesta a condiciones cambiantes, puede tener una significativa sobrecarga, pero debe asegurar que ella no genere incumplimiento en los tiempos.

  • Dinámica basada en un plan: La factibilidad se determina en tiempo de ejecución.
  • Dinámica basada en el mejor esfuerzo: No se realiza análisis de factibilidad. El sistema trata de cumplir con todos los plazos y abandona cualquier proceso ya iniciado y cuyo plazo no se haya cumplido.

PLANIFICACIÓN POR PLAZOS

 

Las aplicaciones de tiempo real no se preocupan tanto de la velocidad de ejecución como de completar sus tareas.

El proceso debe completarse en un tiempo específico

  • Se utiliza cuando los resultados serían inútiles si no se realiza el proceso a tiempo.
  • Difícil de implementar
    • Debe prever un plan de requerimientos de recursos
    • Genera significativamente sobrecarga
    • El servicio proporcionado a los otros procesos se puede degradar
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s