TACL
TACL (Tandem Advanced Command Language) es el lenguaje de programación de scripts que actúa como shell en Tandem Computers/NonStop.
Historia
Las computadoras Tandem fueron diseñadas y vendidas originalmente por Tandem Computers, Inc., con sede en Cupertino, CA. Estas fueron las primeras computadoras de procesamiento paralelo disponibles comercialmente. A pesar de su capacidad para expandirse a grandes tamaños mediante el paralelismo, lo que más tarde se llamaría agrupación, estaban en la categoría de "minicomputadoras". La estrategia de Tandem fue el concepto emergente de "disponibilidad continua" para aplicaciones que requieren un tiempo de actividad casi total, en las que los puntos únicos de falla se minimizaron a través de dispositivos de almacenamiento, controladores y software reflejados, y sistemas operativos diseñados específicamente para la tolerancia a fallas (usando el sistema operativo Guardian, más tarde NonStop Kernel o NSK, y más tarde NonStop OS ). En informática, un punto único de falla se refiere a cualquier escenario en el que la falla de un solo componente, aplicación o proceso podría resultar en impactos más amplios, como la pérdida de datos o la falla en cascada del sistema. La probabilidad relativa de que se produzcan fallos en múltiples componentes o procesos en un corto período de tiempo se considera mucho menor que la probabilidad de que se produzca un único fallo.
Tandem Computers, Inc. fue adquirido por Compaq Computer Corporation en 1997; y Compaq Computer Corp. fue adquirido posteriormente por Hewlett-Packard en 2001. Hoy son conocidos como "HPE Nonstop", con productos como los sistemas HP Integrity NonStop Blade.
En 2022, las plataformas HPE NonStop respaldarán a muchos de los bancos, casinos, minoristas, compañías telefónicas, sistemas de correo electrónico y bolsas de valores más grandes del mundo. TACL sigue siendo el lenguaje de programación utilizado en los servidores NonStop.
Filosofía del diseño
Muchos sistemas informáticos de alto tiempo de actividad que se produjeron después de la plataforma Tandem NonStop dependen de un par de procesos paralelos pero independientes que se ejecutan simultáneamente. Una "conmutación por error" El esquema garantiza que el proceso secundario (o respaldo en caliente) continúe funcionando en caso de una falla en el proceso primario, asegurando así que cualquier falla en el proceso primario no resulte en una falla total de la función, red o sistema que soporta.
La filosofía de diseño de Tandem NonStop difiere ya que cada CPU realiza su propio trabajo y puede contener una unidad de "copia de seguridad" proceso en otra CPU. Cada par de CPU comparte la propiedad del hardware de los controladores y las unidades de disco. Las escrituras en el par de discos reflejados se realizan tanto en la unidad principal como en la de respaldo. Sin embargo, las unidades no son realmente redundantes ya que las lecturas solo las realizará la unidad que pueda acceder más rápidamente a los datos, no ambas. Si una CPU del par falla, la otra tomará la propiedad total de las unidades de disco y las tareas que estaba realizando, proporcionando disponibilidad continua a esos datos y operación continua del sistema, incluida la redirección de E/S del disco. A un proceso primario en ejecución se le puede asignar un proceso de respaldo en otra CPU, que recibe información de punto de control. Si el proceso primario falla, el proceso de respaldo reanuda la transacción utilizando la información del punto de control. El proceso de copia de seguridad también puede generar su propia copia de seguridad para evitar la pérdida de datos en caso de que se produzcan más fallos.
El nombre "NonStop" se refiere a este diseño tolerante a fallas. Los sistemas HPE NonStop pueden soportar operaciones que involucran altas transacciones por segundo y, por lo tanto, se utilizan en aplicaciones críticas como banca, plataformas de negociación de acciones y sistemas de telecomunicaciones.
En la plataforma NonStop OS existen al menos dos lenguajes de programación: TAL (Transaction Application Language) como lenguaje compilado y TACL como lenguaje interpretado. El software NonStop OS incluye compiladores para otros lenguajes (incluidos Java, C, C++, COBOL, SCOBOL, etc.), que pueden usarse para admitir funciones en lenguajes distintos de TAL/TACL si es necesario. TACL sigue siendo el lenguaje de secuencias de comandos predeterminado en estas máquinas. Posteriormente, HPE introdujo una interfaz de comando de shell basada en ksh; sin embargo, esta no contiene todas las capacidades ofrecidas por TACL, como el comando netstat. Las funciones TACL integradas reflejan la naturaleza de múltiples CPU de NSK.
Las instrucciones TACL se pueden almacenar en un archivo de texto simple como MACROS, RUTINAS o DEFINES que el intérprete TACL puede ejecutar como scripts. Estos scripts se utilizan a menudo para almacenar instrucciones de configuración complejas, como secuencias de inicio y configuración de hardware. TACL también se utiliza como lenguaje de control de trabajos para trabajos por lotes.
El lenguaje TACL tiene una gran cantidad de utilidades integradas que permiten al usuario capturar y analizar resultados de varias utilidades del sistema. Esto permite a los usuarios crear programas TACL que pueden monitorear eventos del sistema mediante el uso de filtros que monitorean el sistema y los registros de eventos de la aplicación.
Ejemplos de usos de TACL
Una rutina TACL guardada en el archivo ARCHIVO1
Cree la siguiente subrutina en el archivo ARCHIVO1:
? Sección HELLO_BERNARD ROUTINE #OUTPUT Hola BERNARD
Cómo ejecutar la rutina TACL:
- De un tipo de impulso TACL: LOAD / KEEP 1 / FILE1 (esto carga la rutina en memoria)
- Tipo: HELLO_BERNARD (Esto funciona la rutina)
- La salida será: Hola BERNARD
Código TACL en el archivo ARCHIVO1
Una estrategia alternativa es crear un archivo llamado ARCHIVO1 y agregar las dos líneas siguientes:
? TACL ROUTINE #OUTPUT Hola BERNARD
Ejecute la rutina nombrando el archivo en el indicador TACL:
■ RUN FILE1