Ask HN: How to learn about Linux system internals?
Coming from reading a SRE job posting at Google i saw:
"Experience with algorithms and data structures and/or Unix/Linux systems internals (e.g., filesystems, system calls) and administration."
I have a good grasp of algorithms, at least to the extent that I could further my knowledge in this domain alone.
How would you suggest learning about Unix/Linux systems internals?
I was thinking of setting up a linux server and managing it, any suggestions for good places to start in regards to practical things i could do with it which would expose me to the internals?
9 comments
[ 4.5 ms ] story [ 29.7 ms ] threadIn the first case, I'd suggest trying to write a daemon that opens a socket and/or a fifo or pipe, sends some data, forks, execs, reacts to SIGUSR2, gets started by systemd, etc.
In the second case, implement a /dev/reversestring or whatever. Perhaps make your daemon use it :).
https://lwn.net/Kernel/LDD3/
Of course there are implementation differences between Unix and Linux, but I wouldn't be surprised if Torvaldes wasn't reading Bach when he started.
You can probably find a pdf online or a used copy from a bookseller.