The Linux kernel is a multitasking kernel, which means that many processes can run as if they were the only process on the system. The way in which an operating system chooses which process at a given time has access to a system’s CPU(s) is controlled by a scheduler. This chapter covers the Linux scheduler, preemption in Linux, and the Linux system clock and timers.
This sample chapter is really interesting. Some C and OS knowledge required. I remember an advanced OS course I took, and we had to make an OS for a small robot that had wheels, IR sensors, speakers, bumpers, and a microphone and maybe some more stuff. Anyway I know I spent countless hours working it at, and how hard it was. And this was just to create an OS for a small Rug Warrior robot with 32K of memory. This article kinda puts it all in perspective, and shows just some of all the hard work that goes into the Linux kernel. Really interesting for anyone intersted into how the kernel does scheduling. Source code referenced a lot, and examined line by line, which is really nice, and shows the beauty of open source.
I was just studying this subject at the University, a few days ago..
It’s really interesting, take a look!
I’m writing a paper on scheduling at the moment… this will definitely prove useful. Thanks!
Also, another good read on the O(1) scheduler can be found here:
http://www.samspublishing.com/articles/article.asp?p=101760&rl=1
“linux kernel development” by robert love
an excellent and readable book for understanding the 2.6 linux kernel.
I took an OS class my last quarter this year and worked on Minix. We had to rewrite certain parts of the OS so that it could handle priorities in threads and so on. It was quite interesting. Very simple and very elegant if you understand it. I like studying OSes in fact I have ordered the boom from Amazon that the article was based on. Very nice read. I got bored with the techno talk but that is because I was reading it online…nothing beats the feel of a good book in your hands for a bit of late night reading.
What I want to see is a blow by blow comparison between the XP kernel and Linux. That should be an interesting read indeed. But I dont know if MS would ever allow such a publication…being closed source and all.
What I want to see is a blow by blow comparison between the XP kernel and Linux. That should be an interesting read indeed. But I dont know if MS would ever allow such a publication…being closed source and all.
This is from 2003/2004, and comes from a talk originally done by Mark Russinovich of SysInternals.
http://www.teched.cz/prezentace/WIN499.ppt
It is interesting. Somewhat outdated and biased (but at least the author states Microsoft paid for a bunch of benchmarks he uses in the presentation). Still informative. I think I remember reading some sort of comparison of Linux and Windows scheduling on EETimes once, but I can’t seem to find it. Oh well. It would probably be somwhat outdated too.
Actually, this presentation was revealed at the time as a FUD and flamebait piece (full of half truths and inflammatory comments). It still is today, and still is not really informative.
It’s quite obvious from the start, that this piece was done to try and prove that Linux kernel was behind Linux kernel and adding features to be more like Windows kernel, and that great kernel contributors (like Ingo Molnar) were morons following elite like the author.