Job Control Language (JCL): jezik za upravljanje opravil na IBM mainframe

Job Control Language (JCL) za IBM mainframe: vodnik po sintaksi, JECL, z/OS in DOS/360 — upravljanje paketnih opravil, vhod/izhodnih datotek in primeri za administratorje.

Avtor: Leandro Alegsa

Job Control Language (JCL) je ime za skriptne jezike, ki se uporabljajo v IBM-ovih operacijskih sistemih mainframe. Sistem z njim dobi navodila, kako zagnati paketno opravilo ali zagnati podsistem. JCL ni programski jezik za pisanje aplikacij, temveč jezik za opisovanje, kako naj operacijski sistem izvede obdelavo: kateri programi se poženejo, katere vhodne/izhodne datoteke ali naprave se uporabijo, s kakšnimi parametri in pod kakšnimi pogoji naj se koraki izvedejo ali preskočijo.

Osnovni namen in značilnosti

Namen JCL je med drugim:

  • navesti programe, ki jih je treba zagnati;
  • določiti vire (dataneki, trakovi, diski, tiskalniki) za vhod/izhod;
  • nastaviti okolje in parametre izvajanja (npr. pomnilnik, časovna omejitev);
  • opredeliti pogoje za kontrolo toka (pogojno izvajanje, ponovni zagon, preskoki).

JCL je zelo sintaktično stroga oblikovna jezikovna konstrukcija, kjer vrstica pomeni ukaz in ima točno določene pozicije ter ključne besede. Zaradi tega ga pogosto imenujejo tudi "kontrolni" ali "batch" jezik za mainframe okolja.

Dve glavni veji JCL pri IBM

  • Vrstica DOS/360 — linija operacijskih sistemov, ki se začne z DOS/360 in katere zadnji član je z/VSE. Ta veja ohranja združljivost z zgodnjimi različicami sistema in ima svoje posebnosti v sintaksi in razpoložljivih možnostih.
  • Vrstica OS/360 → z/OS (JECL) — druga veja, razvita ob prehodu z OS/360 na novejše sisteme, zdaj pogosto vključuje razširitve JES (Job Entry Subsystem) in Job Entry Control Language (JECL). JECL omogoča dodatne možnosti za upravljanje opravil preko subsistemov, kot sta JES2 ali JES3.

Obe veja imata skupna osnovna sintaktična pravila in osnovne koncepte (npr. ločitev med opisom opravila in opisi dostopa do datotek), vendar se v številnih podrobnostih razlikujeta — v razpoložljivih parametrih, v ukazih za nadzor JES in v načinu določanja naprav.

Glavne sestavine JCL

  • JOB vrstica — identifikacija opravila, lastnik, prioritetni podatki in splošne opcije.
  • EXEC vrstica — določi, kateri program ali procedura (PROCs) se bo izvedla; lahko navaja ime programa, vnosni modul ali ime PROCa.
  • DD (Data Definition) vrstica — definira vire za program: imena datotek (datasets), tip naprave, način alokacije, velikosti, katalog, omrežne poti ipd.

Poleg teh so pomembni še ukazi in konstrukti za:

  • in-stream PROCs (procedures) — ponovno uporabljivi bloki JCL, ki jih je mogoče vključiti v opravilo;
  • symbolic parametri — parametri, ki jih zamenjamo ob klicu PROCa;
  • conditional execution — npr. IF/THEN/ELSE/ENDIF v sodobnejših razširitvah ali USE/COND pogoji za preskakovanje korakov glede na kodne vrnitve;
  • concatenation — združevanje večih DD vnosa v en logični vhod (npr. več vhodnih datotek, prebranih zaporedoma).

Kako JCL izgleda v praksi

Tipičen JCL sestavek vsebuje:

  • uvodno JOB vrstico z identifikacijo;
  • enega ali več EXEC ukazov, ki zaženeta programe ali PROCe;
  • za vsak EXEC ustrezne DD vnose z navodili za datoteke in naprave;
  • po potrebi parametre za nadzor rokov in poročil (npr. SYSOUT nastavitve za izpis).

Primeri konkretnih sintaktičnih oblik so odvisni od različice (DOS-line vs JECL), zato so prave podrobnosti in primeri pogosto opisani v dokumentaciji konkretnega mainframe sistema.

Upravljanje napak, varnost in katalogizacija

JCL omogoča nadzor vračilnih kod (return codes) iz programov in sprejemanje odločitev (npr. ponovni poskus, preskok naslednjega koraka). Pomembni vidiki upravljanja vključujejo:

  • katalogizacijo datasetov — centralni katalog, ki omogoča ponovno uporabo in zaščito dostopa;
  • pravice in varnost — dostop do datotek in naprav je nadzorovan s sistemskimi pravicami (RACF ali podobni sistemi);
  • revizija in sledenje — JES zapisuje podatke o zagonih, napakah in izpisih za administracijo in pregledovanje.

Zakaj je JCL še vedno pomemben

Glavni razlog, da JCL ostaja pomemben, je dolga življenjska doba poslovnih aplikacij na IBM mainframe strojnem okolju. Mnoga podjetja še vedno poganjajo ključne transakcijske sisteme in poročanje na mainframu, zato je znanje JCL za upravljanje paketnih opravil in subsistemov še vedno iskano. Hkrati so se pojavile sodobne razširitve in orodja, ki olajšajo avtofabrikacijo, integracijo s sodobnimi orodji (npr. DevOps) in upravljanje PROC-ov.

Kje se lahko naučite več

Za praktično uporabo JCL je priporočljiva kombinacija teoretičnega študija sintakse in dela v testnem mainframe okolju. Obstajajo tudi podrobni priročniki IBM, spletni tečaji in skupnosti uporabnikov, kjer izkušeni strokovnjaki delijo primere in nasvete.

Vprašanja in odgovori

V: Kaj je JCL?


O: JCL je kratica za Job Control Language, ki je skriptni jezik, ki se uporablja v IBM-ovih operacijskih sistemih mainframe in sistemu narekuje, kako zagnati paketno opravilo ali zagnati podsistem.

V: Kakšen je namen JCL?


O: Namen JCL je navesti, katere programe je treba zagnati in katere datoteke ali naprave uporabiti za vnos ali iznos ter določiti, pod katerimi pogoji je treba preskočiti določen korak.

V: Koliko je različnih jezikov IBM-ovega programa Job Control?


O: Obstajata dva različna jezika IBM Job Control. Eden je za linijo operacijskih sistemov, ki se začne z DOS/360 in katere zadnji član je z/VSE, drugi pa za linijo od OS/360 do z/OS, pri čemer slednji zdaj vključuje razširitve JES, Job Entry Control Language (JECL).

V: Kaj imata dva različna IBM-ova jezika za nadzor delovnih mest skupnega?


O: Dva različna jezika IBM Job Control imata skupna osnovna pravila sintakse in nekaj osnovnih konceptov.

V: Katere so nekatere razlike med obema različnima jezikoma IBM Job Control?


O: Oba različna jezika IBM Job Control se sicer zelo razlikujeta.

V: Kaj pomenijo razširitve JES?


O: Razširitve JES pomenijo jezik za nadzor vnosa delovnih mest.

V: Kateri je najnovejši član linije operacijskih sistemov, ki se je začela z DOS/360?


O: Najnovejši član linije operacijskih sistemov, ki se začenja z DOS/360, je z/VSE.


Iskati
AlegsaOnline.com - 2020 / 2025 - License CC3