So, in essence, you want to learn everything there is to know about computers and computing :-) . I have a similar impulse -- whenever I see some program, protocol, or even hardware device, I want to learn enough about how it operates to form a good, thorough mental model.
Some immediate, relatively practical steps:
- If you're not running one of the free Unixes, start now. I learned an enormous amount from first trying to get coLinux to work on my windows box and then actually installing various distros. That was four years ago, and things have gotten much easier (hardware support, guided installation, etc.), so you won't learn as much as I did, just as I didn't learn as much as the people who did it in, say, the mid-90's, but it's still worthwhile.
Distro: I currently run Debian, but I think for the purpose of learning, it (like a whole class of similar distros, like Ubuntu, RedHat derivatives, and even OpenSolaris) is too easy: it doesn't force you to keep learning past the basics in order to get it running and keep it running. Slackware (http://slackware.com/) and the BSD's (http://www.freebsd.org/ , http://netbsd.org/ , http://openbsd.org/ ) are probably good; I don't have any personal experience with (Gentoo http://www.gentoo.org/ ), but my impression is that it would work.
- Learn the Unix ecosystem: the command line and associated tools, the init system, daemons, etc. The "do one thing, and do it well" philosophy makes for programs that are easy to understand; once you understand that kind of program, it becomes much easier to look at, say, a browser and think about the components required to make it work.
Books/articles:
- ESR's "How to Become a Hacker" (http://catb.org/esr/faqs/hacker-howto.html) tries to answer a question not unlike yours.
- ESR's /The Art of Unix Programming/ (http://catb.org/esr/writings/taoup/html/ ) explains the philosophy of Unix: why things are the way they are.
- /Structure and Interpretation of Computer Programming/ (http://mitpress.mit.edu/sicp/ ) is a fantastic book on how to think about programming. One of my favorites.
On my to-read list:
- John Lions' commentary on Unix (see http://en.wikipedia.org/wiki/Lions_Commentary_on_UNIX_6th_Ed...) for a deep understanding of Unix circa 1976
- Donald Knuth's /The Art of Computer Programming/ for a similarly deep, low-level understanding of a whole bunch of really important algorithms and data structures.