Faculty Name: Ms.
Madhu Operating System Session: 2025-26
Faculty Id: Module-1,2 Class/Sem:
madhu@[Link] Assignment-I 3-A,B
Blooms
[Link] Question Statement Marks CO
Knowledge Level
Given two OS architectures: Microkernel and CO1 K4
Monolithic, perform a comparative analysis in the
[Marks
Q1. context of fault isolation, performance, and modularity
2]
when applied to an ATM machine. (Include trade-offs
and real-world implications.)
How does the distinction between kernel mode and
[Marks
Q2. user mode function as a rudimentary form of CO1 K4
protection (security) system? 2]
Explain how the fork() and exec() system calls are CO1
used together in Linux to create and execute new
processes. Then, write a simple C program that: K3
a. Creates a child process using fork().
b. The child process replaces itself using exec()
to run the ls command.
[Marks
Q3. c. The parent process waits for the child to finish
before exiting. 2]
Now consider the following code snippet using the
fork() and wait() system calls. Assume that the code
compiles and runs correctly, and that the system calls
run successfully without any errors.
int x = 4;
while(x > 0) {
fork();
printf("hello");
wait(NULL);
x--;
The total number of times the printf statement is
executed is ___
Write a shell script that uses a function to calculate the CO1
factorial of a number entered by the user, but only if [Marks
Q4. K3
the number is prime. If the entered number is not 2]
prime, display an appropriate message.
Design a booting sequence for a new operating system
developed for educational computers. What CO1
components would you include in the system boot
[Marks K6
Q5. process, and in what order? Why? (Include
2]
BIOS/UEFI, bootloader, kernel loading, and system
initialization reasoning.)
Given a multi-programming operating system where CO2 K3
multiple processes frequently switch between I/O and [Marks
Q6. CPU operations, apply the concept of the Process State
2]
Diagram to explain how the operating system manages
these processes efficiently. Provide a practical
example to demonstrate transitions between at least
three process states.
Why is it important for the scheduler to distinguish [Marks CO2 K4
Q7.
I/O-bound programs from CPU-bound programs? 2]
Consider the following set of processes, with the CO2 K4
length of the CPU burst given in milliseconds:
Process Burst Time Priority
P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2
The processes are assumed to have arrived in the order
P1, P2, P3, P4, Ps, all at time 0.
a. Draw four Gantt charts that illustrate the execution
of these
processes using the following scheduling algorithms: [Marks
Q8.
FCFS, SJF, 2]
non-preemptive priority (a smaller priority number
implies a higher
priority), and RR (quantum= 1).
b. What is the turnaround time of each process for each
of the
scheduling algorithms in part a?
c. What is the waiting ti1r1e of each process for each
of these scheduling
algorithms?
d. Which of the algorithms results in the minimum
average waiting
time (over all processes)?
Consider a uniprocessor system executing three tasks CO2 K4
T1, T2 and T3, each of which is composed of an
infinite sequence of jobs (or instances) which arrive
periodically at intervals of 3, 7 and 20 milliseconds,
respectively. The priority of each task is the inverse of
its period, and the available tasks are scheduled in
[Marks
Q9. order of priority, with the highest priority task
2]
scheduled first. Each instance of T1, T2 and T3
requires an execution time of 1, 2 and 4 milliseconds,
respectively. Given that all tasks initially arrive at the
beginning of the 1st millisecond and task preemptions
are allowed, the first instance of T4 completes its
execution at the end of _____________ milliseconds.
A software development team is designing a high- CO2 K4
performance web server. They are debating whether to
implement user-level threads or kernel-level threads
for handling concurrent client requests.
1. Analyze the advantages and disadvantages of
using user-level threads versus kernel-level [Marks
Q10.
threads in this scenario. 2]
2. Recommend which threading model should
be used, providing technical justification for
your choice considering performance,
portability, and system resource management.