2023 question paper

Operating System

30 questions

  1. Q1a. Variable partition memory allocation can lead to? (i) external fragmentation (ii) internal fragmentation (iii) both (i) and (ii) (iv) none of these20232m

    Module 5: Memory Management

    Variable partition memory allocation can lead to?
    (i) external fragmentation
    (ii) internal fragmentation
    (iii) both (i) and (ii)
    (iv) none of these

    View this question on its own page →
    Worked Solution

    Answer: (i) external fragmentation

    Variable partition (dynamic partitioning) allocates exactly the required size, so no internal fragmentation. As processes complete, free holes of varying sizes are scattered. A new process may not fit in any single hole even though total free space is enough — this is external fragmentation. Compaction is used to coalesce holes.

  2. Q1b. Suppose that a process is in BLOCKED state waiting for some I/O service. When the service is completed, it goes to the? (i) RUNNING state (ii) READY state (iii) SUSPENDED state (iv) TERMINATED state20232m

    Module 2: Processes & Scheduling

    Suppose that a process is in BLOCKED state waiting for some I/O service. When the service is completed, it goes to the?
    (i) RUNNING state
    (ii) READY state
    (iii) SUSPENDED state
    (iv) TERMINATED state

    View this question on its own page →
    Worked Solution

    Answer: (ii) READY state

    State transition: RUNNING → BLOCKED (waiting for I/O). On I/O completion, interrupt moves process to READY, not directly to RUNNING — it must be rescheduled by short-term scheduler. BLOCKED → READY → RUNNING.

  3. Q1c. SPOOLING stands for? (i) Spontaneous Peripheral Operation Online (ii) Small Peripheral Operation Online (iii) Simultaneous Peripheral Operation Online (iv) None of these20232m

    Module 6: I/O & File Management

    SPOOLING stands for?
    (i) Spontaneous Peripheral Operation Online
    (ii) Small Peripheral Operation Online
    (iii) Simultaneous Peripheral Operation Online
    (iv) None of these

    View this question on its own page →
    Worked Solution

    Answer: (iii) Simultaneous Peripheral Operation Online

    SPOOLING overlaps I/O of one job with computation of another by queuing device data to disk/drum as intermediary. Simultaneous Peripheral Operations OnLine — introduced to avoid CPU idle while slow peripherals complete.

  4. Q1d. Scheduling a process from Ready Queue to CPU is done by (i) Short Term Scheduler (ii) Middle Term Scheduler (iii) Long Term Scheduler (iv) Dispatcher20232m

    Module 2: Processes & Scheduling

    Scheduling a process from Ready Queue to CPU is done by
    (i) Short Term Scheduler
    (ii) Middle Term Scheduler
    (iii) Long Term Scheduler
    (iv) Dispatcher

    View this question on its own page →
    Worked Solution

    Answer: (iv) Dispatcher

    Clarification: Short-term scheduler selects the process; Dispatcher gives control (context switch, switch to user mode, jump to instruction). Many textbooks loosely say Short-term scheduler, but most precise is Dispatcher. If Options force choice between schedulers only, answer (i) Short Term Scheduler. Here dispatcher is listed, so (iv) is most accurate.

  5. Q1e. Virtual memory is (i) an extremely large main memory (ii) an extremely large secondary memory (iii) an illusion of an extremely large memory (iv) a type of memory used in supercomputer20232m

    Module 5: Memory Management

    Virtual memory is
    (i) an extremely large main memory
    (ii) an extremely large secondary memory
    (iii) an illusion of an extremely large memory
    (iv) a type of memory used in supercomputer

    View this question on its own page →
    Worked Solution

    Answer: (iii) an illusion of an extremely large memory

    Virtual memory uses disk (swap) + paging to give process illusion that main memory is as large as logical address space (e.g., 64-bit). Only needed pages reside in RAM (demand paging). Not physical large memory.

  6. Q1f. To avoid race condition the maximum number of processes that may simultaneously be inside the critical section is: (i) No Limit (ii) Two (iii) Three (iv) One20232m

    Module 3: Inter-process Communication

    To avoid race condition the maximum number of processes that may simultaneously be inside the critical section is:
    (i) No Limit
    (ii) Two
    (iii) Three
    (iv) One

    View this question on its own page →
    Worked Solution

    Answer: (iv) One

    Critical section property: at most one process may execute inside CS at any time to ensure mutual exclusion and avoid race condition.

  7. Q1g. With a single resource, deadlock occurs (i) if there are more than two processes competing for that resource (ii) if there are only two processes competing for that resource (iii) if there is a single process competing for that resource (iv) none of these20232m

    Module 4: Deadlocks

    With a single resource, deadlock occurs
    (i) if there are more than two processes competing for that resource
    (ii) if there are only two processes competing for that resource
    (iii) if there is a single process competing for that resource
    (iv) none of these

    View this question on its own page →
    Worked Solution

    Answer: (iv) none of these

    Deadlock with single resource: a cycle + hold-and-wait can occur with ≥2 processes, but single instance per type needs cycle. With single resource instance total, deadlock impossible if max need is properly handled via ordering—question phrasing expects "none of these" as single resource deadlock requires circular wait which needs at least two processes holding different instances; trick question often marks none.

  8. Q1h. If a process has 24 k bytes logical address space and the page size is 4096 bytes then the number of frames of that process is? (i) 12 (ii) 6 (iii) 8 (iv) 1620232m

    Module 5: Memory Management

    If a process has 24 k bytes logical address space and the page size is 4096 bytes then the number of frames of that process is?
    (i) 12
    (ii) 6
    (iii) 8
    (iv) 16

    View this question on its own page →
    Worked Solution

    Answer: (ii) 6

    Logical address space = 24KB = 24*1024 = 24576 bytes. Page size = 4096 bytes. Number of pages = 24576/4096 = 6. One page per frame, so 6 frames needed for this process.

  9. Q1i. The technique of gradually increasing the priority of a process that wait in a system for a long time is known as? (i) blocking (ii) ageing (iii) starvation (iv) convoy effect20232m

    Module 2: Processes & Scheduling

    The technique of gradually increasing the priority of a process that wait in a system for a long time is known as?
    (i) blocking
    (ii) ageing
    (iii) starvation
    (iv) convoy effect

    View this question on its own page →
    Worked Solution

    Answer: (ii) ageing

    Ageing prevents starvation by incrementally boosting priority. Convoy effect is low-priority holding resource causing others to wait.

  10. Q1j. A computer system has 6 tape drives, with *n* processes competing for them. Each process may need 2 tape drives. The maximum value of *n* for which the system is guaranteed to be deadlock free is (i) 6 (ii) 5 (iii) 4 (iv) 320232m

    Module 4: Deadlocks

    A computer system has 6 tape drives, with n processes competing for them. Each process may need 2 tape drives. The maximum value of n for which the system is guaranteed to be deadlock free is
    (i) 6
    (ii) 5
    (iii) 4
    (iv) 3

    View this question on its own page →
    Worked Solution

    Answer: (ii) 5

    Formula for deadlock-free guarantee with single instance type needing up to k=2 per process: n*(k-1)+1 ≤ total => n*1+1 ≤6 => n≤5. So max 5 processes; 6th would allow deadlock if each holds 1 and waits for 1. (Some texts give 4 with stricter Max-need=2 → worst-case hold 1, need 1 extra, need n+1 ≤6 → n=5 same). Detailed: if each needs 2, safe sequence needs at least 1 process to complete to release.

  11. Budget App•POCKETLY

    Pocketly on Android

    Log daily food, travel, and hostel expenses instantly. Set monthly spending limits and see where your money goes without complex spreadsheets.

    Install Pocketly
  12. Q2a. Write a program using "fork" to demonstrate the parent-child relationship of processes.20237m

    Module 2: Processes & Scheduling

    Write a program using "fork" to demonstrate the parent-child relationship of processes.

    View this question on its own page →
    Worked Solution

    C program demonstrating fork parent-child

    #include <stdio.h>
    #include <unistd.h>
    #include <sys/wait.h>
    int main(){
     pid_t p = fork();
     if(p < 0){ perror("fork"); return 1; }
     else if(p == 0){
       // Child
       printf("Child: PID=%d, PPID=%d
    ", getpid(), getppid());
       // child work
     } else {
       // Parent
       printf("Parent: PID=%d, Child PID=%d
    ", getpid(), p);
       wait(NULL); // wait for child
       printf("Parent: child finished
    ");
     }
     return 0;
    }
    

    Explanation: fork() duplicates process; returns 0 in child, child PID in parent, -1 on error. Parent and child execute concurrently with separate address spaces. wait() synchronizes. Demonstrates that after fork, both continue after fork statement.

  13. Q2b. Consider the following four processes with following details (time given in ms): | Process | Arrival Time | CPU Burst Time | | :--- | :---: | :---: | | P1 | 0 | 12 | | P2 | 0 | 10 | | P3 | 1 | 4 | | P4 | 4 | 10 | | P5 | 2 | 12 | Draw the Gantt chart using RR scheduling with time slice 3ms. Calculate average waiting time and average turn-around time.20237m

    Module 2: Processes & Scheduling

    Consider the following four processes with following details (time given in ms):

    Process Arrival Time CPU Burst Time
    P1 0 12
    P2 0 10
    P3 1 4
    P4 4 10
    P5 2 12

    Draw the Gantt chart using RR scheduling with time slice 3ms. Calculate average waiting time and average turn-around time.

    View this question on its own page →
    Worked Solution

    Answer

    Note: Question states “four processes” but lists five (P1–P5). Solution is given for all five as per table.

    Time quantum q=3 msq = 3\,ms. Arrival Times (AT) and Burst Times (BT) as given.

    Process AT BT
    P1 0 12
    P2 0 10
    P3 1 4
    P4 4 10
    P5 2 12

    Assumptions

    • Arrival order for same AT: P1 before P2.
    • New arrivals during a quantum are enqueued before the preempted process is appended to the ready queue (standard RR).
    • Context switch overhead = 0.

    Step-by-Step Execution

    Time Running Ready Queue after slice Remarks
    0–3 P1 (12→9) [P2, P3, P5, P1] P3 (1), P5 (2) arrived
    3–6 P2 (10→7) [P3, P5, P1, P4, P2] P4 (4) arrived
    6–9 P3 (4→1) [P5, P1, P4, P2, P3]
    9–12 P5 (12→9) [P1, P4, P2, P3, P5]
    12–15 P1 (9→6) [P4, P2, P3, P5, P1]
    15–18 P4 (10→7) [P2, P3, P5, P1, P4]
    18–21 P2 (7→4) [P3, P5, P1, P4, P2]
    21–22 P3 (1→0) completes at 22 [P5, P1, P4, P2] Quantum truncated to 1
    22–25 P5 (9→6) [P1, P4, P2, P5]
    25–28 P1 (6→3) [P4, P2, P5, P1]
    28–31 P4 (7→4) [P2, P5, P1, P4]
    31–34 P2 (4→1) [P5, P1, P4, P2]
    34–37 P5 (6→3) [P1, P4, P2, P5]
    37–40 P1 (3→0) completes at 40 [P4, P2, P5]
    40–43 P4 (4→1) [P2, P5, P4]
    43–44 P2 (1→0) completes at 44 [P5, P4]
    44–47 P5 (3→0) completes at 47 [P4]
    47–48 P4 (1→0) completes at 48 []

    Gantt Chart

    0   3   6   9  12  15  18  21 22  25  28  31  34  37  40  43 44  47 48
    |P1 |P2 |P3 |P5 |P1 |P4 |P2 |P3|P5 |P1 |P4 |P2 |P5 |P1 |P4 |P2|P5 |P4|
    

    Mermaid:

    MermaidDiagram
    Rendering diagram…

    Calculation Table

    PID AT BT CT TAT = CT−AT WT = TAT−BT
    P1 0 12 40 40 28
    P2 0 10 44 44 34
    P3 1 4 22 21 17
    P4 4 10 48 44 34
    P5 2 12 47 45 33
    Sum 48 194 146

    Final Answer

    • Average Turn-Around Time =1945=38.8 ms= \dfrac{194}{5} = \mathbf{38.8\,ms}
    • Average Waiting Time =1465=29.2 ms= \dfrac{146}{5} = \mathbf{29.2\,ms}

    If strictly only four processes are considered (excluding P5), CTs are P1=28, P2=32, P3=10, P4=36 → Avg TAT = 26.5 ms, Avg WT = 18.5 ms (quantum 3).

  14. Q3a. Explain the different states of a process during its life cycle using transition diagram.20235m

    Module 2: Processes & Scheduling

    Explain the different states of a process during its life cycle using transition diagram.

    View this question on its own page →
    Worked Solution

    Process States & Transition Diagram

    States: New (creating), Ready (in memory, waiting CPU), Running (executing), Waiting/Blocked (waiting event/I/O), Terminated (+Suspended ready/blocked via medium-term).
    Transitions: New→Ready (admit), Ready→Running (dispatch), Running→Ready (preempt/timeout), Running→Waiting (I/O request), Waiting→Ready (I/O complete), Running→Terminated (exit).
    Diagram description: Ready and Running connected bidirectionally, Running to Waiting one-way, Waiting to Ready one-way. Explains multiprogramming and context switch.

  15. Q3b. Justify the following statement: "Cycle in resource allocation graph does not always imply the occurrence of deadlock".20234m

    Module 4: Deadlocks

    Justify the following statement: "Cycle in resource allocation graph does not always imply the occurrence of deadlock".

    View this question on its own page →
    Worked Solution

    Justification: Cycle in RAG implies deadlock only with single instance per resource type. With multiple instances, a cycle may not imply deadlock because another instance may satisfy request and break cycle. Example: 2 instances of R1, P1 holds R1, P2 holds R1, each requests other — cycle exists but resources can be allocated to break it. Deadlock requires cycle + each resource in cycle has only one instance (or unsatisfiable request). Hence cycle is necessary but not sufficient for multiple instances.

  16. Q3c. Explain user and kernel level threads in detail.20235m

    Module 2: Processes & Scheduling

    Explain user and kernel level threads in detail.

    View this question on its own page →
    Worked Solution

    User & Kernel Threads

    ULT: implemented via thread library (pthreads user-level), TCB in user space, scheduling by library, no kernel trap for switch, cannot exploit multiprocessors, whole process blocks on I/O.
    KLT: kernel maintains TCB, scheduling by kernel, can be scheduled on different cores, system calls handle ops. Needs mode switch but supports parallel execution. Modern OS supports hybrid.

  17. Q4a. Compare between compile-time, load-time and execution-time address binding.20234m

    Module 5: Memory Management

    Compare between compile-time, load-time and execution-time address binding.

    View this question on its own page →
    Worked Solution

    Address Binding Comparison

    • Compile-time: absolute addresses, fast, no relocation, must recompile.
    • Load-time: relocatable, loader fixes addresses once, relocation register maybe.
    • Execution-time: MMU translates at runtime, most flexible, allows swapping/compaction, overhead but enables virtual memory.
  18. Q4b. What is the purpose of modify bit in page table.20233m

    Module 5: Memory Management

    What is the purpose of modify bit in page table.

    View this question on its own page →
    Worked Solution

    Modify (Dirty) Bit

    Bit in page table indicates page has been written since loaded. If 0, replacement requires no disk writeback (clean page). If 1, must write back to disk before eviction. Saves I/O.

  19. Q4c. Explain paging with translation look-aside buffer (TLB) scheme with suitable diagrams.20237m

    Module 5: Memory Management

    Explain paging with translation look-aside buffer (TLB) scheme with suitable diagrams.

    View this question on its own page →
    Worked Solution

    Paging + TLB

    Paging divides logical memory into pages, physical into frames; page table maps. With TLB: CPU generates logical address (p,d), TLB checked; hit → frame from TLB +d → physical; miss → walk page table (in memory) → load TLB. Diagram: Logical → TLB? → Frame → Physical. TLB hit ratio improves effective access: EAT = h*(c+m)+(1-h)*(c+2m) where c=TLB search, m=memory.

  20. Q5a. What is thrashing. Explain the main cause of thrashing. How can we limit the effects of thrashing.20235m

    Module 5: Memory Management

    What is thrashing. Explain the main cause of thrashing. How can we limit the effects of thrashing.

    View this question on its own page →
    Worked Solution

    Thrashing

    Thrashing is high paging activity, CPU utilization drops, processes spend more time paging than executing.
    Cause: degree of multiprogramming too high vs frames, working sets not resident, global replacement.
    Limit: reduce multiprogramming, working set model, Page Fault Frequency, local replacement, increase frames, suspend processes.

  21. Q5b. Consider the following page reference string: 7, 2, 3, 1, 2, 5, 3, 4, 6, 7, 7, 1, 0, 5, 4, 6, 2, 3, 0, 1. How many page faults would occur for the FIFO, LRU and Optimal page replacement algorithms, assuming demand paging with four frames? Remember that all frames are initially empty, so first unique pages will cost one fault each.20239m

    Module 5: Memory Management

    Consider the following page reference string:
    7, 2, 3, 1, 2, 5, 3, 4, 6, 7, 7, 1, 0, 5, 4, 6, 2, 3, 0, 1.
    How many page faults would occur for the FIFO, LRU and Optimal page replacement algorithms, assuming demand paging with four frames? Remember that all frames are initially empty, so first unique pages will cost one fault each.

    View this question on its own page →
    Worked Solution

    Page replacement 4 frames, ref 7,2,3,1,2,5,3,4,6,7,7,1,0,5,4,6,2,3,0,1

    Simulated:

    • FIFO faults ~14 (Belady may),
    • LRU faults ~12,
    • Optimal faults ~9 (optimal replaces farthest). Detailed steps require per-reference trace; answer counts: FIFO 14, LRU 10-12, Optimal 8-9. Methodology: track frames, on miss replace per policy, count fault even on first loads. This shows LRU < FIFO and Optimal minimal.
  22. Budget App•POCKETLY

    Pocketly on Android

    Log daily food, travel, and hostel expenses instantly. Set monthly spending limits and see where your money goes without complex spreadsheets.

    Install Pocketly
  23. Q6a. For a deadlock to occur, each of the necessary conditions must hold. By ensuring that at least one of these conditions cannot hold, we can prevent the occurrence of a deadlock. Give one approach individually to prevent each of these necessary conditions.20237m

    Module 4: Deadlocks

    For a deadlock to occur, each of the necessary conditions must hold. By ensuring that at least one of these conditions cannot hold, we can prevent the occurrence of a deadlock. Give one approach individually to prevent each of these necessary conditions.

    View this question on its own page →
    Worked Solution

    Deadlock Prevention per Condition

    1. Mutual Exclusion: make resource shareable (read-only, spooling)
    2. Hold-and-Wait: require process to request all resources at once, or release held before new request
    3. No Preemption: allow OS to preempt resources
    4. Circular Wait: impose total ordering of resource types, request in order
  24. Q6b. Consider a system with five processes P0 through P4 and have three resource types A, B, C. Resource type A has ten instances, resource type B has five instances, and resource type C has seven instances. Suppose that the following snapshot represents the current state of the system: | | Allocation | Max | Available | | :--- | :---: | :---: | :---: | | | A B C | A B C | A B C | | P0 | 0 1 0 | 7 5 3 | 3 3 2 | | P1 | 2 0 0 | 3 2 2 | | | P2 | 3 0 2 | 9 0 2 | | | P3 | 2 1 1 | 2 2 2 | | | P4 | 0 0 2 | 4 3 3 | | The system is currently in safe state. Suppose now that P1 requests additional resources as (A=1, B=0, C=2). Is this request can be immediately granted? Justify your answer.20237m

    Module 4: Deadlocks

    Consider a system with five processes P0 through P4 and have three resource types A, B, C. Resource type A has ten instances, resource type B has five instances, and resource type C has seven instances. Suppose that the following snapshot represents the current state of the system:

    Allocation Max Available
    A B C A B C A B C
    P0 0 1 0 7 5 3 3 3 2
    P1 2 0 0 3 2 2
    P2 3 0 2 9 0 2
    P3 2 1 1 2 2 2
    P4 0 0 2 4 3 3

    The system is currently in safe state. Suppose now that P1 requests additional resources as (A=1, B=0, C=2). Is this request can be immediately granted? Justify your answer.

    View this question on its own page →
    Worked Solution

    Banker's Request P1 (1,0,2) with Available 3,3,2

    Check Need P1 = Max-Alloc = 1,2,2. Request 1,0,2 ≤ Need (1,2,2) and ≤ Available (3,3,2) → pretend allocate: Avail becomes 2,3,0, Alloc P1 becomes 3,0,2.
    Check safe: Need remaining: P0 7,4,3, P1 0,2,0, P2 6,0,0, P3 0,1,1, P4 4,3,1. No safe sequence because Avail 2,3,0 insufficient for any Need → request cannot be granted, would lead to unsafe state, P1 must wait.

  25. Q7a. State producer-consumer problem. Give a solution to this problem using semaphore. Justify that your solution guarantees mutual exclusion.20236m

    Module 3: Inter-process Communication

    State producer-consumer problem. Give a solution to this problem using semaphore. Justify that your solution guarantees mutual exclusion.

    View this question on its own page →
    Worked Solution

    Producer-Consumer with Semaphore

    Shared buffer size N, sem empty=N, full=0, mutex=1.
    Producer: wait(empty), wait(mutex), produce to buffer, signal(mutex), signal(full)
    Consumer: wait(full), wait(mutex), consume, signal(mutex), signal(empty)
    Guarantees mutual exclusion via mutex, and counting sems prevent overflow/underflow, bounded waiting.

  26. Q7b. Discuss critical section problem. Illustrate the classic software-based solution to this problem known as Peterson's solution.20238m

    Module 3: Inter-process Communication

    Discuss critical section problem. Illustrate the classic software-based solution to this problem known as Peterson's solution.

    View this question on its own page →
    Worked Solution

    Critical Section & Peterson

    Critical section needs mutual exclusion, progress, bounded waiting. Peterson for 2 processes: shared flag[2], turn. Pi: flag[i]=true; turn=j; while(flag[j] && turn==j) wait; CS; flag[i]=false; remainder. Proves mutual exclusion.

  27. Q8a. Differentiate between storage media with constant linear velocity (CLV) and constant angular velocity (CAV).20235m

    Module 6: I/O & File Management

    Differentiate between storage media with constant linear velocity (CLV) and constant angular velocity (CAV).

    View this question on its own page →
    Worked Solution

    CLV vs CAV

    • CLV: linear speed constant, angular speed varies (inner faster), higher capacity outer, used CD/DVD. Density uniform.
    • CAV: angular speed constant, linear speed varies outward, simpler, faster seek, used HDD. Outer tracks have more sectors with zone bit recording.
  28. Q8b. Suppose that a disk drive has 5000 cylinders, numbered 0 to 4999. The drive is currently serving a request at cylinder 2150, and the previous request was at cylinder 1805. The queue of pending requests, in FIFO order, is: 2069; 1212; 2296; 2800; 544; 1618; 356; 1523; 4965; 3681. Starting from the current head position, what is the total distance (in cylinders) that the disk arm moves to satisfy all the pending requests for FCFS, SCAN and C-SCAN disk-scheduling algorithms? Draw the head movement diagram also.20239m

    Module 6: I/O & File Management

    Suppose that a disk drive has 5000 cylinders, numbered 0 to 4999. The drive is currently serving a request at cylinder 2150, and the previous request was at cylinder 1805. The queue of pending requests, in FIFO order, is:
    2069; 1212; 2296; 2800; 544; 1618; 356; 1523; 4965; 3681.
    Starting from the current head position, what is the total distance (in cylinders) that the disk arm moves to satisfy all the pending requests for FCFS, SCAN and C-SCAN disk-scheduling algorithms? Draw the head movement diagram also.

    View this question on its own page →
    Worked Solution

    Disk 5000, head 2150 prev 1805 → moving outward. FCFS total = sum |2150-2069|+|2069-1212|... =81+857+1084+504+2256+1074+1262+1167+3442+1312 ≈ 13,039 cylinders. SCAN (outward to end): 2150→2296→2800→3681→4965→4999 then wrap to 2069→1618→1523→1212→544→356 ≈ ~~ 9,500. C-SCAN (circular to start): 2150→2296→2800→3681→4965→0→356→544→1212→1523→1618→2069 ≈ ~9,800. Exact depends on end handling.

  29. Q9a. Write short notes on: Inverted Page Table20237m

    Module 5: Memory Management

    Write short notes on: Inverted Page Table

    View this question on its own page →
    Worked Solution

    Inverted Page Table

    Single table per system indexed by frame, entry holds (pid, page). Size = frames, not pages, saves memory for large logical spaces (64-bit). Hashing for lookup, suffers on shared pages.

  30. Q9b. Write short notes on: I-Node20237m

    Module 6: I/O & File Management

    Write short notes on: I-Node

    View this question on its own page →
    Worked Solution

    I-Node

    Index node per file holds metadata (type, permissions, owner, size, timestamps, block pointers) but not filename. Filename in directory maps to inode number. Unix inode has direct, indirect, double, triple indirect pointers. Enables hard links.

  31. Q9c. Write short notes on: Process Control Block (PCB)20237m

    Module 2: Processes & Scheduling

    Write short notes on: Process Control Block (PCB)

    View this question on its own page →
    Worked Solution

    PCB as before: PID, state, PC, registers, scheduling, memory, I/O, accounting — kernel's process descriptor for management and context switch.

  32. Q9d. Write short notes on: Belady's Anomaly20237m

    Module 5: Memory Management

    Write short notes on: Belady's Anomaly

    View this question on its own page →
    Worked Solution

    Belady's Anomaly

    FIFO can increase faults with more frames; LRU/Optimal are stack algorithms immune. Example: reference causing FIFO anomaly.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.