
This book offers an up-to-date, in-depth, and broad-based exploration of the latest advances in UNIX-based operating systems. Focusing on the design and implementation of the operating system itself, this text compares and analyzes the alternatives offered by several important UNIX variants, and covers several advanced subjects, such as multi-processors and threads.
I'd also suggest reading "Unix Internals" by Uresh Vahalia. While this book is from 1995 and it doesn't cover Linux specifically, it's an exceptional resource for understanding how *nix kernels work in general.
Here are some other nice OS textbooks from a Unix standpoint that I've used over the years whenever I need to study some aspect of Unix in depth:
- The Design of the UNIX Operating System by Maurice Bach (1986)
- The Design and Implementation of the FreeBSD Operating System, 2nd Edition by McKusick, Neville-Neil, and Watson (2014)
- UNIX Internals: The New Frontiers by Uresh Vahalia (1996) (note that this book covers the implementations of Unix variants that were contemporary in 1996)
A book such as “UNIX Internals” (https://www.amazon.com/UNIX-Internals-Frontiers-Uresh-Vahali...) should be a good start (just quickly browsed it. It seems it’s 100% free of formulas, supporting my claim you need very little math)
Newer books probably exist (this book is almost 25 years old), but I don’t think that matters much. The details have changed (schedulers and allocators can get a lot more convoluted on modern systems with non uniform CPUs, hyper threading, etc., for example) and there’s some new stuff, for example in virtualization/hypervisors, but the core concepts haven’t changed, and that’s what learning how operating systems work book should start with.
And yes, it only discusses UNIXes, so it ignores Windows, VMS and the like, but you have to start somewhere, and that book isn’t a bad start.
Pointers?
[1] https://news.ycombinator.com/item?id=7063993 [2] http://www.amazon.com/UNIX-Internals-The-New-Frontiers/dp/0131019082