Job Management Overview
Job management is the process of scheduling, executing and monitoring jobs by the operating system. Its main goal is to ensure that the tasks submitted by users can be executed smoothly and that system resources can be effectively utilized.
Job definition
Job:
-
It is a collection of tasks that users require the computer system to perform in order to solve a specific problem.
-
It includes a series of work from start to finish, such as: editing, compiling, linking, assembling and running.
Job step:
- It refers to each individual processing step in a job. A complete job may include multiple job steps, each of which handles a specific task, such as compiling or running a program.
Example:
-
A job for compiling a program may include the following steps:
-
Edit source code.
-
Compile source code into target code.
-
Link target code to generate an executable program.
-
Execute executable program.
Job control method
Job control refers to the user controlling the execution process of a job through the means provided by the system. There are two main methods:
(1) Batch control method
-
Definition: The user uses Job Control Language (JCL) to write a "job control manual", which contains the execution steps and control intentions of the job. The user submits the manual, source program and initial data to the system.
-
Execution process: The operating system executes each step according to the content of the job control manual without user intervention.
-
Features:
-
Automation: The system automatically executes jobs in sequence to reduce manual intervention.
-
Efficiency: Suitable for jobs that require batch processing, usually executed during non-peak hours to make full use of system resources.
-
Common scenarios: Batch data processing, large file backup, etc.
(2) Interactive control method
-
Definition: The user controls the execution of the job step by step by inputting operation control commands. The operating system executes the job according to the commands entered by the user and feedbacks the execution status to the user.
-
Features:
-
Strong real-time performance: The user can intervene and adjust the job execution at any time, which is suitable for tasks that require real-time interaction.
- High flexibility: Users can decide the next step based on execution feedback.
- Common scenarios: software development, data analysis, real-time query, etc.