Search code examples
linuxunixoperating-systemschedulingscheduler

How scheduling algorithm determine the type of process (I/o, CPU bound)


I am reading through the scheduling algorithms and wondered how an scheduling algorithm decide whether the process is cpu bound or io bound and takeup the decision accordingly? For example, in the multilevel feedback queue implementation , it mentions that it give preferences to the short job, i/o bound. My question is how will it determine it ?

reference


Solution

  • In Linux 2.6 a process is considered to be interactive if its dynamic priority is greater than its static priority.

    Linux updates the priority of every process dynamically according to its average waiting time. (Without going into the exact calculations and functions).

    We'd expect cpu bound process to have a low average waiting time. In contrast we'd expect an I/O bound process to have a high waiting time.