# TACL

TACL (Tandem Advanced Command Language) es el lenguaje de scripting utilizado en ordenadores Tandem.

## Historia

Los servidores Tandem eran originalmente diseñados y vendidos por Tandem Computers, Inc., basada en Cupertino, CA. Estos eran los primeros servidores de procesamiento paralelo comercialmente disponibles, originalmente llamados "mini-ordenadores". La estrategia era el concepto de emergente de "disponibilidad continua" soportado en discos espejados, controladores y software, y un sistema operativo bien diseñado (Guardian, y más tarde NonStop Kernel o NSK) para asegurar disponibilidad de aplicación continua por asegurar que el sistema podría sobrevivir cualquier punto de fallo de hardware.
Tandem Computers, lnc. fue adquirida por Compaq en 1997; y Compaq fue posteriormente adquirida por Hewlett-Packard en 2001. Hoy los productos se conocen como "HPE Nonstop", con productos como el HP Ingegrity NonStop Blade.
TACL continúa siendo el lenguaje de scripting utilizado en servidores NonStop. Éstos servidores son componentes claves de la infraestructura de los bancos más grandes, casinos, minoristas, compañías telefónicas, sistemas de correo electrónico, y bolsas de valores en todo el mundo.

## Filosofía de diseño

Muchos sistemas informáticos que se produjeron después de la plataforma Tandem NonStop se basaron en alguna forma de redundancia (o copia de seguridad HOT) y un esquema de "conmutación por error" para continuar funcionando. En el Tandem NonStop, sin embargo, cada CPU realiza su propio trabajo y puede contener un proceso de "respaldo" inactivo para otra CPU. Cada par de CPUs, 0 y 1, por ejemplo, comparten la propiedad del hardware de los controladores y las unidades de disco. Las unidades no son redundantes. Las escrituras en el par de discos se realizan tanto en la unidad principal como en la de respaldo. Sin embargo, las lecturas aprovechan qué cabezal de la unidad está más cerca de la información y eligen la unidad en la cual realizar la lectura. Por ejemplo, si la CPU 0 falla, la CPU 1 se adueña de una unidad de disco, lo que proporciona una disponibilidad continua para esos datos. Un proceso primario que se está ejecutando puede recibir un proceso de respaldo, que recibe información de punto de control. Si el proceso principal falla, por cualquier motivo, el proceso de copia de seguridad se hace cargo, ese proceso de copia de seguridad puede generar su propia copia de seguridad. Esto es lo que les valió el nombre de NonStop, ya que los programas de aplicación pueden ser tolerantes a fallas. Esto los hace muy atractivos para sus clientes, por su capacidad de disponibilidad continua. Estos sistemas también son conocidos por manejar cantidades muy altas de transacciones por segundo, lo cual es muy útil para bancos y bolsas de valores.
El párrafo anterior describe la filosofía detrás del diseño del hardware y el software. Sobre esa plataforma NSK hay al menos dos lenguajes de programación: TAL como lenguaje compilado y TACL como lenguaje interpretado. NSK también tiene compiladores para la mayoría de los lenguajes útiles. Se ha dicho que TAL está a punto de quedar obsoleto, pero TACL sigue siendo el lenguaje de programación predeterminado en estas máquinas. HP también proporciona una interfaz de comandos de shell basada en Korn en estos días, pero no ofrece todo lo que TACL puede hacer para los administradores de sistemas de NSK; por ejemplo, el comando netstat no se ha implementado. Las incorporaciones de TACL reflejan la naturaleza de múltiples CPU de NSK.
TACL es interpretado. Las instrucciones TACL se pueden almacenar en un archivo de texto simple como MACROS, RUTINAS o DEFINES para hacer scripts. Estos scripts se utilizan a menudo para almacenar instrucciones de configuración complejas, como secuencias de inicio y configuración de hardware.
El lenguaje TACL tiene una gran cantidad de utilidades integradas que permiten al usuario capturar la salida de varias utilidades del sistema y analizar el texto capturado, línea por línea o carácter por carácter. Esto permite a los usuarios crear programas TACL que pueden monitorear los eventos del sistema mediante el uso de filtros que monitorean los registros de eventos del sistema y de la aplicación.