For a few years now I have been providing support for Linux and UNIX system administrators. As a part of my training, I took several courses on the Linux kernel as well as IRIX and OS internals. Yet, until now I had never taken the time to put together some papers of my own on this topic. I plan to concentrate on different and well defined aspects of the kernel and OS design, one at the time.



Without a doubt, one of the classics in Computer Science, together with Andrew S. Tanenbaum's Operating Systems Design and Implementation, famous by now because it convinced Linus Torvalds that he needed to write his own little operating system. The Silberschatz and Galvin tome is widely considered perhaps the second best introductory book on operating systems.
By Daniel P. Bovet and Marco Cesati. A bit dated, since it covers the 2.6 kernel, but many of its explanations still apply to newer kernel. Or, at the very least, the book provides the foundation to build on a solid knowledge of the kernel anyways. Besides, as far as I know, there is no new edition of the book, as of writing this.
Study of the Linux kernel boot up process in the IA-32 and IA-64 architectures using the source code from 2.6.11.2 kerel source tree (the latest stable release when I started this project).