Thirdly: grab a copy of FreeBSD (or OpenBSD) and (a) set it up in VirtualBox and SSH it into locally (b) use an old ThinkPad. Then grab the source code of the base system. Build and install it. And start reading code of things like usr.bin/grep/grep.c
"The Design and Implementation of the FreeBSD Operating System" not only does a great job at covering how the UFS filesystem is implemented, but also does a great job at explaining how and Unix systems are implemented. I highly recommend this book to anyone with an interest in Unix internals.
Marshall Kirk McKusick's FreeBSD Intensive Code Walkthrough: https://www.amazon.com/Design-Implementation-FreeBSD-Operati...
Thirdly: grab a copy of FreeBSD (or OpenBSD) and (a) set it up in VirtualBox and SSH it into locally (b) use an old ThinkPad. Then grab the source code of the base system. Build and install it. And start reading code of things like usr.bin/grep/grep.c
The Design and Implementation of the FreeBSD Operating System
https://www.amazon.co.uk/Design-Implementation-FreeBSD-Opera...
https://www.amazon.com/Design-Implementation-FreeBSD-Operati...