Operating System Development and Classification
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:
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:
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:
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:
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
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
| Term | Abbreviation | Explanation |
|---|---|---|
| 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 System | RTS | A 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 System | NOS | An operating system that manages networked resources |
| Distributed Operating System | - | An operating system that manages a distributed system |
| Embedded Operating System | EOS | An 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 |
