Which one or more of the following scheduling algorithms can potentially cause starvation?
View worked solution
Answer: C;D
Starvation (or indefinite blocking) occurs when a process is ready to run but is perpetually denied CPU time because other processes are continuously scheduled ahead of it.
Let's analyze each CPU scheduling algorithm:
- First-in First-Out (FIFO): Processes are executed strictly in the order of their arrival. Since every process has a finite execution time, any process that enters the ready queue will eventually reach the front of the queue and execute. Thus, FIFO cannot cause starvation.
- Round Robin (RR): Processes are allocated CPU time in small, fixed time slices (quanta) in a cyclic manner. Every process in the ready queue is guaranteed to get its turn within a bounded time. Thus, Round Robin cannot cause starvation.
- Priority Scheduling: The CPU is allocated to the process with the highest priority. If there is a continuous stream of high-priority processes arriving in the ready queue, a low-priority process may wait indefinitely for the CPU. Thus, Priority Scheduling can cause starvation.
- Shortest Job First (SJF): The CPU is allocated to the process with the shortest CPU burst time. If there is a continuous arrival of short processes, a process with a long burst time may never get scheduled. Thus, SJF can cause starvation.
Therefore, the correct options are C and D.
Free practice · Your answers on this page are not saved.
