Books
A short introduction to operating systems
A Short Introduction to Operating Systems by Mark Burgess book is a compilation of lecture notes on operating systems printed at the University of College Oslo, Norway.
It is a good combination of programming examples along with theory. It is recommended for readers who are interested to get incite on the roles of an operating system and how operating systems work.
Linux From Scratch
The goal of Linux From Scratch is to build a complete and usable foundation-level system.
This book will help you learn how a Linux system works from the inside out. Building an LFS system helps demonstrate what makes Linux tick, and how things work together and depend on each other. One of the best things that this learning experience can provide is the ability to customize a Linux system to suit your own unique needs.
The Art of Unix Programming
The Art of UNIX Programming poses the belief that understanding the unwritten UNIX engineering tradition and mastering its design patterns will help programmers of all stripes to become better programmers.
This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers. Eric Raymond offers the next generation of "hackers" the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.
Project Oberon: The Design of an Operating System, a Compiler, and a Computer
This book presents the results of Project Oberon, namely an entire software environment for a modern workstation. The project was undertaken by the authors in the years 1986-89, and its primary goal was to design and implement an entire system from scratch, and to structure it in such a way that it can be described, explained, and understood as a whole.
In order to become confronted with all aspects, problems, design decisions and details, the authors not only conceived but also programmed the entire system described in this book, and more. The book gives advice on how a system might be built, and demonstrates how one was built. Program listings therefore play a key role in this text, because they alone contain the ultimate explanations.