1
Important Questions and Answers
CP25C03-Advanced Operating Systems
Syllabus
1. Advanced Process and Thread Management: Multithreading models, thread pools,
context switching, Synchronization issues and solutions: semaphores, monitors, lock-free
data structures, CPU scheduling in multi-core systems.
Activity: CPU scheduler simulation for multicore systems.
2. Memory and Resource Management in Modern OS: Virtual memory, demand paging,
page replacement policies-Huge pages, NUMA-aware memory management-Resource
allocation in cloud-native environments.
Activity: Simulate demand paging and page replacement algorithms.
3. Virtualization and Containerization: Hypervisors (Type I & II), KVM, QEMU, Xen-
Containers: Docker, LXC, systemd-nspawn-OS-level virtualization and namespaces.
Activity: Deploy and configure Docker containers with various images.
4. Distributed Operating Systems and File Systems: Distributed scheduling, communication,
and synchronization-Distributed file systems: NFS, GFS, HDFS-Transparency issues and
fault tolerance.
Activity: Simulate distributed process synchronization.
5. Security and Trust in Operating Systems: Access control models: DAC, MAC, RBAC-OS
hardening techniques, sandboxing, SELinux, AppArmor-Secure boot, rootkit detection,
trusted execution environments.
Activity: Implement Role-Based Access Control (RBAC) using Linux user and group
permissions.
6. Real-Time and Embedded Operating Systems: Real-time scheduling algorithms (EDF,
V.
RM)-POSIX RT extensions, RTOS architecture-TinyOS, FreeRTOS case studies.
U
m
Activity: Analyze FreeRTOS task scheduling behavior.
ap
7. Edge and Cloud OS: Future Paradigms: Serverless OS, unikernels, lightweight OS for
at
edge computing-Mobile OS internals (Android, iOS)-OS for quantum and neuromorphic
hy
computing (intro).
,Pr
Activity: Analyze Android’s system architecture using emulator tools.
of
./
EC
N
ot
es
, 2
S.No. Description
Unit-I
Advanced Process and Thread Management
Basic Concepts
S.No. Basic Concept Definition / Key Points
Executing multiple threads within a single process. Threads share code,
1 Multithreading
data, and files but have separate stacks and registers.
Many-to-One: many user threads to one kernel thread. One-to-One: each
Multithreading
2 user thread maps to a kernel thread. Many-to-Many: many user threads
Models
map to multiple kernel threads.
A collection of pre-created worker threads that execute submitted tasks. It
3 Thread Pool
reduces thread-creation overhead and improves performance.
Saving the state of a running process or thread and restoring another
4 Context Switching
thread's state. It introduces CPU overhead.
Occurs when multiple threads access shared data concurrently and the
5 Race Condition
result depends on execution order. Prevent it using synchronization.
A code segment that accesses shared resources. Mutual exclusion ensures
6 Critical Section
only one thread accesses the protected resource at a time.
A synchronization variable controlled by wait (P) and signal (V)
7 Semaphore operations. Binary semaphore: values 0 or 1; counting semaphore:
manages multiple resources.
A high-level synchronization construct that allows only one thread at a
8 Monitor time to execute its protected procedures. Condition variables support
waiting and signaling.
Lock-Free Data Data structures using atomic operations such as Compare-and-Swap
9
Structures (CAS), allowing system-wide progress without traditional locks.
Deadlock and Deadlock occurs when threads wait indefinitely for resources. Starvation
10
Starvation occurs when a thread is repeatedly denied CPU time or resources.
Multicore CPU Distributes threads across multiple CPU cores. Techniques include load
11
Scheduling balancing, processor affinity, and gang scheduling.
Synchronization Mutual exclusion, progress, and bounded waiting are key requirements for
12
Goals correct critical-section management.
V.
Important Equations (Plain Text – Copy to Word)
U
m
ap
1. CPU Utilization
at
hy
CPU Utilization = (CPU Busy Time / Total Time) × 100%
,
Pr
of
./
EC
N
ot
es
, 3
2. Thread Speedup
Speedup = Execution Time on 1 Core / Execution Time on N Cores
3. Amdahl's Law
Speedup(N) = 1 / [S + (1 − S)/N]
Where S = serial fraction and N = number of processor cores.
4. Semaphore Operations
wait(S): S = S − 1
signal(S): S = S + 1
Note: Semaphore operations must be atomic; wait may block when the resource is unavailable.
5. Average Waiting Time
Average Waiting Time = Total Waiting Time of All Threads / Number of Threads
6. Thread Pool Throughput
Throughput = Number of Tasks Completed / Total Execution Time
Quick Exam Revision
Multithreading: Improves responsiveness and resource sharing.
Thread pool: Reuses worker threads.
Semaphore: Controls access to shared resources.
Monitor: Provides structured synchronization.
V.
U
Lock-free algorithm: Uses atomic operations to avoid conventional locks.
m
ap
Multicore scheduling: Aims to maximize CPU utilization and balance workload.
at
hy
Multiple Choice QA
,
Pr
1. Which multithreading model maps multiple user-level threads to a single kernel thread?
of
./
EC
N
ot
es
, 4
A) One-to-One Model
B) Many-to-One Model
C) Many-to-Many Model
D) Two-Level Model
Answer: B) Many-to-One Model
Reason: In the many-to-one model, multiple user threads map to one kernel thread. If one thread
blocks, all threads may be blocked, and true parallel execution on multiple CPU cores is not possible.
2. What is the main purpose of a thread pool?
A) To increase context-switching overhead
B) To create a new process for every task
C) To reuse existing threads for multiple tasks
D) To eliminate CPU scheduling
Answer: C) To reuse existing threads for multiple tasks
Reason: A thread pool maintains a set of reusable worker threads. It reduces thread creation and
termination overhead and improves application performance.
Equation (plain text):
Total execution time = Task processing time + Thread management overhead
3. Which synchronization mechanism uses an integer variable and atomic operations to control access
to shared resources?
V.
U
A) Context switching
m
ap
B) Semaphore
at
hy
,
C) Thread pool
Pr
of
./
EC
N
ot
es
Important Questions and Answers
CP25C03-Advanced Operating Systems
Syllabus
1. Advanced Process and Thread Management: Multithreading models, thread pools,
context switching, Synchronization issues and solutions: semaphores, monitors, lock-free
data structures, CPU scheduling in multi-core systems.
Activity: CPU scheduler simulation for multicore systems.
2. Memory and Resource Management in Modern OS: Virtual memory, demand paging,
page replacement policies-Huge pages, NUMA-aware memory management-Resource
allocation in cloud-native environments.
Activity: Simulate demand paging and page replacement algorithms.
3. Virtualization and Containerization: Hypervisors (Type I & II), KVM, QEMU, Xen-
Containers: Docker, LXC, systemd-nspawn-OS-level virtualization and namespaces.
Activity: Deploy and configure Docker containers with various images.
4. Distributed Operating Systems and File Systems: Distributed scheduling, communication,
and synchronization-Distributed file systems: NFS, GFS, HDFS-Transparency issues and
fault tolerance.
Activity: Simulate distributed process synchronization.
5. Security and Trust in Operating Systems: Access control models: DAC, MAC, RBAC-OS
hardening techniques, sandboxing, SELinux, AppArmor-Secure boot, rootkit detection,
trusted execution environments.
Activity: Implement Role-Based Access Control (RBAC) using Linux user and group
permissions.
6. Real-Time and Embedded Operating Systems: Real-time scheduling algorithms (EDF,
V.
RM)-POSIX RT extensions, RTOS architecture-TinyOS, FreeRTOS case studies.
U
m
Activity: Analyze FreeRTOS task scheduling behavior.
ap
7. Edge and Cloud OS: Future Paradigms: Serverless OS, unikernels, lightweight OS for
at
edge computing-Mobile OS internals (Android, iOS)-OS for quantum and neuromorphic
hy
computing (intro).
,Pr
Activity: Analyze Android’s system architecture using emulator tools.
of
./
EC
N
ot
es
, 2
S.No. Description
Unit-I
Advanced Process and Thread Management
Basic Concepts
S.No. Basic Concept Definition / Key Points
Executing multiple threads within a single process. Threads share code,
1 Multithreading
data, and files but have separate stacks and registers.
Many-to-One: many user threads to one kernel thread. One-to-One: each
Multithreading
2 user thread maps to a kernel thread. Many-to-Many: many user threads
Models
map to multiple kernel threads.
A collection of pre-created worker threads that execute submitted tasks. It
3 Thread Pool
reduces thread-creation overhead and improves performance.
Saving the state of a running process or thread and restoring another
4 Context Switching
thread's state. It introduces CPU overhead.
Occurs when multiple threads access shared data concurrently and the
5 Race Condition
result depends on execution order. Prevent it using synchronization.
A code segment that accesses shared resources. Mutual exclusion ensures
6 Critical Section
only one thread accesses the protected resource at a time.
A synchronization variable controlled by wait (P) and signal (V)
7 Semaphore operations. Binary semaphore: values 0 or 1; counting semaphore:
manages multiple resources.
A high-level synchronization construct that allows only one thread at a
8 Monitor time to execute its protected procedures. Condition variables support
waiting and signaling.
Lock-Free Data Data structures using atomic operations such as Compare-and-Swap
9
Structures (CAS), allowing system-wide progress without traditional locks.
Deadlock and Deadlock occurs when threads wait indefinitely for resources. Starvation
10
Starvation occurs when a thread is repeatedly denied CPU time or resources.
Multicore CPU Distributes threads across multiple CPU cores. Techniques include load
11
Scheduling balancing, processor affinity, and gang scheduling.
Synchronization Mutual exclusion, progress, and bounded waiting are key requirements for
12
Goals correct critical-section management.
V.
Important Equations (Plain Text – Copy to Word)
U
m
ap
1. CPU Utilization
at
hy
CPU Utilization = (CPU Busy Time / Total Time) × 100%
,
Pr
of
./
EC
N
ot
es
, 3
2. Thread Speedup
Speedup = Execution Time on 1 Core / Execution Time on N Cores
3. Amdahl's Law
Speedup(N) = 1 / [S + (1 − S)/N]
Where S = serial fraction and N = number of processor cores.
4. Semaphore Operations
wait(S): S = S − 1
signal(S): S = S + 1
Note: Semaphore operations must be atomic; wait may block when the resource is unavailable.
5. Average Waiting Time
Average Waiting Time = Total Waiting Time of All Threads / Number of Threads
6. Thread Pool Throughput
Throughput = Number of Tasks Completed / Total Execution Time
Quick Exam Revision
Multithreading: Improves responsiveness and resource sharing.
Thread pool: Reuses worker threads.
Semaphore: Controls access to shared resources.
Monitor: Provides structured synchronization.
V.
U
Lock-free algorithm: Uses atomic operations to avoid conventional locks.
m
ap
Multicore scheduling: Aims to maximize CPU utilization and balance workload.
at
hy
Multiple Choice QA
,
Pr
1. Which multithreading model maps multiple user-level threads to a single kernel thread?
of
./
EC
N
ot
es
, 4
A) One-to-One Model
B) Many-to-One Model
C) Many-to-Many Model
D) Two-Level Model
Answer: B) Many-to-One Model
Reason: In the many-to-one model, multiple user threads map to one kernel thread. If one thread
blocks, all threads may be blocked, and true parallel execution on multiple CPU cores is not possible.
2. What is the main purpose of a thread pool?
A) To increase context-switching overhead
B) To create a new process for every task
C) To reuse existing threads for multiple tasks
D) To eliminate CPU scheduling
Answer: C) To reuse existing threads for multiple tasks
Reason: A thread pool maintains a set of reusable worker threads. It reduces thread creation and
termination overhead and improves application performance.
Equation (plain text):
Total execution time = Task processing time + Thread management overhead
3. Which synchronization mechanism uses an integer variable and atomic operations to control access
to shared resources?
V.
U
A) Context switching
m
ap
B) Semaphore
at
hy
,
C) Thread pool
Pr
of
./
EC
N
ot
es