Operating System Evolution and Core Concepts
Introduction
The evolution of operating systems (OS) parallels hardware advancements. Hardware generations saw changes in technology components:
- Valves (1st Generation)
- Transistors (2nd Generation)
- Integrated Circuits (3rd Generation)
- Large-scale and very-large-scale integrated circuits (4th Generation)
Operating System Evolution
Generation 0 (1940)
Computational systems without OS. Users accessed machine language directly. Hand-coding and punch-card machines were used.
First Generation (1950s)
Early OS designed to manage batch processing, initiating control and organization.
Second Generation (mid-1960s)
Development of multiprogramming and multiprocessing. Real-time systems for industrial process control emerged.
Third Generation (mid-1960s to mid-1970s)
IBM System/360 introduced in 1964. Multi-mode systems (batch, time-sharing, real-time, multithreading) were developed.
Fourth Generation (mid-1970s to present)
Personal computers and computer networks appeared. User-friendly interfaces and the client-server model emerged.
OS Concepts Evolution
- 1940s: Serial-shift process, machine-language programming.
- 1950s: Resident monitor, batch processing, buffering, spooling.
- 1960s: Multiprogramming, time-sharing, real-time systems, multiprocessors, early OS (Atlas Supervisor, OS/360, Unix).
- 1970s: General-purpose systems, Pascal and C languages, MULTICS, MVS, CP/M.
- 1980s: Graphical interfaces, MS-DOS, Unix for Motorola 68000, Apple Macintosh with GUI, Microsoft Windows.
- 1990s: Linux kernel, Internet growth, window managers (KDE, GNOME).
Software Categories
System Software
Manages internal computer operations, resources (memory, CPU, peripherals, data), and supports other programs (OS, compilers, utilities).
Application Software
Performs specific tasks (standard software, integrated packages). Includes office applications, custom software.
Operating System Basics
Controls computer operations, hides hardware details, provides user access, and manages resources for efficient performance. Examples: MS-DOS, Windows.
OS Services
- Running programs
- Input/Output operations
- File manipulation
- Error detection
- Resource allocation
- Accounting
- Protection
OS Classification
- Structure: Monolithic, hierarchical, virtual machine, client-server (microkernel).
- Services: Single-user/multiuser, single-tasking/multitasking, uniprocessor/multiprocessor.
- Service Delivery: Network OS, distributed OS.
OS Resource Management
- Process Management: Scheduling and concurrency.
- Memory Management: Allocation and deallocation.
- Inter-process Communication: Data and command exchange.
- I/O Management: Peripheral device control.
- File and Directory Management: Data and name management.
OS Objectives
- Simplify peripheral device management.
- Protect users with file access limitations.
OS Features
- Convenience
- Efficiency
- Evolvability
- Hardware management
- Device connectivity
- Data organization
- Network communication
- Data flow processing
- Input/Output provision
- Error recovery
- Interference prevention
- Statistics generation
- Data sharing
Kernel and OS Levels
The kernel is the core of the OS, managing services and resources. Levels include:
- Level 1: Memory Management
- Level 2: Processor
- Level 3: Input/Output
- Level 4: Application and Language Interpreter
- Level 5: File Control
Kernel Functions
- Interrupt handling
- Process creation/destruction
- Process state changes
- Scheduling
- Process suspension/resumption
- Process synchronization
- Inter-process communication
- Process control block management
- I/O support
- Memory allocation/deallocation
- File system support
- Call/return mechanism support
- Accounting functions
Processor Management
Process: A running program with its environment. Managed through a Process Control Block (PCB).
PCB Contents
- Identification: Process ID, parent process ID, user ID.
- Processor State: User-visible registers.
- Control Information: Stack pointers, scheduling info, data structures, inter-process communication, privileges, memory management, resource ownership.