Session 1.2: Operating System Types

Understanding different types of operating systems and their characteristics

Module 1 1.5 Hours Theory

Learning Objectives

By the end of this session, you will be able to:
  • Classify different types of operating systems
  • Explain batch, multiprogrammed, and time-sharing systems
  • Understand distributed operating systems
  • Analyze virtualization concepts and types
  • Describe real-time embedded systems
Key Concept

Operating systems have evolved into various types, each optimized for specific computing environments and requirements, from simple batch processing to complex distributed and real-time systems.

Batch Operating Systems

Batch Processing Era
Characteristics:
  • Jobs processed in bulk with predetermined input
  • No direct user interaction during execution
  • Optimized for resource utilization when computing was scarce
  • Multiple users shared time on expensive systems
  • Jobs submitted via punch cards or magnetic tapes
Advantages:
  • High throughput for large volumes of similar jobs
  • Efficient resource utilization
  • Minimal overhead from user interaction
Historical Context

Developed in the latter half of the 20th century when computing resources were extremely expensive and scarce.

Multiprogrammed Operating Systems

CPU Utilization Focus
Core Principle

"CPU is never idle" - When one process waits for I/O, the OS switches to another process

Key Features:
  • Multiple processes in memory simultaneously
  • CPU switches between processes when one waits
  • Increases CPU utilization and user satisfaction
  • Requires robust memory management
  • Needs effective CPU scheduling
Process Management:

A program in execution is called a process. The OS manages multiple processes by:

  • Keeping several processes in memory
  • Switching CPU between processes
  • Ensuring CPU is never idle
  • Managing memory allocation
Requirements

Requires sophisticated memory management (Chapters 9-10) and CPU scheduling (Chapter 5) to effectively manage multiple concurrent processes.

Time-Sharing Operating Systems

Interactive Computing
Evolution from Multiprogramming:
  • Extension of multiprogramming with interactive capabilities
  • Uses timer and scheduling algorithms for rapid process cycling
  • Provides fast response time to users
  • Creates illusion of simultaneous execution
  • Foundation for modern desktop and mobile systems
Key Technologies:
  • Virtual Memory: Programs larger than physical memory can execute
  • CPU Scheduling: Rapid switching between processes
  • Timer Interrupts: Ensure fair time allocation
  • Interactive I/O: Real-time user interaction
Modern Usage

While traditional time-sharing systems are rare, the underlying scheduling techniques remain in use on:

  • Desktop computers
  • Laptops
  • Servers
  • Mobile devices

Distributed Operating Systems

Networked Computing
Definition

A collection of physically separate, possibly heterogeneous computer systems networked to provide users access to various resources, creating the illusion of a single operating system controlling the network.

Data Migration

Transferring data to the accessing site for processing

Computation Migration

Moving code or processes to the data's location

Process Migration

Moving entire processes from one machine to another

Distributed File Systems (DFS):
Client-Server Model

Examples: NFS, OpenAFS
Centralized server manages file access

Cluster-Based Model

Examples: Lustre, GPFS
Distributed storage across multiple nodes

Real-Time Embedded Systems

Specialized Computing
Characteristics:
  • Specialized computer systems with specific tasks
  • Often with little or no user interface
  • Designed to run without user intervention
  • Found in home devices, automobiles, appliances
  • May use standard OS (Linux) or specialized RTOS
Implementation Options:
  • Standard OS: Linux with specialized applications
  • RTOS: Special-purpose embedded operating systems
  • ASIC: Application-specific integrated circuits
  • Bare Metal: Single program execution (Arduino)
Time Constraints

Rigid time requirements placed on processor operation or data flow for control applications.

Real-Time Operating Systems (RTOS) Categories:
Soft Real-Time
  • No guarantee on scheduling deadlines
  • Preference given to critical processes
  • Acceptable for multimedia applications
  • Some deadline misses tolerable
Hard Real-Time
  • Strict deadline requirements
  • Service after deadline is useless
  • Used in safety-critical systems
  • Bounded interrupt and dispatch latencies

Session Summary

Key Takeaways:
  • Operating systems evolved to meet different computing needs and environments
  • Batch systems optimized for throughput in resource-constrained environments
  • Multiprogramming introduced concurrent process execution for better CPU utilization
  • Time-sharing systems enabled interactive computing with fast response times
  • Distributed systems provide transparent access to networked resources
  • Real-time systems meet strict timing requirements for control applications
Comparison Summary:
OS Type Primary Goal User Interaction Use Cases
Batch Throughput None during execution Large-scale data processing
Multiprogrammed CPU utilization Limited Server systems
Time-Sharing Response time Interactive Desktop, mobile systems
Distributed Resource sharing Network-based Cloud computing, clusters
Real-Time Meeting deadlines Minimal/None Control systems, IoT
Next Session

Session 1.3: System Calls & Virtualization
System calls overview, Types, Virtualization concepts, Open source OS

Study Tips:
  • Create a comparison chart of different OS types with their characteristics
  • Identify examples of each OS type in current technology
  • Understand the evolution and reasons behind each OS type development
  • Practice explaining the trade-offs between different approaches