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:
Batch Operating System
Multi-Programming Operating System
Multi-Processing Operating System
Multi-Tasking Operating System
Time Sharing Operating System
Distributed Operating System
Network Operating System
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.