The correct answer is All of the mentioned. Each of the listed options—Priority, Round Robin, and Shortest Job First—is a well‑known CPU scheduling algorithm used in operating systems to manage process execution and allocate CPU time efficiently.
Why All Options Are Correct
- Priority Scheduling: In this algorithm, each process is assigned a priority (numerical value). The CPU is allocated to the process with the highest priority (e.g., lowest number). If multiple processes have the same priority, they are often scheduled in a First‑Come‑First‑Served manner. This algorithm can be preemptive or non‑preemptive.
- Round Robin (RR): This is a preemptive scheduling algorithm designed for time‑sharing systems. Each process is given a fixed time slice (quantum). If the process does not complete within that quantum, it is preempted and moved to the back of the ready queue. It ensures fairness and responsiveness.
- Shortest Job First (SJF): This algorithm selects the process with the smallest estimated burst time (execution time) for next execution. It can be non‑preemptive (once a process starts, it runs to completion) or preemptive (Shortest Remaining Time First). SJF minimizes average waiting time but requires knowledge of future burst times.
Why "All of the Mentioned" Is the Only Correct Option
The question explicitly asks for "which of the following is/are" CPU scheduling algorithms. Since all three are genuine, widely‑taught scheduling algorithms, the comprehensive answer is "All of the mentioned". Each individual option (Priority, Round Robin, SJF) is correct, but none alone covers all the listed algorithms. Therefore, selecting the combined option is the accurate and complete response.
In summary: Priority, Round Robin, and Shortest Job First are all fundamental CPU scheduling algorithms, making "All of the mentioned" the definitive answer.