Chapter 0
Created: 2025-12-16
Updated: 2025-12-16
Mainframe Systems
- the earliest large-scale computers
- physically massive, often occupying entire rooms
- IO very slow, such as card readers, tape drives, and line printers
- Nowadays def: a large system designed for particular tasks, running with massive amounts of data for large organizations like banks, airlines, and government agencies
- reliability, security, and high-throughput
- bulk data processing, enterprise resource planning (ERP), and handling billions of real-time transactions
- The Three Stages of Evolution:
Batch Systems
- Process
- users submit jobs (programs and data) to operators
- operators sort jobs manually (with similar needs) into batches
- OS simply runs each job sequentially (no decision-making)
- Features
- One job at a time
- no user interaction
- CPU is often idle, waiting for slow IO devices
Multiprogramming Systems
- Overlaps CPU and I/O → ↑ CPU utilization
- Spooling: Simultaneous Peripheral Operations On-Line
- It's only a concept ← implemented by interrupt
- I/O is done with no CPU intervention
- CPU just be notified when I/O is done
Time-Sharing Systems
- interactive: provide direct communication between user and system
- users: share the CPU simultaneously
| Feature | Batch | Multiprogramming | Time-Sharing |
|---|---|---|---|
| System Model | single user, single job | multiple prog. | multiple users, multiple prog. |
| Purpose | simple | resource utilization | interactive response time |
| OS feature | N/A | CPU scheduling, memory management | file system, virtual memory, sync, deadlock |
Computer system architecture
Desktop Systems: Personal Computer
- convenience and responsiveness -- GUI
- I/O devices
- lack of OS protection from users
Multiprocessor Systems -- Tightly Coupled System -- Parallel Systems
- multiple CPUs communicate through shared memory
- purpose: ↑ throughput, economical, ↑ reliability
- SMP (Symmetric Multiprocessing System) -- most popular
- each processor runs the same OS
- require extensive sync to protect data integrity
- Asymmetric Multiprocessing System
- each processor is assigned a specific task
- one master CPU & multiple slave CPUs
- for extremely large systems
- Multi-core Processors
- on-chip communication is faster than between-chip communication
- problem: different core have different cache
- Many-core Processors
- hundreds or thousands of cores
- e.g. GPU (Graphics Processing Unit)
- Memory Access Architecture
- UMA (Uniform Memory Access): all processors share the same physical memory uniformly
- identical access time
- NUMA (Non-Uniform Memory Access): each processor has its own local memory, but can also access memory owned by other processors (higher latency)
- non-uniform access time
- UMA (Uniform Memory Access): all processors share the same physical memory uniformly
Distributed Systems -- Loosely Coupled System
- communicate through I/O bus or network
- easy to scale to large # of nodes
- purpose: resource sharing, load sharing, reliability
- architecture:
- client-server model: easy to manage but bottleneck and single point of failure
- peer-to-peer model: each node has equivalent capabilities and responsibilities
- Clustered Systems
- multiple systems connected through a high-speed network (e.g. Infiniband)
- Supercomputers
- performance measured in FLOPS (Floating Point Operations Per Second), not MIPS (Million Instructions Per Second)
- Heterogeneous Computing
- different types of computing units (DSP, FPGA, GPU, CPU ...)
- HSA (Heterogeneous Systems Architecture)
- unified memory address space for all computing units
- eliminate data copying between different memories
Single core → Multi-core → Many-core (tightly) | (loosely) Cluster → Distributed
Special-Purpose Systems
- Real-Time OS
- Keep deadline: guarantee response time for critical tasks
- Soft real-time: best-effort to meet deadlines -- priority (e.g. multimedia)
- Hard real-time: must meet deadlines (no/limited secondary storage) (e.g. nuclear power plant)
- Multimedia Systems
- a wide range of app: audio, video ...
- timing constraints: 24~30 fps
- on-demand/live streaming: played but not stored
- compression/decompression
- Handheld/Embedded Systems
- specialized OS for small devices
- constraints: limited memory, low power consumption, small display, simple I/O