A Job Control Language ( JCL ) egy olyan programozási nyelv , amelyet IBM nagyszámítógépes operációs rendszerekben ( OS /360 , MVS , OS/390 , z/OS ) és azok klónjaiban használnak, beleértve az EU OS -t , a TKS-t és a BOS -t . Az IBM DOS/360 , DOS/VS , VSE , z/VSE vonal a JCL részben kompatibilis verzióját valósította meg. Az IBM GCS Guest OS a JCL egy részhalmazát valósítja meg.
A kötegelt feladatok elindításának vezérlésére szolgál . Funkcionális rendeltetéséből adódóan minimális kifejező tulajdonságokkal rendelkezik, mint valójában programozási nyelv.
Az operátor szintaxisa eredetileg mereven volt kötve egy lyukkártya bizonyos pozícióihoz (oszlopaihoz) :
Ez a szintaxis attól az időtől kezdve megmaradt, amikor a feladatot lyukkártyákról (80-as oszlop) írták be, és lehetővé teszi a hibásan behelyezett (fordított) kártyákból származó információk véletlen elindítása elleni védelmet.
Kompatibilitási szempontból az 1960 -as évek óta nem változott . és továbbra is használatos a z/OS és z/VSE operációs rendszerek modern verzióiban .
Ez a parancssorozat (EU OS kifejezéssel "feladat") az adatkészlet tartalmát egy adatkészletbe IS198.TEST.INPUTmásolja IS198.TEST.OUTPUT.
//IS198CPY JOB (IS198T3*0500),'COPY JOB',CLASS=L,MSGCLASS=X //COPY01 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=A //SYSUT1 DD DSN=IS198.TEST.INPUT,DISP=SHR //SYSUT2 DD DSN=IS198.TEST.OUTPUT, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(40,5),RLSE), // DCB=(LRECL=115,BLKSIZE=0), // DATACLAS=SEQFB //SYSIN DD DUMMY //
A másolást egy segédprogram végzi, amely IEBGENERa bemeneti adatkészletet ( SYSUT1) a kimeneti adatkészletbe ( SYSUT2) másolja. Az új ( ) kimeneti adatkészletnek helyet (paraméter ) foglal le a közvetlen hozzáférésű eszközön: kezdetben 40 henger, és 15-ször 5 henger, amikor az eredetileg lefoglalt terület elfogy. Ha a feladat sikeresen befejeződik, az új adatkészlet katalógusba kerül ( ), ha pedig sikertelen, akkor törlődik ( ) DISP=(NEW,CATLG,DELETE)SPACEDISP=(NEW,CATLG,DELETEDISP=(NEW,CATLG,DELETE)
Ezen kívül a programnak van egy bemeneti adatfolyama ( SYSIN- nem használt (DUMMY)) és egy kimeneti adatfolyama ( SYSPRINT). Az operátor JOBleírja a felhasználó fiókinformációit (a formátum a rendszerbeállításoktól függ) és a munkavégzési paramétereket. Ebben a példában a feladat egy osztállyal kerül végrehajtásra L(az osztályparamétereket a rendszergazda határozza meg az operációs rendszer beállításakor), a szolgáltatási üzenetek az osztály kimeneti sorába kerülnek A. A JOB utasítás címkéjeként megadott név (IS198CPY) lesz a job azonosítója a job végrehajtásakor.
Egy Unix-szerű rendszerben egy hasonló művelet így nézne ki
cp IS198.TEST.INPUT IS198.TEST.OUTPUT
Mindazonáltal szem előtt kell tartani, hogy a nagyszámítógép „hagyományos” operációs rendszerének „feladata” még mindig nem a kötegfájl közvetlen analógja egy Unix-szerű rendszerben. A feladatokat egy speciális rendszerprogram – a Feladatütemező – dolgozza fel. Mivel a feladatvezérlő nyelv nem csak bizonyos programok végrehajtásának sorrendjét írja le, hanem az ehhez szükséges összes erőforrást is (adatkészletek neve és helye, I / O eszközök, RAM és CPU idő követelményei stb.) . Az ütemező úgy szervezi meg a feladatok végrehajtási sorrendjét, hogy a rendelkezésre álló számítási erőforrásokat a lehető leghatékonyabban használja fel, minimális emberi kezelői beavatkozással.