W1-C1

Section A: Introduction to Operating Systems

1. Overview of Operating Systems

  • Definition: An Operating System (OS) is software acting as an interface between users and computer hardware, controlling software execution and hardware activities.

  • Main Functions:

    • Process Execution

    • Resource Allocation

    • CPU Management

    • File Management

  • Examples: Microsoft Windows, Linux, Unix, Apple Mac

1.1 Main Functions of an Operating System

I. Process Management
  • Function: Manages processes, which are instances of running programs.

  • Responsibilities: Schedules CPU time, creates/terminates processes, manages execution.

  • Example: Allows concurrent execution of a web browser, media player, and word processor without interference.

II. Memory Management
  • Function: Handles memory allocation and de-allocation for processes.

  • Responsibilities: Keeps track of used and available memory.

  • Example: Allocates memory for a text editor when opened.

III. File System Management
  • Function: Manages organization, storage, retrieval, manipulation of files.

  • Responsibilities: Ensures data storage and retrieval are managed on storage devices.

  • Example: Manages file saving and downloading.

IV. Device Management
  • Function: Controls and communicates with hardware devices.

  • Responsibilities: Enables interaction with devices like printers/USB drives.

  • Example: Detects and manages a newly plugged USB flash drive.

V. User Interface
  • Function: Provides means for users to interact with the operating system.

  • Types: Graphical User Interface (GUI) and Command-Line Interface (CLI).

1.2 Evolution of Operating Systems

  • Overview: Traces the journey from early computing with punch cards to modern systems.

  • Key Stages:

    • Batch Processing Systems (1950s-1960s): Large, expensive, programs processed without user interaction.

    • Single-User, Single-Tasking Systems (1960s-1970s): One user, one task (e.g., OS/360, CP/M).

    • Multi-User, Multi-Tasking Systems (1970s-1980s): Multiple users and tasks simultaneously (e.g., UNIX).

    • Graphical User Interfaces (1980s-1990s): Made computers user-friendly (e.g., Windows, Mac).

    • Networked Operating Systems (1990s-2000s): Facilitated resource sharing across networks.

    • Mobile Operating Systems (2000s-2010s): Designed for mobile devices (e.g., iOS, Android).

    • Cloud-Based Operating Systems (2010s-2020s): Integrated cloud services.

    • Internet of Things (IoT) Operating Systems (2010s-2020s): Lightweight OS for IoT devices.

    • Hybrid and Converged Systems (Present and Beyond): Combining features of various OS types for seamless experience.

Page 5: Types of Operating Systems

  • Different types of operating systems include:

    1. Batch Operating System

    2. Multi-Programming Operating System

    3. Multi-Processing Operating System

    4. Multi-Tasking Operating System

    5. Time Sharing Operating System

    6. Distributed Operating System

    7. Network Operating System

    8. Real-Time Operating System

1. Batch Operating System

  • Description: Executes jobs in batches without user interaction.

  • Example: Payroll systems, where jobs are sorted based on requirements.

  • Advantages: Low idle time, can manage large tasks efficiently.

  • Disadvantages: Difficult debugging, unknown waiting times.

2. Multi-Programming Operating System

  • Description: Multiple programs reside in memory to utilize CPU efficiently.

  • Advantages: Increased throughput, reduced response times.

  • Disadvantages: No user interaction provided.

3. Multi-Processing Operating System

  • Description: Supports concurrent execution across multiple CPUs or cores.

  • Advantages: Increases system throughput, fault tolerance.

  • Disadvantages: Complexity in management.

4. Multi-Tasking Operating System

  • Description: Allows concurrent execution of multiple tasks.

  • Examples: Modern Windows, macOS.

  • Advantages: Supports multiple users, efficient memory management.

  • Disadvantages: Increased heat generation from active CPUs.

5. Time Sharing Operating System

  • Description: Allows multiple users at terminals to use a central computer through shared CPU time.

  • Advantages: Rapid response and efficient CPU utilization.

  • Disadvantages: Reliability and security issues.

6. Distributed Operating System

  • Description: Operates across multiple computers to create a unified system.

  • Key Characteristics: Transparency, resource sharing, load balancing.

7. Network Operating System

  • Description: Manages network resources and services.

  • Example: Windows Server, macOS Server.

  • Characteristics: Centralized management, resource sharing, user authentication.

8. Real Time Operating System

  • Description: Critical for applications requiring precise timing.

  • Characteristics: Determinism, minimal latency, task prioritization.

Page 14: Operating System Structure

  • Types of Structures:

    • Simple Structure

    • Monolithic Structure

    • Layered Structure

    • Micro-Kernel Structure

    • Modular Structure

Simple Structure

  • Characteristics: Basic architecture typically used in single computers.

  • Example: MS-DOS

  • Advantages: Easy creation and high performance.

  • Disadvantages: Entire OS crashes on a program failure.

Monolithic Structure

  • Characteristics: A single layer managing core services directly.

  • Advantages: Fast operation due to direct management by the kernel.

  • Disadvantages: Complexity in fault isolation.

Layered Structure

  • Characteristics: Multiple layers to manage OS functionalities with control over each.

  • Advantages: Enhances debugging and formulating systems.

  • Disadvantages: Potential for performance overhead due to layering.

Micro-Kernel Structure

  • Characteristics: Minimal kernel with user apps performing additional services.

  • Advantages: Improved reliability and modularity.

  • Disadvantages: Performance limitations due to inter-module communication.

Modular Structure

  • Description: Kernel built with dynamic, interchangeable modules.

  • Benefits: Flexibility and ease of maintenance.

Page 21: System Calls

  • Definition: Mechanism for programs to request services from the OS kernel.

  • Functionality: Enables communication and resource management between user applications and the OS.

  • Types of System Calls:

    • Process Control: Manage process lifecycle.

    • File Management: Support file operations.

    • Device Management: Manage device operations.

    • Information Maintenance: Keep system data current.

    • Communication: Facilitate inter-process communication.