This document defines and describes different types of computer systems including batch processing systems, single-user systems, multi-user systems, single-tasking, multi-tasking, multiprogramming, and distributed systems. Batch processing involves submitting jobs to a queue to be processed without interaction, such as overnight. Single-user systems are used by only one person at a time while multi-user systems allow multiple users to connect simultaneously. Multi-tasking runs multiple applications at once, multiprogramming runs multiple jobs in memory simultaneously by allocating CPU time slices.