Summarise the characteristics of multiprocessor and multiuser operating systems.
Prerequisites
Clear idea of time-sharing and time slicing (Lecture 4).
Basic meaning of process, CPU scheduling, memory, and I/O devices.
Basic understanding of user accounts / login (username-password concept).
Lecture Notes
Main content
Unit 1 — Introduction & OS Structure
Lecture 6: Multiprocessor & Multiuser Systems
Learning Outcome
Explain what multiprocessor systems and multiuser systems are, differentiate them clearly,
and describe key architectures/mechanisms used by the OS to manage them.
1) First, do not mix these terms
Term
Meaning
Layer
Multiprocessor
System has 2 or more CPUs/cores working together (parallel hardware).
Hardware + OS scheduling
Multiuser
System supports multiple users concurrently with isolation and protection.
OS access control + time-sharing
Key idea:
A system can be multiprocessor but not multiuser (e.g., a personal laptop),
or it can be both (e.g., a lab/enterprise Linux server).
2) Multiprocessor Systems (Parallel / Tightly-Coupled Systems)
A multiprocessor system consists of two or more processors in close communication
sharing bus/interconnect, memory, clock and peripheral devices. The main goal is higher performance and better reliability.
2.1 Two common architectures: SMP vs AMP
SMP — Symmetric Multiprocessing
All processors are peers (equal capability).
Any CPU can execute kernel and user code.
OS performs dynamic load balancing (moves work between CPUs).
Master–worker model: one master CPU controls the system.
Master schedules and assigns work to worker CPUs.
Simpler design, but master can become a bottleneck.
2.2 Memory access models: UMA vs NUMA
UMA (Uniform Memory Access)
All CPUs have same access time to memory.
Common in smaller SMP systems.
NUMA (Non-Uniform Memory Access)
Each CPU has local memory (fast) and can access remote memory (slower).
Scales better with more CPUs, but remote access adds latency.
OS can reduce NUMA penalty using careful CPU scheduling and memory placement policies.
2.3 Advantages of multiprocessor systems
Increased Throughput: more work per unit time (but speedup is usually less than N due to overhead).
Economy of Scale: shared peripherals/storage is cheaper than multiple separate systems.
Increased Reliability: graceful degradation—if one CPU fails, the system may continue with reduced performance.
2.4 OS challenges in multiprocessor systems (must know)
(A) Synchronization
Shared memory means multiple CPUs may update the same data at the same time.
OS and applications must use locks (mutex/spinlock) to prevent corruption.
(B) Load Balancing
OS tries to avoid one CPU being overloaded while another is idle
by migrating processes/threads across CPUs.
(C) Cache Coherency (concept)
Each CPU has caches. If CPU0 updates a variable, CPU1’s cached copy can become stale.
Hardware cache-coherency protocols + OS design reduce inconsistency.
(D) Processor Affinity (concept)
Keeping a process on the same CPU can improve speed (warm cache),
but too much affinity may reduce load balancing.
3) Multiuser Systems
A multiuser operating system allows multiple users to access the same computer concurrently.
Each user has an independent session/environment, and the OS must ensure
isolation, protection, and fair resource sharing.
3.1 Multiuser systems are usually time-sharing systems
CPU switches rapidly among users, giving the impression of a dedicated system.
Uses time slicing (CPU time divided into quanta).
Interactive response time is prioritized over batch throughput.
Virtual memory allows more users than fit in physical memory.
3.2 Mechanisms used for user isolation and security
User Identity
User ID (UID): every user has a unique identifier.
Processes inherit the UID of the user who launched them.
File Permissions
Permissions based on Owner / Group / Others.
Typical rights: Read / Write / Execute.
Process Isolation
Users cannot read another user’s memory directly.
Users cannot kill/inspect privileged processes without permission.
Resource Quotas
Limits on disk space, CPU time, and memory per user.
Prevents one user from exhausting resources.
Exam distinction:
Multiprocessor answers “How many CPUs are available?”
Multiuser answers “How many users can safely and fairly use the system at once?”
4) Diagram: Multiprocessor vs Multiuser (one picture)
Fig 6.1: Multiprocessor focuses on parallel CPUs; multiuser focuses on safe concurrent user access.
5) Quick Self-Check Questions
Define multiprocessor system. Differentiate SMP and AMP.
Differentiate UMA and NUMA. Why does NUMA scale better, and what is the drawback?
List three advantages of multiprocessor systems.
Define a multiuser operating system. Why is time-sharing important for multiuser systems?
List mechanisms used to isolate users and prevent misuse (UID, permissions, isolation, quotas).
Give one example of a system that is multiprocessor but not multiuser, and one that is both.
Worked Example
Worked Example: University Linux Server (Both Multiprocessor + Multiuser)
Suppose a university has a Linux server with 8 CPUs/cores. Around 80–100 students log in at the same time
to compile code, run programs, and use editors.
What multiprocessor capability provides
Multiple compilations can run in parallel on different cores.
The scheduler can distribute CPU-heavy tasks to keep cores busy (load balancing).
Even if one core is heavily loaded, other cores can still serve other users.
What multiuser capability provides
Each student gets an isolated session with their own files.
UID + file permissions prevent one student from reading/modifying another’s work.
Quotas and limits stop one student from consuming all CPU/memory/disk.
Time slicing ensures interactive response even with many logins.
Conclusion:
This server is multiprocessor (parallel hardware) and multiuser (concurrent user access with isolation).
Both properties are needed for smooth operation.
One-Page Summary
One-Page Summary — Multiprocessor & Multiuser Systems
Multiprocessor system: 2+ CPUs/cores in close communication; improves throughput, economy of scale, and reliability.
SMP: all CPUs are peers; OS can run on any CPU; supports dynamic load balancing.
AMP: master–worker model; simpler but master can bottleneck.
UMA: uniform memory access time for all CPUs.
NUMA: local memory fast, remote memory slower; scales better but remote latency adds penalty; OS scheduling and memory placement reduce penalty.
Multiuser system: multiple users use the same system concurrently with isolation, protection, and fair resource sharing.
Time-sharing: CPU switches rapidly among users; uses time slicing and virtual memory support.
Multiuser mechanisms: UID, file permissions, process isolation, and quotas.