# Procesamiento por lotes

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. 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. El sistema batch permite el libre flujo de múltiples productos ya que su control se concentra en el manejo de lotes a gran escala, empresas que requieren de una producción en serie utilizan este tipo de sistema, otro ejemplo sería el de una empresa procesadora de alimentos ya que ellos controlan lotes a gran escala de productos que se distribuyen diariamente a diferentes zonas del país.
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), 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 (en inglés batch file) 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.

## Ventajas y Desventajas

Ventajas.
El procesamiento batch o por lotes tiene una serie de ventajas muy importantes, las más destacables son las siguientes:
Una solución rápida y de menor coste
Debido a que el procesamiento por lotes no necesita empleados de entrada de datos para respaldar su funcionamiento, ayuda a reducir el coste operativo que las empresas gastan en mano de obra. Tampoco requiere ningún hardware adicional para funcionar. De hecho, el uso de Batch Processing puede reducir la dependencia de una empresa en otras piezas costosas de hardware, lo que la convierte en una solución relativamente económica que ayuda a las empresas a ahorrar dinero y tiempo. Sin la posibilidad de error del usuario, los procesos batch se completan de la manera más eficiente posible. El resultado es un procesamiento rápido y preciso y gerentes que tienen más tiempo para dedicarse a las operaciones diarias.
Características fuera de línea
Los sistemas de procesamiento por lotes funcionan sin conexión. Entonces, cuando la jornada laboral termina para la mayoría de las personas en una organización, los sistemas por lotes aún se procesan en segundo plano. Esto le da a los administradores el control final sobre cuándo iniciar los procesos. El software se puede configurar para el procesamiento nocturno de ciertos lotes. Esto proporciona una solución conveniente para las empresas que no desean un trabajo como las descargas automáticas para interrumpir las actividades diarias.
Gestión sencilla y sin intervención de grandes procesos repetitivos
Los gerentes tienen suficiente que hacer sin iniciar sesión cada hora para verificar sus lotes. El sistema de notificación basado en excepciones del moderno software de procesamiento por lotes facilita a los gerentes hacer su trabajo sin preocuparse de si su software funciona correctamente y si se están completando los lotes. Si hay un problema, las notificaciones se envían a las personas adecuadas para resolverlo. Los gerentes pueden adoptar un enfoque de no intervención confiando en que su software de procesamiento por lotes está haciendo su trabajo.
Desventajas del procesamiento batch
Si bien el software de procesamiento por lotes es excelente por muchas razones, hay algunas cosas que los propietarios deben considerar antes de implementar estos sistemas WLA.
Despliegue y entrenamiento
Al igual que con cualquier nueva tecnología, hay cierto grado de capacitación involucrada en el manejo de estos sistemas. Los gerentes que no estén familiarizados deberán entender qué desencadena un lote, cómo planificarlos y qué significan las notificaciones de excepción, entre otras cosas.
La depuración puede ser difícil
Cuando se produce un error, los administradores también necesitan saber cómo solucionarlo. La depuración de los sistemas de procesamiento por lotes puede ser comprensiblemente compleja. Si no hay alguien dentro de su organización que tenga un conocimiento profundo de estos sistemas, puede ser necesario que un consultor externo lo asista.
Coste
Si bien estos sistemas ofrecen una solución de menor costo para la mayoría de las empresas, que ahorran dinero en mano de obra y hardware cuando cambian a procesamiento batch, algunas empresas no tienen empleados de ingreso de datos o hardware costoso para comenzar. Es probable que ahora tenga una idea más clara de quién necesita el software de procesamiento por lotes. El procesamiento por lotes puede ser valioso para cualquier negocio, pero es más factible para medianas y grandes empresas que pueden reducir costes y ser más eficientes y escalables. Otras empresas que tienen una gran cantidad de grandes trabajos para procesar también se beneficiarían de este tipo de software.

## Marco de tiempo (Sistemas Batch)

El procesamiento por lotes o sistemas batch consiste en la ejecución de trabajos al mismo tiempo, este no tiene un momento específico en el que se cumplan las tareas y las tareas se terminan cuando el equipo es capaz de completarlas. Todos los procesos tienen un cierto retraso, esto se genera en base a las demandas de procesamiento de las tareas y la velocidad de procesamiento de la computadora.

## Diferencias entre los sistemas en tiempo real y sistemas batch

Sistemas batch
No tiene momento específico en el que se deben cumplir las tareas, estas terminaran cuando es capaz de completarlas.
El incumplimiento de los plazos podría significar que el equipo necesita más capacidad de procesamiento para terminar las tareas.
Estos procesos pueden ajustar para diferentes procesos.
No requiere intervención manual.
Al término de la ejecución se carga un nuevo programa en la misma zona de memoria.
Monitoreo y supervisión.
Programable.
Sistemas en tiempo Real
Tiempos de respuesta predecibles.
Respuestas exactas y oportunas.
Estos se producen cada vez que el procesador recibe una entrada.
Procesar información sin tiempos muertos.
Objetivo principal es manejar la velocidad de acceso.
Gestión de interrupciones.
Tolerancia a fallos.
Los sistemas en tiempo real como su nombre lo dice, proporciona tiempos más rápidos en respuesta, tomando en cuenta que este se usa en situaciones críticas, como por ejemplo: la obtención de información para el aterrizaje de un avión. Mientras que los procesamientos por lotes como se dice, se almacenan datos para estos ser utilizados en una sola ejecución, por ejemplo: en empresas que realizan facturación sobre tarjetas de crédito, la información se almacena durante un determinado tiempo hasta procesarla en una sola factura.