COS3721 — OPERATING SYSTEMS AND
ARCHITECTURE
Premium Original Study Guide • Concepts • Algorithms • Worked Reasoning • Practice
Scope: This guide is an original study resource inspired by the public structure and topic emphasis of the referenced COS3721
summary. It does not reproduce the paid Stuvia document, its copyrighted text, or past/actual assessment questions.
The linked Stuvia document is a 186-page summary from 2021/2022. Related public COS3721 material emphasizes
operating-system fundamentals and exam-oriented summaries. Unisa describes COS3721 as a year module covering CPU
scheduling, process coordination/concurrency, deadlocks, memory management, protection/security and distributed systems.
The guide therefore focuses on transferable operating-systems knowledge: processes and threads, scheduling, synchronization,
deadlocks, memory, file/storage systems, protection/security and distributed systems.
,1. Operating-System Foundations
What an OS does. An operating system manages hardware resources and provides services to applications. Core responsibilities
include process management, memory management, storage/file management, I/O, protection and security.
Kernel vs user mode. User programs normally execute with restricted privileges. Kernel mode permits privileged operations such
as configuring hardware, managing page tables and controlling devices. A system call provides a controlled transition into OS
services.
Program, process, thread. A program is passive code; a process is a running program with execution state and resources; a
thread is an execution path within a process. Threads in the same process can share address space while maintaining separate
execution state such as registers and stacks.
Exam anchor: If the question asks “who controls resources?” think OS/kernel. If it asks “what is executing?” think process/thread.
If it asks “how does an application request a privileged service?” think system call.
,2. Processes, Threads & IPC
A process typically moves through states such as new, ready, running, waiting/blocked and terminated. A context switch saves the
state of one execution context and restores another; it enables multitasking but adds overhead.
PCB. A process control block stores information the OS needs to manage a process, such as state, program counter, CPU
registers, scheduling information and resource/accounting information.
IPC. Interprocess communication can use shared memory or message passing. Shared memory is fast after setup but requires
synchronization. Message passing provides explicit communication and can simplify isolation.
Threads. User-level threads can be managed by a library; kernel-level threads are visible to the OS scheduler. Multithreading can
improve responsiveness and overlap computation with I/O, but shared state creates race-condition risks.
, 3. CPU Scheduling
Scheduling decides which ready process/thread should receive CPU time. Common algorithms include FCFS, SJF, SRTF, priority
scheduling and round robin.
Key metrics: turnaround time = completion − arrival; waiting time = turnaround − CPU burst; response time = first CPU service −
arrival. Throughput measures completed work per unit time; utilization measures how busy the CPU is.
FCFS: simple and non-preemptive, but long jobs can delay short jobs. SJF: minimizes average waiting time when burst estimates
are accurate. Round robin: uses a time quantum and is designed for responsive time-sharing.
Trap: Do not confuse response time with turnaround time. A process can receive its first CPU slice quickly while still completing
much later.
ARCHITECTURE
Premium Original Study Guide • Concepts • Algorithms • Worked Reasoning • Practice
Scope: This guide is an original study resource inspired by the public structure and topic emphasis of the referenced COS3721
summary. It does not reproduce the paid Stuvia document, its copyrighted text, or past/actual assessment questions.
The linked Stuvia document is a 186-page summary from 2021/2022. Related public COS3721 material emphasizes
operating-system fundamentals and exam-oriented summaries. Unisa describes COS3721 as a year module covering CPU
scheduling, process coordination/concurrency, deadlocks, memory management, protection/security and distributed systems.
The guide therefore focuses on transferable operating-systems knowledge: processes and threads, scheduling, synchronization,
deadlocks, memory, file/storage systems, protection/security and distributed systems.
,1. Operating-System Foundations
What an OS does. An operating system manages hardware resources and provides services to applications. Core responsibilities
include process management, memory management, storage/file management, I/O, protection and security.
Kernel vs user mode. User programs normally execute with restricted privileges. Kernel mode permits privileged operations such
as configuring hardware, managing page tables and controlling devices. A system call provides a controlled transition into OS
services.
Program, process, thread. A program is passive code; a process is a running program with execution state and resources; a
thread is an execution path within a process. Threads in the same process can share address space while maintaining separate
execution state such as registers and stacks.
Exam anchor: If the question asks “who controls resources?” think OS/kernel. If it asks “what is executing?” think process/thread.
If it asks “how does an application request a privileged service?” think system call.
,2. Processes, Threads & IPC
A process typically moves through states such as new, ready, running, waiting/blocked and terminated. A context switch saves the
state of one execution context and restores another; it enables multitasking but adds overhead.
PCB. A process control block stores information the OS needs to manage a process, such as state, program counter, CPU
registers, scheduling information and resource/accounting information.
IPC. Interprocess communication can use shared memory or message passing. Shared memory is fast after setup but requires
synchronization. Message passing provides explicit communication and can simplify isolation.
Threads. User-level threads can be managed by a library; kernel-level threads are visible to the OS scheduler. Multithreading can
improve responsiveness and overlap computation with I/O, but shared state creates race-condition risks.
, 3. CPU Scheduling
Scheduling decides which ready process/thread should receive CPU time. Common algorithms include FCFS, SJF, SRTF, priority
scheduling and round robin.
Key metrics: turnaround time = completion − arrival; waiting time = turnaround − CPU burst; response time = first CPU service −
arrival. Throughput measures completed work per unit time; utilization measures how busy the CPU is.
FCFS: simple and non-preemptive, but long jobs can delay short jobs. SJF: minimizes average waiting time when burst estimates
are accurate. Round robin: uses a time quantum and is designed for responsive time-sharing.
Trap: Do not confuse response time with turnaround time. A process can receive its first CPU slice quickly while still completing
much later.