Uploaded by Leela Krishna

OS question paper Part 1- answered some

Part 1: Short answer questions: (10*4=40 Marks)
1) What happens in a Context switch?
Context switching is an operating system technique or approach for transitioning a process
from one state to another in order to execute its purpose using the system's CPUs. When the
system switches, the former running process's state is stored in registers, and the CPU is
assigned to a new process to execute its tasks. The preceding process must wait in a ready
queue while a new process is operating in the system.
During a context switch, the kernel will save the context of the old process in its PCB
and then load the saved context of the new process scheduled to run.
2) What are system calls?
3) Give the memory layout of a C program
4) Difference between Threads and Process
Process means any program is in
Thread means segment of a process.
Process takes more time to
Thread takes less time to terminate.
It takes more time for creation. It takes less time for creation.
It also takes more time for
context switching.
It takes less time for context switching.
Process is less efficient in term of
Thread is more efficient in term of communication.
Process consume more
Thread consume less resources.
Process is isolated.
Threads share memory.
Process is called heavy weight
A Thread is lightweight as each thread in a process
shares code, data and resources.
5) What are the criteria for comparing CPU Scheduling algorithms
Many criteria have been suggested for comparing CPU scheduling algorithms.
1.CPU utilisation –
The main objective of any CPU scheduling algorithm is to keep the CPU as busy as
2.Throughput –
A measure of the work done by CPU is the number of processes being executed and
completed per unit time. This is called throughput.
3.Turnaround time –
The time elapsed from the time of submission of a process to the time of completion is
known as the turnaround time.
4.Waiting time –
A scheduling algorithm does not affect the time required to complete the process once
it starts execution. It only affects the waiting time of a process.
5.Response time –
In an interactive system, turn-around time is not the best criteria. A process may
produce some output fairly early and continue computing new results while previous
results are being output to the user.
6) Explain Race condition with an example.
a race condition is a condition of a program where its behavior depends on relative timing
or interleaving of multiple threads or processes.
Example: a simple example is a bank funds transfer or Logic gates handling Boolean
7) Draw a diagram showing the parent/child relationships among the processescreated
by the following code fragment. Also show which call to fork created each process.
pid = fork() /* call #1 */
if (pid != 0)
fork() /* call #2 */
/* call #3 */
8) Most hardware provides user mode and kernel mode; user processes are run in user
mode, while the OS runs in kernel mode. The tricky part is transitioning from user
mode to the kernel mode, which is caused by an event.Please give two examples of
events, and pick one example to further explain what takes place during that event.
The transition from user mode to kernel mode occurs when the application requests the help
of operating system or an interrupt or a system call occurs. The mode bit is set to 1 in the
user mode. It is changed from 1 to 0 when switching from user mode to kernel mode.
9) A spin lock acquire() can be implemented with a test-and-set instruction as
while (test-and-set(&lock->held) == 1)
; // spin
Recall that test-and-set() returns the old value at the address while atomically
setting it to 1.
Now a new lock acquire() is implemented as follows:
1: while (1) {
while (lock->held > 0)3:
; // spin
if (test-and-set(&lock->held) == 0)
6: }
Does it work? How does it change the behavior of the lock compared to thefirst
10) What are the characteristics which any solution to Critical section problem must
have? Give an example where the solution must satisfy 2 characteristicsand not
satisfy the third characterist