There are more books than one can hope to read in a lifetime. I have accumulated a list of systems programming and computer science resources. This list keeps growing faster than I can absorb the material. So, instead of letting those links rot in my bookmarks, I'd like to share them.
Programming languages, interpreters, compilers, algorithms
The C Programming Language (Second Edition)
Structure and Interpretation of Computer Programs
The Art of Computer Programming
What Every Computer Scientist Should Know About Floating-Point Arithmetic
What Every Programmer Should Know About Memory
Compilers: Principles, Techniques, and Tools
Computer systems, Operating systems, Computer networking
Computer Systems A Programmer’s Perspective
The elements of computing systems
Computer Networks From Scratch
Operating systems three easy pieces
The little book about OS development
xv6: a simple, Unix-like teaching operating system
Computer Networking: A Top-Down Approach
OSI Deprogrammer: Re-conceptualizing cyberspace
Beej's Guide to Network Programming
Write your Own Virtual Machine
Linux kernel development
JamesM's kernel development tutorials
The Linux Programming Interface
Understanding the Linux Kernel
Understanding Linux Network Internals
Embedded systems
Making Embedded Systems Course
Assembly
Modern X86 Assembly Language Programming
Learn x86-64 assembly by writing a GUI from scratch
Other lists
Teach Yourself Computer Science