Введение

Скриптовый язык программирования

TACL (Tandem Advanced Command Language) — это скриптовый язык программирования, который выполняет роль командной оболочки в компьютерах Tandem Computers/NonStop. В 2022 году платформы HPE NonStop поддерживают работу многих крупнейших банков, казино, розничных сетей, телекоммуникационных компаний, систем электронной почты и фондовых бирж по всему миру. TACL по-прежнему используется в качестве скриптового языка на серверах NonStop.

Философия дизайна

Многие высоконадежные компьютерные системы, созданные после платформы Tandem NonStop, используют пару одновременно работающих, параллельных, но независимых процессов. Схема "отказоустойчивости" гарантирует, что вторичный процесс (или горячая резервная копия) продолжит работу в случае сбоя первичного процесса, тем самым обеспечивая, чтобы любой сбой в первичном процессе не приводил к полному отказу функции, сети или системы, которую он поддерживает. Философия проектирования Tandem NonStop отличается тем, что каждый процессор выполняет свою работу и может содержать спящий "резервный" процесс в другом процессоре. Каждая пара процессоров совместно владеет аппаратными средствами контроллеров и дисковых накопителей. Запись на зеркальную пару дисков выполняется как на основной, так и на резервный диск. Однако диски не являются полностью избыточными, поскольку чтение будет выполняться только с того диска, который может быстрее получить доступ к данным, а не с обоих. Если один из процессоров в паре выходит из строя, другой берет на себя полное владение дисковыми накопителями и задачами, которые выполнял вышедший из строя процессор, обеспечивая непрерывную доступность данных и непрерывную работу системы, включая повторный ввод-вывод дисков. Работающему первичному процессу может быть назначен резервный процесс в другом процессоре, который получает информацию о контрольной точке. Если первичный процесс терпит неудачу, резервный процесс возобновляет транзакцию, используя информацию контрольной точки. Резервный процесс также может создать собственную резервную копию, чтобы избежать потери данных в случае дальнейших сбоев. Название "NonStop" отражает эту отказоустойчивую конструкцию. Системы HPE NonStop могут поддерживать операции с высокой пропускной способностью транзакций в секунду и поэтому используются в критически важных приложениях, таких как банковское дело, торговые платформы для акций и телекоммуникационные системы. На платформе NonStop OS есть как минимум два языка программирования: TAL (Transaction Application Language) как компилируемый язык и TACL как интерпретируемый язык. Программное обеспечение NonStop OS включает компиляторы для других языков (включая Java, C, C++, COBOL, SCOBOL и т.д.), которые могут использоваться для поддержки функций на языках, отличных от TAL/TACL, при необходимости. TACL остается языком сценариев по умолчанию на этих машинах. HPE позже представила интерфейс командной строки на основе ksh, однако он не содержит всех возможностей, предлагаемых TACL, таких как команда netstat. Встроенные функции TACL отражают многопроцессорную природу NSK. Инструкции TACL могут храниться в простом текстовом файле в виде MACROS, ROUTINES или DEFINES, которые интерпретатор TACL может выполнять как сценарии. Такие сценарии часто используются для хранения сложных инструкций по конфигурации, таких как последовательности запуска и конфигурации оборудования. TACL также используется как язык управления заданиями для пакетных заданий. Язык TACL имеет большое количество встроенных утилит, которые позволяют пользователю захватывать и анализировать вывод из различных системных утилит. Это позволяет пользователям создавать программы TACL, которые могут отслеживать события системы с помощью фильтров, контролирующих журналы событий системы и приложений.