views:

548

answers:

7

What scheduling algorithms does Linux kernel use?

Where can I get more info about linux's kernel? (OS first course... student level)

+1  A: 

It's a little old, but try reading: http://oreilly.com/catalog/linuxkernel/chapter/ch10.html

Paul Baker
+1  A: 

i believe "completely fair scheduler" is in use with latest kernels. I think you can good amount of information if you just search for it in google.

link : http://en.wikipedia.org/wiki/Completely%5FFair%5FScheduler

Sabeen Malik
+4  A: 

The linux kernel has several different available scheduling algorithms both for the process scheduling and for I/O scheduling. Download it from www.kernel.org and call

make menuconfig

You will get a full list of all available options with a built-in help. One guy that once came up with his O(1) scheduler is Con Kolivas. Definitively have to have a look at what he did. I was once a great break-through.

jdehaan
A: 

I think the Linux kernel actually has a few different schedulers you can choose from at compile-time. To find out more about the Linux kernel, you can download the kernel source code (or browse it online) and look in the Documentation directory. For example, the scheduler subdirectory might be helpful. You can also just look at the code itself, obviously.

wdebeaum
The IO scheduler has different algorithms. The process scheduler does not.
Kristof Provost
+2  A: 

As others have already mentioned, there are several scheduling algorithms available, according to the intended use.

Check this article if you want to learn more about scheduling in Linux.

Anax
A: 

A new addition to Linux Kernel is EDF (Earliest Deadline First) for guaranteed RealTime support http://lkml.org/lkml/2009/9/22/186 http://www.evidence.eu.com/content/view/313/390/

subbul
A: 

Linux Kernel allows three different scheduling algorithms mainly 1.shortest job first 2. Round Robin Scheduling 3.Priority based preemptive scheduling algorithm. The third scheduling method which it differs with lower version of Linux versions such as 2.4

chandra