(ref: PLKA_CH02)
each task has a scheduling entity embedded inside it. scheduling mechanism used that entity. this is helpful for group scheduling.
5 policies: normal, batch, idle, rr, fifo
generic scheduler is a hub of individual scheduling methods. the scheduler has become modular in newer kernel version.
there is no mechanism to add new scheduler classes dynamically at run time.
'run_queue' can have different shapes. for example, a round-robin scheduling class has a straight queue of processes as the run queue. but a completely fair scheduler uses a red-black tree as its run queue.
scheduler implementation is based on two functions: the periodic scheduler [scheduler_tick()] and the main scheduler [schedule()].
run queue contains only the runnable tasks. the currently running task is not on the run queue.
nr_running counter keeps track of currently available runnable tasks in the run queue (or rb tree).
CFS = complete fair scheduling
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment