PROCESOS DE PLANIFICACIÓN.
PLANIFICACIÓN EN SISTEMAS INTERACTIVOS
Planeació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, cuando 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 planificado expropiativo tradicional basado en prioridades. Usado en los sistemas multiprogramados que no son de tiempo real. En tiempo real la prioridad se ajusta con base a las restricciones de tiempo de la tarea, ejemplo, planificación monótona en frecuencia (RMS).
Planeació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 EN SISTEMAS DE PROCESAMIENTO POR LOTE
Se conoce como sistema por lotes (en inglés batch processing), o modo batch, a la ejecución de un programa sin el control o supervisión directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan porque su ejecución no precisa ningún tipo de interacción con el usuario.
Generalmente, este tipo de ejecución se utiliza en tareas repetitivas sobre grandes conjuntos de información, ya que sería tedioso y propenso a errores realizarlo manualmente. Un ejemplo sería el renderizado de los fotogramas de una película. Otros ejemplos de procesos batch pueden ser la generación de extractos bancarios, el cálculo de intereses corrientes o moratorios de cuentas de crédito, la generación automática de archivos de interfaz con otros sistemas, etc.
Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qué se quiere ejecutar y, posiblemente, qué tipo de recursos necesita reservar.
Programas batch : Algunos programas conocidos que pueden funcionar en modo por lotes: GIMP (GNU Image Manipulation Program),1 R-project, gnuplot, GNU Octave, command.com, EXEC II, entre otros muchos.
Realmente, casi cualquier programa puede ejecutar en modo batch, siempre y cuando pueda especificarse los distintos pasos de ejecución o las entradas de usuario a partir de un script.
Es importante no confundir el procesamiento por lotes con los programas o archivos .bat de los sistemas batch (de los cuales heredan su nombre debido a su metodología). Como bien está explicado más arriba, estos archivos se ejecutan de manera secuencial, y cerrando la ejecución al usuario ya que este no puede interactuar ni intervenir en el programa que se ejecuta.
Frente a este tenemos los 'Sistemas por batch', los cuales son una manera de llevar a cabo el proceso de la información, en lenguaje llano, una manera de hacer informática, en estos sistemas los programas y tareas se ejecutan de manera secuencial, no porque el programa lo exija como es el caso de los .bat, sino porque no conocía otra forma de ejecución.
Topic principal
PLANIFICACIÓN EN SISTEMA DE TIEMPO REAL
clasifican
Procesos periódicos : Se activan repetidamente a ciertos intervalos de tiempo
Procesos aperiódicos. Se activan en función del caso y tienen requisitos de tiempo
críticos
Procesos de segunda categoría. Ellos no tienen requisitos de tiempo y se ejecutan
cuando no hay procesos en ejecución en tiempo real, y allí también hay procesos esperando en la cola.
PLANIFICACIÓN DE HILOS
Todo planificador de procesos emplea uno o varios criterios (scheduling policy, en inglés) que determinan el criterio de selección del proceso que empleará el procesador.
Además de ofrecer una alta tasa de transferencia (throughput) y una baja latencia (latency), es deseable que un planificador implemente las siguientes características:
Repetitividad: con cargas de trabajo similares (cantidad de procesos a atender), el planificador debe comportarse de manera similar.
Predecibilidad: hace referencia al tiempo de terminación de un proceso para cierta carga de trabajo, que debe ser similar para cargas de trabajo parecidas.
Eficiencia: debe tomar decisiones rápidas para aumentar el rendimiento.
Evitar conmutaciones innecesarias: de nuevo, para aumentar el rendimiento y reducir la penalización asociada.
Atención de prioridades: uso de criterios de selección basados en prioridades
Degradación uniforme del rendimiento: a mayores cargas de trabajo el rendimiento debe degradarse uniformemente.
Capacidad de respuesta instantánea: los tiempos de espera para atender a un proceso deben ser aceptables de cara al usuario, generalmente <100ms para seres humanos.