Question

In linux kernel 2.4:

Real-time processes are given a priority of 0-99 and they co-exist in the ready queue along with the nice processes (who's priority goes between 100 and 139). But real-time processes are supposed to run as long as they need to, so when their time-slice is consumed, they get more time.

So can the real-time process exist in the expired queue where all processes who consumed their time-slice are present?

Was it helpful?

Solution

Firstly, you are mixing between 2.4 and 2.6 Linux scheduler. 2.4 Linux scheduler didn't had any expired queue. The concept of active queue and expired queue was introduced in O(1) scheduler, which starts at Linux version 2.6.

Now the answer to your question is - no. Real-time processes are scheduled at round robin fashion and active, expired array was only used for sched_normal task ie. process with priority range from 100 - 139.

OTHER TIPS

In linux O(1) scheduler 2.6 version there are basically three classess SCHED-FIFO SCHED-RR(Round robin) SCHED OTHERS and there are 0-139 queues are available and 0-99 are real time queus and 100-139 are non-real time ques and according to your question there is no expire queue use in FIFO and RR but in OTHERS class the expire queue may use the process will go to the expire que after the time slice occur and after the interrupt/timeout it will go to the active que

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top