Job Control Language ( JCL ) on ohjelmointikieli , jota käytetään IBM :n keskustietokoneiden käyttöjärjestelmissä OS /360 , MVS , OS/390 , z/OS ja niiden klooneissa, mukaan lukien EU OS , TKS ja BOS . IBM DOS/360 , DOS/VS , VSE , z/VSE -linja toteutti osittain yhteensopivan version JCL:stä. IBM GCS Guest OS toteuttaa JCL:n osajoukon.
Käytetään erätöiden käynnistämisen ohjaamiseen . Toiminnallisesta tarkoituksestaan johtuen sillä on minimaaliset ilmaisuominaisuudet itse asiassa ohjelmointikielenä.
Operaattorin syntaksi oli alun perin sidottu tiukasti reikäkortin tiettyihin kohtiin (sarakkeisiin) :
Tämä syntaksi on säilynyt siitä lähtien, kun tehtävä syötettiin rei'itetyistä korteista (80-sarake), ja sen avulla voit suojata väärin asetettujen (käänteisten) korttien vahingossa tapahtuvalta tietojen käynnistämiseltä.
Yhteensopivuussyistä se ei ole muuttunut 1960 -luvun jälkeen . ja sitä käytetään edelleen z/OS- ja z/VSE -käyttöjärjestelmien nykyaikaisissa versioissa .
Tämä komentosarja (EU-käyttöjärjestelmän termeillä "työ") kopioi tietojoukon sisällön IS198.TEST.INPUTtietojoukoksi 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 //
Kopioinnin suorittaa apuohjelma IEBGENER, joka kopioi syöttötietojoukon ( SYSUT1) lähtötietojoukkoon ( SYSUT2). Uudelle ( ) lähtötietojoukolle varataan tilaa (parametri ) suorakäyttölaitteessa: aluksi 40 sylinteriä ja 15 kertaa 5 sylinteriä, kun alun perin varattu tila on käytetty. Jos työ valmistuu onnistuneesti, uusi tietojoukko luetteloidaan ( ), ja jos se epäonnistuu, se poistetaan ( ) DISP=(NEW,CATLG,DELETE)SPACEDISP=(NEW,CATLG,DELETEDISP=(NEW,CATLG,DELETE)
Lisäksi ohjelmassa on tulovirta ( SYSIN- ei käytetty (DUMMY)) ja lähtövirta ( SYSPRINT). Operaattori JOBkuvaa käyttäjän tilitiedot (muoto riippuu järjestelmäasetuksista) ja työn suoritusparametrit. Tässä esimerkissä tehtävä suoritetaan luokalla L(järjestelmänvalvoja määrittää luokkaparametrit käyttöjärjestelmää määritettäessä), palveluviestit tulostetaan luokan lähtöjonoon A. JOB-käskyn tunnisteeksi annettua nimeä (IS198CPY) käytetään työn tunnuksena, kun työ suoritetaan.
Unix-tyyppisessä järjestelmässä samanlainen toiminta näyttäisi
cp IS198.TEST.INPUT IS198.TEST.OUTPUT
On kuitenkin pidettävä mielessä, että "perinteisen" OS:n "tehtävä" keskuskoneelle ei edelleenkään ole suora analogi erätiedostolle Unix-tyyppisessä järjestelmässä. Tehtävät käsittelee erityinen järjestelmäohjelma - Task Scheduler. Koska työnohjauskieli ei kuvaa vain tiettyjen ohjelmien suoritusjärjestystä, vaan myös kaikkia tähän tarvittavia resursseja (tietojoukkojen nimet ja niiden paikka, I / O-laitteet, RAM- ja CPU-ajan vaatimukset jne.) . Ajastin järjestää tehtävien suoritusjärjestyksen siten, että käytettävissä olevat laskentaresurssit hyödynnetään mahdollisimman tehokkaasti mahdollisimman vähäisellä ihmisen toimilla.