What is a good book about why linux has been designed the way it has? Such as why are HDs in
/dev/ null, zero, urandom and such are files (or pipes). Why do we have loopback device (I see 0-7 and control on my linux distro), why we have bin, sbin, lib and usr (and the difference between them). Everything about
/proc. What is inside of the kernel and what isn't? From my memory init.d isn't part of the kernel and I was unsure how an program would be executed and know when to run these. What are block and character device represented as files? and why couldn't a character device be a '1 byte' (or int) block device?
I have no idea why everything is a file (including sockets) and what happens when I write
cat /proc/cpuinfo. Is that a named pipe to the OS which reads the CPU info on the fly and generate that text each time I call it?