Operating System Development and Classification

The Evolution of Operating Systems

First Generation: The Manual Operation Era (1945-1955)

Characteristics:

  • No operating system at all
  • The programmer operated the machine directly
  • Programs and data were loaded by hand
  • Serial processing, with extremely low efficiency

How it worked:

Programmer
Manually load the program
Run
Manually collect the output
Manually load the next program

Serial processing · each step must finish before the next begins

Problems:

  • CPU utilization was extremely low (below 5%)
  • Manual operation was tedious and laborious
  • The error rate was high
  • Resources were wasted badly

Second Generation: Batch Processing Systems (1955-1965)

Characteristics:

  • Introduced the monitor program (Monitor)
  • Jobs were processed in batches
  • Less human intervention
  • Higher CPU utilization

Workflow:

Job 1Job 2Job 3…Job n
Supervisor (Monitor)Central scheduling and execution

Types:

  • Single-program batch: one job is processed at a time
  • Multiprogrammed batch: several jobs are processed at the same time

Advantages:

  • Higher CPU utilization
  • Less human intervention
  • Standardized job processing

Disadvantages:

  • Users could not interact with their programs
  • Long response times
  • Difficult debugging

Third Generation: Time-Sharing Systems (1965-1980)

Characteristics:

  • Several users working at the same time
  • Time slices rotated among them
  • Interactive operation
  • Resource sharing

How it works:

RunningWaitingConcurrently in macro terms · interleaved in micro terms
User 1Run
User 2Run
User 3Run
Time slice 1Time slice 2Time slice 3

Representative systems:

  • UNIX: developed at Bell Labs
  • Multics: developed at MIT
  • CTSS: a compatible time-sharing system

Advantages:

  • Several users at the same time
  • Interactive operation
  • Resource sharing
  • Short response times

Disadvantages:

  • Large system overhead
  • Security problems
  • Competition for resources

Fourth Generation: Real-Time Systems (1980-1990)

Characteristics:

  • Real-time response
  • Determinism
  • High reliability
  • Strong specialization to a single task

Types:

  • Hard real-time: must respond within a specified deadline
  • Soft real-time: occasional overruns are tolerated

Application areas:

  • Industrial control
  • Aerospace
  • Medical devices
  • Military systems

What this means in practice:

  • Response times are deterministic
  • Reliability is extremely high
  • Strong specialization to the task
  • Cost is comparatively high

Fifth Generation: Network Operating Systems (1990-2000)

Characteristics:

  • Network connectivity
  • Distributed processing
  • Resource sharing
  • Communication protocols

Representative systems:

  • Novell NetWare
  • Windows NT
  • Linux

Capabilities:

  • Network file sharing
  • Remote login
  • Network printing
  • Distributed computing

Sixth Generation: Distributed Operating Systems (2000-2010)

Characteristics:

  • Cooperation among multiple computers
  • Transparency
  • Fault tolerance
  • Scalability

Architecture:

Computer ALocal Compute
Computer BLocal Compute
Shared Resources
Distributed File System

Advantages:

  • High performance
  • High reliability
  • Resource sharing
  • Load balancing

Seventh Generation: Embedded Operating Systems (2010-Present)

Characteristics:

  • Strong specialization
  • Constrained resources
  • Real-time requirements
  • Power optimization

Application areas:

  • Smartphones
  • Internet of Things devices
  • Automotive electronics
  • Industrial control

Representative systems:

  • Android
  • iOS
  • FreeRTOS
  • VxWorks

Classifying Operating Systems

By Number of Users

1. Single-User Operating Systems

Characteristics:

  • Only one user can use the system at a time
  • Resources are owned exclusively
  • Simple to manage

Representative systems:

  • MS-DOS
  • Windows 95/98
  • macOS (early versions)

2. Multi-User Operating Systems

Characteristics:

  • Several users at the same time
  • Resource sharing
  • Permission management

Representative systems:

  • UNIX/Linux
  • Windows Server
  • macOS

By Task-Processing Model

1. Single-Task Operating Systems

Characteristics:

  • Only one program runs at a time
  • Low resource utilization
  • Simple to manage

Representative systems:

  • MS-DOS
  • CP/M

2. Multi-Task Operating Systems

Characteristics:

  • Several programs run at the same time
  • High resource utilization
  • Complex to manage

Types:

  • Preemptive multitasking: the system can force a switch between tasks
  • Cooperative multitasking: a task voluntarily gives up the CPU

Representative systems:

  • Windows
  • macOS
  • Linux

By Response Time

1. Batch Processing Systems

Characteristics:

  • Jobs are processed in batches
  • Long response times
  • High throughput

Application scenarios:

  • Scientific computing
  • Data processing
  • Report generation

2. Time-Sharing Systems

Characteristics:

  • Interactive operation
  • Short response times
  • Shared by several users

Application scenarios:

  • Personal computers
  • Server systems
  • Development environments

3. Real-Time Systems

Characteristics:

  • Real-time response
  • Determinism
  • High reliability

Application scenarios:

  • Industrial control
  • Aerospace
  • Medical devices

By Application Domain

1. Desktop Operating Systems

Characteristics:

  • For personal use
  • Graphical interface
  • Easy to use

Representative systems:

  • Windows
  • macOS
  • Linux (desktop editions)

2. Server Operating Systems

Characteristics:

  • Network services
  • High reliability
  • High performance

Representative systems:

  • Windows Server
  • Linux Server
  • UNIX

3. Embedded Operating Systems

Characteristics:

  • Strong specialization
  • Constrained resources
  • Real-time requirements

Representative systems:

  • Android
  • iOS
  • FreeRTOS

4. Mobile Operating Systems

Characteristics:

  • Touch interfaces
  • Power optimization
  • Network connectivity

Representative systems:

  • Android
  • iOS
  • HarmonyOS

1. Virtualization Technology

Characteristics:

  • Hardware virtualization
  • Operating-system-level virtualization
  • Application virtualization

Applications:

  • Cloud computing
  • Container technology
  • Virtual machines

2. Cloud Computing

Characteristics:

  • Service on demand
  • Elastic scaling
  • Resource sharing

Service models:

  • IaaS (Infrastructure as a Service)
  • PaaS (Platform as a Service)
  • SaaS (Software as a Service)

3. The Internet of Things

Characteristics:

  • Interconnected devices
  • Data collection
  • Intelligent control

Applications:

  • Smart homes
  • Industrial IoT
  • Smart cities

4. Artificial Intelligence

Characteristics:

  • Intelligent scheduling
  • Adaptive optimization
  • Predictive maintenance

Applications:

  • Intelligent resource management
  • Automated operations
  • Performance optimization

Glossary

TermAbbreviationExplanation
Batch Processing System-A system that processes jobs in batches
Multiprogrammed Batch-Several jobs in memory take turns executing
Time-Sharing System-A multi-user system shared in time slices
Real-Time SystemRTSA system with strict timing constraints
Hard Real-Time-A real-time system that must meet its deadlines
Soft Real-Time-A system that may occasionally miss a deadline
Network Operating SystemNOSAn operating system that manages networked resources
Distributed Operating System-An operating system that manages a distributed system
Embedded Operating SystemEOSAn operating system for embedded devices
PC Operating System-An operating system for personal computers
Server Operating System-An operating system for servers
Mainframe Operating System-An operating system for mainframes
Mobile Operating System-An operating system for smartphones
Single-User Single-Task-One user with one task at a time
Single-User Multi-Task-One user with several tasks at a time
Multi-User-Several users working at the same time
Open Source OS-An operating system whose source code is public
Commercial OS-An operating system sold commercially
Microkernel-A minimal-kernel architecture
Monolithic Kernel-A monolithic kernel architecture
Hybrid Kernel-An architecture that combines microkernel and monolithic ideas

Found an issue with this content?

Tell us what could be improved.