JCL (Job Control Language) adalah bahasa yang digunakan untuk menggambarkan pekerjaan kepada sistem operasi Multiple Virtual Storage (MVS), OS/390, dan Virtual Storage Extended (VSE) (OS) yang berjalan di komputer mainframe S/390 milik IBM. Sistem operasi ini membagi sumber daya waktu dan ruang di antara semua pekerjaan yang telah dijalankan di komputer.
Pekerjaan dibagi menjadi langkah-langkah pekerjaan. Setiap pernyataan yang menjalankan program tertentu merupakan langkah pekerjaan. Pekerjaan adalah unit kerja latar belakang, atau batch, yang dijalankan tanpa interaksi pengguna, seperti pekerjaan pencetakan. Selain itu, sistem operasi mengelola permintaan interaktif, atau permintaan pengguna di latar depan, yang memulai unit-unit kerja. Pekerjaan latar depan sering diberi prioritas lebih tinggi daripada pekerjaan latar belakang.
Contoh JCL dan langkah pekerjaan
Sebuah manual IBM membandingkan satu set pernyataan JCL dengan pesanan menu di restoran. Seluruh pesanan dapat disamakan dengan pekerjaan. Di dapur, para koki membagi pesanan dan mengerjakan hidangan-hidangan individu, yang mewakili langkah pekerjaan. Ketika langkah pekerjaan selesai, hidangan disajikan. Namun, hidangan tersebut harus disajikan dalam urutan yang spesifik — mirip dengan langkah pekerjaan yang bergantung pada pelaksanaan langkah sebelumnya.
Apa yang dilakukan pernyataan JCL?
Pernyataan JCL terutama menentukan informasi berikut:
- Data input atau file yang harus diakses.
- Data output yang akan dibuat atau diperbarui.
- Resources apa yang harus dialokasikan untuk pekerjaan dan program apa yang harus dijalankan untuk menggunakan data input dan output tersebut.
Satu set pernyataan JCL untuk sebuah pekerjaan itu sendiri disimpan sebagai data set dan dapat dimulai secara interaktif. MVS dan OS/390 menyediakan antarmuka berbasis menu, ISPF, untuk memulai dan mengelola pekerjaan.
Di MVS dan OS/390, bagian dari sistem operasi yang menangani JCL disebut Job Entry Subsystem (JES). Terdapat dua versi dari JES, yaitu JES2 dan JES3.