Scheduling, address translation, semaphore traces and deadlock safety may sit in one Operating Systems unit, but they do not use one solving method. Under time pressure, mixing their rules creates avoidable errors. This guide gives you four repeatable scratch-work methods through fully worked, representative ISRO-style problems. They are teaching examples built around recurring PYQ reasoning patterns, not quotations or claimed reproductions of historical questions. The method matters more than the topic label on the page.
1. ISRO CS Operating Systems questions: identify the reasoning family first
Classify the question before calculating anything. The nouns and data in the stem reveal the required state.
If the stem gives | Reasoning family | First state to write |
|---|---|---|
Arrival, burst and quantum | CPU scheduling | Ready queue and Gantt chart |
Page size, address and frame | Address translation | Offset bits and page number |
| Semaphore trace | Exact sign convention |
Allocation, Max and Available | Banker's safety test |
|
Before touching the options, record one governing state beside the stem: arrivals for scheduling, offset bits for paging, the sign convention for semaphores, or Need = Max - Allocation for deadlock avoidance. If that foundation is shaky, rebuild it with the Operating System course before adding speed.
2. CPU scheduling: solve Round Robin with arrivals, not from memory
Take P1 (arrival 0, burst 7), P2 (arrival 2, burst 4) and P3 (arrival 4, burst 1), with quantum 3. Use a FIFO queue, placing a pre-empted process behind arrivals from its slice.
P1 runs from 0 to 3 and has 4 units left. P2 has arrived, so the queue is P2, P1.
P2 runs from 3 to 6 and has 1 unit left. P3 arrives, so the queue is P1, P3, P2.
P1 runs from 6 to 9 and has 1 unit left. P3, P2 and P1 then finish in that order.
The Gantt chart is 0-3 P1 | 3-6 P2 | 6-9 P1 | 9-10 P3 | 10-11 P2 | 11-12 P1.
Process | CT | TAT = CT - AT | WT = TAT - BT |
|---|---|---|---|
P1 | 12 | 12 - 0 = 12 | 12 - 7 = 5 |
P2 | 11 | 11 - 2 = 9 | 9 - 4 = 5 |
P3 | 10 | 10 - 4 = 6 | 6 - 1 = 5 |
Average turnaround time is (12 + 9 + 6) / 3 = 9, and average waiting time is (5 + 5 + 5) / 3 = 5. Putting P3 in the queue at time 0 is illegal. Using CT - BT for turnaround ignores arrival time.

3. Memory management: separate address translation from replacement policy
A 32-bit virtual address space uses 4 KiB pages. Since 4 KiB is 4096 bytes, or 2^12, the lowest 12 bits are the offset. Split virtual address 0x12345 three hexadecimal digits from the right. Its virtual page number is 0x12, or 18, and its offset is 0x345, or 837.
If page-table entry 18 maps to frame 7, replace only the virtual page number. Keep the offset unchanged:
physical address = 7 x 4096 + 837 = 28,672 + 837 = 29,509 = 0x7345.
Replacement policy is a separate problem. With three initially empty frames and reference string 1, 2, 3, 1, 4, 2, 5, the LRU trace is:
Reference | Result | Frames after access |
|---|---|---|
1 | Fault | 1, empty, empty |
2 | Fault | 1, 2, empty |
3 | Fault | 1, 2, 3 |
1 | Hit | 1, 2, 3 |
4 | Fault, evict 2 | 1, 4, 3 |
2 | Fault, evict 3 | 1, 4, 2 |
5 | Fault, evict 1 | 5, 4, 2 |
The result is 6 faults, 1 hit and final frames 5, 4, 2. LRU removes the least recently used page. It does not remove the smallest page number, and a hit refreshes recency, so it is not always the oldest-loaded page.
4. Process synchronisation: declare the semaphore convention before tracing
Under the Dijkstra counting-semaphore convention, wait decrements and blocks if the result is negative. Let S = 2 initially.
P1 executes
wait: S goes from 2 to 1, and P1 enters.P2 executes
wait: S goes from 1 to 0, and P2 enters.P3 executes
wait: S goes from 0 to -1, and P3 blocks.P1 executes
signal: S goes from -1 to 0, and P3 wakes.P2 executes
signal: S goes from 0 to 1.
The magnitude of a negative value is the number of blocked processes. Thus, S = 0 does not mean one process is waiting. Both permits are occupied and nobody is queued. An arithmetic trace may still be consistent when code places signal incorrectly, so test mutual exclusion separately.
5. Deadlock avoidance: compute Need, then prove one safe sequence
Consider resources A, B and C with Available (1,1,2). First compute each Need vector component by component using Need = Max - Allocation.
Process | Allocation (A, B, C) | Max (A, B, C) | Need (A, B, C) |
|---|---|---|---|
P0 | (1,0,0) | (3,2,2) | (2,2,2) |
P1 | (0,1,1) | (1,2,2) | (1,1,1) |
P2 | (1,1,0) | (1,3,2) | (0,2,2) |
Start with Work equal to Available, (1,1,2). P0 cannot start because its Need for A is 2 while Work has only 1. P1 can start because (1,1,1) <= (1,1,2) in every component. When P1 finishes, it releases Allocation (0,1,1), giving Work (1,2,3).
Now P2's Need (0,2,2) is covered. It finishes and releases (1,1,0), so Work becomes (2,3,3). P0's Need (2,2,2) is now covered. It finishes and releases (1,0,0), producing Work (3,3,3).
Compare A with A, B with B and C with C at every step. Adding the three components into one scalar would hide a shortage in a particular resource.
Therefore, P1, P2, P0 is a safe sequence and the state is safe. One complete safe sequence proves safety. The fact that a preferred process cannot start first does not prove that the state is unsafe.

6. Operating Systems distractors: reject them with invariants
Reject a distractor by finding the invariant it violates.
Distractor | Violated invariant | Correction and self-check |
|---|---|---|
Schedule a process before arrival | Only ready processes enter the queue | Confirm that every burst unit appears in the Gantt chart |
Change the offset during paging | Translation replaces VPN, not offset | Check that the low 12 bits stay unchanged here |
Interpret S without a convention | Semaphore signs depend on declared operations | Match queue length to the chosen convention |
Compare total Need with total Work | Resource feasibility is component-wise | After all completions, final Work must equal total resources |
The ISRO CS DBMS PYQ walkthrough shows the same rule-based elimination habit in DBMS, without implying equal subject weight or frequency. A stated invariant is more dependable than an option's familiar shape.
7. ISRO CS PYQ practice: turn each attempt into a speed profile
Use a timed three-pass routine. First, classify the reasoning family in 10 to 15 seconds. Second, build only the required state, such as a Gantt chart, address split, semaphore trace or Need table. Third, test the options against the computed invariant. If arithmetic starts branching, mark the question and return after finishing direct problems.
Use the ISRO CS PYQ analysis guide to maintain an error log with topic, setup error, arithmetic error, distractor chosen and time spent. That log separates knowledge gaps from rushed execution. Review it weekly. For exam-focused navigation across related material, use the ISRO Scientist/Engineer CS preparation category.
8. ISRO CS Operating Systems: the short version and next step
Draw a Gantt chart for scheduling, preserve the offset during paging, declare the semaphore convention before tracing, and calculate Need before proving one complete safe sequence. Use the ISRO Scientist/Engineer SC (CS) course for recruitment-focused preparation. If the concepts themselves need rebuilding, begin with the Operating System course linked earlier, then return to ISRO-style practice with a cleaner, faster method.




