Ch. 21 · Operating Systems

Processes Versus Threads and Shared State

Processes Versus Threads and Shared State. Learn the reasoning, a practical example, common mistakes and an interview exercise.

~2 min readbeginnerupdated Oct 3, 2026

Processes normally have separate address spaces; threads within a process share substantial memory and resources. Isolation and communication cost differ.

Before you start

You should understand processes, threads, memory and basic file operations. Track ownership and state changes over time. For concurrent scenarios, write down at least two possible execution orders; the same instructions can behave differently when scheduling or resource availability changes.

The practical goal is to reason through this situation: Two threads can access one shared object, while processes need an explicit communication mechanism. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.

Step-by-step walkthrough

Step 1: Identify isolation needs

Separate processes normally have separate address spaces.

Step 2: Identify shared ownership

Threads share memory and need coordination for mutable state.

Step 3: Compare failure and transfer

Communication cost and failure scope affect the appropriate boundary.

Worked scenario

Two threads can access one shared object, while processes need an explicit communication mechanism.

Two threads update one in-process cache easily but can race over its entries. Two processes need an explicit transfer or shared-memory arrangement, giving stronger ordinary address-space separation but additional communication design. Neither choice alone establishes safe access to files or external services shared by both.

Common mistake

Shared memory convenience introduces races and does not guarantee coordinated access.

Verify the behavior

Trace shared data and failure impact under both proposed boundaries.

Interview exercise

Choose a task boundary.

Answer and reasoning

Compare isolation needs, communication frequency and failure impact before selecting threads or separate processes.

Continue learning

Compare the scenario with the Operating Systems interview questions and test your understanding with the Operating Systems MCQs. For terminology and implementation details, consult the reference material.

More in Operating Systems

read ✓Operating Systems · hard

Operating Systems: CPU Cache Locality

Improve performance with spatial and temporal locality, avoid pointer chasing, and understand false sharing between threads.

~2 min readread →
read ✓Operating Systems · hard

Copy-on-Write Memory and fork

How copy-on-write lets fork share pages until a write, why RSS can be misleading, and the implications for memory and latency.

~2 min readread →
read ✓Operating Systems · hard

Operating Systems: epoll and select

How select, poll and epoll report I/O readiness, and the difference between level- and edge-triggered notifications.

~2 min readread →
esc