Questions on Advanced Operating Systems
Recall-Based Questions
1. What is the main purpose of abstraction in operating systems?
2. What are the key design principles of mainframe operating systems?
3. Define CPU virtualization. How does it enable multiple processes to
run simultaneously on a single-core system?
4. What is the function of the /proc filesystem in Unix-like operating
systems?
5. In a Linux-like system, does a process tend to run on the same processor
as before? Explain the concept of cache affinity in this context.
6. Briefly explain any one scheduling algorithm each for Linux and Win-
dows.
7. Explain the difference between a program and a process.
8. How do system calls contribute to ensuring security and protection in
an operating system?
9. Explain what is task struct and its role.
10. List the pros and cons of the following CPU scheduling algorithms:
• FCFS
• SJF/SRTF
• Round Robin
• Priority Scheduling
1
11. Explain the key difference between a program and a process.
12. Define the following performance metrics used in CPU scheduling:
• Turnaround Time
• Waiting Time
• Response Time
• Throughput
• CPU Utilization
13. What is the significance of the alpha factor in the exponential averaging
formula for predicting burst times?
Assignment-Like Questions
1. Choose one or two files from the /proc filesystem and explain the
information they provide.
2. In a C program, the addresses of variables are displayed during execu-
tion. Are these addresses physical or virtual? Justify your answer with
reasoning.
3. Can you run a 10 GB program on a computer with only 4 GB of RAM?
4. Write a simple C program to demonstrate process creation using fork().
5. Given the following processes, calculate the average waiting time and
turnaround time for:
• FCFS Scheduling
• SJF (non-preemptive) Scheduling
• Round Robin Scheduling (with a time quantum of 2)
Process Arrival Time Burst Time
P1 0 5
P2 1 3
P3 2 8
P4 3 6
2
6. Critical Thinking: Why might SJF/SRTF scheduling be preferred
for CPU-bound processes but not for I/O-bound processes? Provide
examples to support your reasoning.
Open-Ended Thinking Questions
1. Why are concepts like virtualization less significant in batch processing
systems compared to interactive systems?
2. Discuss the implications of race conditions in safety-critical systems,
using examples like the Therac-25 case study. How can such flaws be
avoided in real-world applications?
3. What happens when the time quantum in Round Robin scheduling is
set to an extremely low or high value?
4. How would you design a scheduling algorithm for a system with highly
variable I/O burst times?
5. In what ways could machine learning improve CPU scheduling in mod-
ern operating systems?
6. How do real-time operating systems differ in their approach to schedul-
ing compared to general-purpose operating systems?
7. Does a high CPU utilisation imply a high throughput? Give reasoning
for your answer.
8. Multilevel queue scheduling partitions processes into separate queues.
Discuss the challenges associated with this approach and suggest pos-
sible solutions to mitigate starvation in low-priority queues.
9. Compare the scheduling algorithms used by Windows, Linux, and ma-
cOS. What are the advantages of their respective approaches in bal-
ancing fairness and responsiveness?
10. Explore how real-time operating systems handle strict deadlines. Which
scheduling algorithms (e.g., Rate Monotonic or Earliest Deadline First)
are more suitable, and why?
3
Numerical Questions
Lottery Scheduling
1. A system has three processes with the following tickets:
• Process A: 5 tickets
• Process B: 3 tickets
• Process C: 2 tickets
If a lottery is drawn, what is the probability of each process getting
the CPU? Simulate the lottery draw for 10 iterations and count the
number of times each process is selected.
Completely Fair Share Scheduling (CFS)
1. Consider three processes with the following weights:
• Process A: Weight 2
• Process B: Weight 3
• Process C: Weight 5
If the time slice is 100ms and scheduler latency as 24 ms, calculate the
CPU time allocated to each process in one scheduling cycle.
Rate Monotonic Scheduling (RMS)
1. Given two periodic tasks:
• Task A: Execution Time = 2ms, Period = 5ms
• Task B: Execution Time = 1ms, Period = 3ms
Determine if the tasks can be scheduled using Rate Monotonic Schedul-
ing.
4
Earliest Deadline First (EDF)
1. Consider three tasks:
• Task A: Execution Time = 1ms, Deadline = 4ms
• Task B: Execution Time = 2ms, Deadline = 6ms
• Task C: Execution Time = 1ms, Deadline = 8ms
Create a Gantt chart showing the scheduling of these tasks using Ear-
liest Deadline First.