OS Intro
Complete Lecture Notes1. IntroductionOverview
Concepts, History, Types, and Components of Operating Systems.
Definition
An Operating System (OS) is system software that manages computer hardware, software resources, and provides services for applications.
System Architecture (Layering)
User
Application
Operating System
Hardware
2. Objectives of an Operating System
Efficient resource utilization: Optimizes CPU, memory, storage, and peripheral hardware usage.
User convenience: Provides a user-friendly interface to interact with hardware effortlessly.
System reliability and performance: Ensures system stability, prevents conflicts, and maintains high performance.
3. Core Functions of an Operating System
Process Management:
Schedules tasks, controls execution, and manages running processes using tool utilities (such as Task Manager).
Memory Management:
Dynamically allocates, monitors, and frees RAM/memory usage across active programs.
File System Management:
Manages persistent storage, volume creation, drive partitions, and retrieval of data (such as Disk Management and file systems like NTFS).
Device Management:
Handles communication with hardware peripherals and drivers (such as Device Manager).
Security & User Interface:
Ensures system protection, threat protection, firewall security, and provides Command-Line (CLI) or Graphical User Interfaces (GUI) for user interaction.
4. History of Operating Systems
1950s: Early computers had no OS; programs ran directly on hardware.
1960s: Batch processing systems were introduced.
1970s: Multiprogramming and time-sharing OS were developed.
1980s: Personal computer OS emerged (e.g., MS-DOS, Mac OS).
1990s–Present: GUI-based OS, mobile OS, distributed, and cloud systems.
Historical OS Lineage & Unix Derivatives
Research UNIX (1970s): Developed by Bell Labs (Ken Thompson, Dennis Ritchie, et al.).
BSD Family: Developed from Berkeley Software Distribution (BSD, SunOS, Ultrix, NeXTStep), leading to Darwin, macOS, FreeBSD, OpenBSD, and DragonFly BSD.
System III & V Family: Commercial UNIX lines including AT&T Commercial UNIX, HP-UX, AIX (IBM), IRIX (SGI), and Solaris (Sun/Oracle).
GNU / Linux Lineage: Initiated via GNU Project (Richard Stallman) and Minix (Andrew S. Tanenbaum), leading to Linux created by Linus Torvalds in 1991.
5. Types of Operating Systems
Batch Operating System: Processes groups of jobs sequentially without direct user interaction (e.g., early IBM mainframe systems).
Time-Sharing Operating System: Shares processing time among multiple users and tasks concurrently (e.g., UNIX).
Distributed Operating System: Coordinates multiple independent physical nodes across network clusters or cloud environments (modern cluster/cloud-based OS).
Network Operating System: Dedicated to managing server communications, resources, and shared network storage (e.g., Windows Server, Linux server distributions).
Real-Time Operating System (RTOS): Delivers precise, deterministic execution timing constraints (used in embedded systems, medical devices, and robotics).
Mobile Operating System: Specialized for portable devices with touchscreens, power-saving capabilities, and mobile connectivity (e.g., Android, iOS).
6. Components of an Operating System
Kernel: The core part of the OS that manages hardware directly and handles system calls.
Process Management: Schedules tasks and manages execution of processes.
Memory Management: Allocates and monitors memory use.
File System: Manages storage, organization, and retrieval of data.
I/O System: Handles communication with input/output hardware and peripherals.
Security & Protection: Ensures system integrity, process isolation, and access control.
User Interface: Command-line interface (CLI) or Graphical User Interface (GUI) for user interaction.