For a comprehensive list, I highly recommend checking out Max Bernstein's PL Resources.

Favorite Resources for Getting Started with PL

Additional curated lists:

Operating Systems

Resources for learning about and building operating systems:

Assembly Language

Resources for learning assembly language: