I needed to add a custom System Request (Sys Req or SysRq) to a linux kernel some time ago. While doing so, I dug deep into how it works and I thought I’d make a quick post about it. Here is a good SuperUser answer about what a SysRq is. You may also know about SysRq via REISUB. This post has three parts: how to raise a SysRq, how SysRq works (looking into kernel code), and how to add your own SysRq.
The design of the BSD operating system is more narrative friendly, easier to read just for fun
Unix internals keeps getting updates, but is far more technically applied. And probably easier to become outdated.
From a philosophy perspective both books are great but if you could only read one I would recommend the BSD book. I know the Linux kernel and the BSD kernel have divergent development, but as far as posix structures are concerned they’re pretty similar