Operating System Principles, by Per Brinch Hansen. 1973.
This is a classic book on operating systems – better than many of its successors.
What I love about this book is that it comes just after an era of experimentation, when computers started becoming more “regular”, and consolidates and explain the lessons.
Brinch Hansen starts by looking at sequential and concurrent processes. He then focuses on the challenges of resource management: processor management and scheduling algorithms, memory (“store”) management, and resource protection. He closes with a case study of the RC 4000 operating system, to bring all these themes together.
This book doesn’t try to cover I/O or disk systems. It covers paging systems pretty minimally (segments and overlays were more common back then). Some parts get into the queueing system math, but that’s not the main focus.
This book wouldn’t be the only guide you’d need to implement a full operating system. But it’s a great introduction to the fundamental issues.
[ACM has this book in its “Classic Books” collection; they make it available as a free PDF.]