Programación de trabajo

Definición: ¿Qué significa la programación de trabajos?

La programación de trabajos es el proceso de asignar recursos del sistema a muchas tareas diferentes mediante un sistema operativo (SO). El sistema maneja las colas de trabajos priorizados que están esperando el tiempo de la CPU y debe determinar qué trabajo se tomará de qué cola y la cantidad de tiempo que se asignará al trabajo. Este tipo de programación asegura que todos los trabajos se lleven a cabo de manera justa y a tiempo.

La mayoría de los sistemas operativos como Unix, Windows, etc., incluyen capacidades estándar de programación de trabajos. Varios programas que incluyen sistemas de administración de bases de datos (DBMS), respaldo, planificación de recursos empresariales (ERP) y administración de procesos comerciales (BPM) también cuentan con capacidades específicas de programación de trabajos.

Techinfo explica la programación de trabajos

La programación de trabajos se realiza mediante programadores de trabajos. Los programadores de trabajos son programas que permiten programar y, en ocasiones, rastrear trabajos "por lotes" de la computadora, o unidades de trabajo como el funcionamiento de un programa de nómina. Los programadores de trabajos tienen la capacidad de iniciar y controlar trabajos automáticamente ejecutando declaraciones de lenguaje de control de trabajos preparadas o mediante una comunicación similar con un operador humano. Generalmente, los programadores de trabajos actuales incluyen una interfaz gráfica de usuario (GUI) junto con un único punto de control.

Las organizaciones que deseen automatizar la carga de trabajo de TI no relacionada también podrían usar atributos más sofisticados de un programador de trabajos, por ejemplo:

  • Programación en tiempo real de acuerdo con eventos externos imprevistos
  • Reinicio y recuperación automatizados en caso de fallas
  • Notificación al personal de operaciones
  • Generando informes de incidencias
  • Pistas de auditoría para fines de cumplimiento normativo

Los desarrolladores internos pueden escribir estas capacidades avanzadas; sin embargo, estos suelen ser ofrecidos por proveedores expertos en software de gestión de sistemas.

En la programación, se utilizan muchos esquemas diferentes para determinar qué trabajo específico ejecutar. Algunos parámetros que se pueden considerar son los siguientes:

  • Prioridad de trabajo
  • Disponibilidad de recursos informáticos
  • Clave de licencia si el trabajo utiliza un software con licencia
  • Tiempo de ejecución asignado al usuario
  • Número de trabajos paralelos permitidos para un usuario
  • Tiempo de ejecución proyectado
  • Tiempo de ejecución transcurrido
  • Presencia de dispositivos periféricos
  • Número de casos de eventos prescritos