As I already mentioned a couple of times, I’m reading up on the kernel development book of R. Love. In the past I didn’t spend that much time at looking into the kernel itself. Okay I knew there were great enhancements and stuff like that. But Now I’ve finished the part about, memory allocation for user space, IO, Process scheduler and a couple of others. I have to say (again) that It has opened my eyes. I feel like taking the blue pill 😀
When I was reading up on the IO, more precise the elevator design. For those of you who may not now this design, its quite simple. Because IO is one of the slowest parts from an application the kernel has an good design for handling seeks. If a process requests data from one sector the hard disks arm will go to that position and read it. Now another process could get a timeslice and request another read somewhere totally different. Instead of moving the arm again, it waits for a couple of seconds (as I understand, the kernel doesn’t really issue the request, but maybe I’m wrong here). If there comes another request for more data, it I’ll first handle that request and then handle the next requests. I do have to admit then there are parts where my common C knowledge isn’t sufficient, but I also ordered a book for C programming. After I’ve finished it, I’ll start my other book of kernel development and then prolly reread roberts book.
So I’ve you really want be blazed of your feet read it. This book is also perfect for the programmers/admins in your department who think they know everything. Give them this book and then do a pop quiz on them, we’ll see who laughs last 😀