A TACL (azaz Tandem Advanced Command Language) a Tandem Computers nagyszámítógépeiben használt script programozási nyelv. A TACL parancsértelmező (angolul shell) is egyben.

TACL

A Tandem számítógépeket eredetileg a kaliforniai Cupertino-beli Tandem Computers, Inc. tervezte és árusította. Ezek voltak az első kereskedelemben is elérhető párhuzamos feldolgozást alkalmazó számítógépek, melyeket eredetileg "miniszámítógép" névvel illettek.

A Tandem stratégiája az volt, hogy a kialakulóban lévő "folyamatos rendelkezésre állás" koncepciót a tükrözött diszkekre, kontrollerekre, szoftvereikre és egy mérnökileg jól kidolgozott operációs rendszerre (Guardian, és később NonStop Kernel vagy NSK) alapozza. Ezzel tudta biztosítani a folyamatos alkalmazás rendelkezésre állást, biztosítva azt, hogy a rendszer túlél bármilyen egypontos hardver hibát(angolul single point of hardware failure). A céget 1999-ben felvásárolta a Compaq Computers és jópár évvel később pedig a Hewlett Packard Computers. Ma "HP Nonstop"-ként ismertek ill. legújabban pedig HP Integrity szerverek lettek blade alapokon.[1]


A TACL továbbra is az a script nyelv, ami a Hewlett Packard NonStop szervereken használatos. A NonStop szerverek továbbra is a nagy bankok, kaszinók kereskedelmi cégek, telefon társaságok, e-mail rendszerek és nagyobb tőzsdék infrastrukturális gerinchálózatának kulcs komponensei.

A TACL interpretált. TACL utasítások egyszerű szövegfájlokban tárolhatók. A script tartalmazhat makrókat, rutinokat vagy definíciókat (DEFINE). Ezeket a script-eket gyakran arra használják, hogy összetett konfigurációs utasításokat tároljanak velük. Ilyen lehet pl. egy elindulási script vagy a hardver konfigurációs script.

A TACL nyelv nagy számú beépített segédprogramot tartalmaz, melyek segítségével a felhasználó elkaphatja a kimenetet számos rendszerprogramtól, és elemezni tudja a megkapott szöveget, sorról-sorra vagy karakterről-karakterre. Ez biztosítja a felhasználók számára, hogy olyan TACL programokat írhassanak, amelyek képesek figyelni a rendszer eseményeket különböző szűrők használatán keresztül. Ezek pl. figyelhetik a rendszer- ill. az alkalmazásesemények naplóit.

Főbb parancsok

szerkesztés
  • Macro fájl esetén a fájl első sorába kell tenni a következőt ?TACL macro
  • Egy processz futtatása: RUN
  • Információ a futó processzekről: STATUS
  • Jelenlegi környezetről információ kiírás: WHO
  • Elágazás:
[#IF [timenow] > 12 |THEN|
#OUTPUT Good afternoon
|ELSE|
#OUTPUT Good morning
]
  • Több ágú elágazás egy ága:
[#CASE [errornumber]
|0|
#OUTPUT [filename] was purged
|OTHERWISE|
#OUTPUT [filename] could not be purged
#OUTPUT Error [errornumber]
]
  • Paraméter átadás:
PARAM GKBTR-PARAM-TEST %1%
  • Kommentezés:
== SET parameters section
  • Fájl műveletek:
    • Hozzárendelés:
ASSIGN File, $aaaa.bbbb.File
    • Fájl ürítése:
PURGE $aaaa.bbbb.File
    • A FUP segédprogram meghívása (összetett fájlműveletek):
FUP /OUT $null/ PURGEDATA $aaaa.bbbb.File1

Főbb beépített függvények

szerkesztés
  1. változók összehasonlítása: #COMPAREV
  2. Adat kiírása a kimenetre: #OUTPUT
  3. Processz információk kiírása: #PROCESSINFO

A következő példa egy egyszerű tacl rutint futtatását mutatja be.

?Section HELLO_BERNARD ROUTINE
#OUTPUT Hello BERNARD

TACL rutin futtatása a következő lépésekből áll:

1. A rutin betöltéséhez a memóriába TACL prompt-ból gépeljük be:

>LOAD / KEEP 1 / FILE1

2. A rutin futtatásához gépeljük be:

>HELLO_BERNARD

3. Az eredmény a következő lesz:

Hello BERNARD

Mindez más módon is lehetséges, méghozzá úgy hogy készítünk egy FILE1 nevű fájlt és hozzáadjuk a következő két sort:

?TACL ROUTINE
#OUTPUT Hello BERNARD

A rutin végrehajtása a fájl megadásával történhet a tacl prompt-ból:

> RUN FILE1
  1. Archivált másolat. [2012. március 7-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. október 2.)

Fordítás

szerkesztés

Ez a szócikk részben vagy egészben a TACL című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.