Simple Batch Systems

Definition

A Batch Operating System is one of the earliest types of OS where user does not interact directly with computer. User prepares their job (including program, data, and control statements) and submits it to computer operator. Similar jobs are grouped together (batched) and processed sequentially without any user interaction during execution.

Characteristics

  1. Non-Interactive - No user interaction during job execution
  2. Sequential Processing - Jobs processed one after another
  3. Batch Submission - Similar jobs grouped and submitted together
  4. Automatic Execution - Job runs to completion without intervention
  5. Time Delayed - Long gap between submission and result
  6. FCFS Scheduling - Jobs processed in First Come First Served order

How Batch Systems Work

Process

  1. Job Preparation - User writes program, prepares data, writes control statements
  2. Job Submission - User submits batch to operator
  3. Job Queuing - Jobs wait in queue in FIFO order
  4. Job Loading - OS loads first job into memory
  5. Job Execution - Job runs to completion
  6. Output Generation - Results printed
  7. Next Job - First job removed, next job loaded

Advantages

  1. Efficient Use of Resources - Computer resources used productively
  2. Reduced Setup Time - Operators set up multiple jobs quickly
  3. Good for Bulk Processing - Excellent for large volumes
  4. Cost Effective - Expensive computer time used well
  5. Easy to Manage - Simple operation and control
  6. Stable Performance - Predictable system behavior

Disadvantages

  1. Long Turnaround Time

    • Users wait hours or days for results
    • Not suitable for time-sensitive work
  2. Cannot Fix Errors

    • If error occurs, cannot stop and fix
    • Must wait for job to fail
    • Then resubmit next day
  3. Difficult Debugging

    • Cannot see intermediate results
    • Hard to identify errors
    • Only see final error messages
  4. Poor CPU Utilization

    • While job does I/O, CPU sits idle
    • Wastes expensive processing power
    • No other job can use CPU
  5. No User Interaction

    • Cannot provide input during execution
    • Cannot modify job mid-execution
    • Cannot interact with running program
  6. Rigid Process

    • Cannot change mind after submission
    • Cannot prioritize important jobs
    • All jobs treated equally
  7. Program Dependency

    • One error stops entire batch
    • Affects all subsequent jobs

Historical Examples

IBM OS/360 - Most famous batch system (1960s-1970s)

Processing Example:

  • 9:00 AM: Submit job
  • 4:00 PM: Collect printed results
  • 8 hours wait time!

Resource Requirements

  • Memory - Very limited (64KB to few MB)
  • Storage - Punch cards, magnetic tape
  • Devices - Card readers, line printers
  • Personnel - Operator needed
  • Speed - Very slow

Applications

  • Payroll processing
  • Billing systems
  • Bank statement processing
  • Census data processing
  • Any repetitive non-interactive work

Why Obsolete

  • Users wanted interaction
  • Needed faster response
  • Wanted multiple programs
  • Technology improved
  • Led to multiprogrammed systems