Help learning Linux
No, I'm not just another newbie trying to figure out what Applications menu is for. I want to learn how the things work from below. So I'm looking for some advanced (and possibly user friendly) books of how kernel works in detail and etc. I heard that Beej's Guide to Network Programming and Beej's Guide to Unix IPC are good for starters, any thoughts? One particular problem I'm trying to figure out is how the kernel detects the hardware? I know I'm using rt2860sta module, but how does the kernel know that too on first place? The only thing that comes to my mind is to load modules one at a time and to look in lspci & lsusb for new devices.
One of our members has a list of Linux documentation in his signature, rokytnji.
Awesome information to be found there!
As far as how the kernel handles drivers and modules, you might want to look here.
For pci device, kernel read pci device config space to get the device type(ventor id/device id) ,and use the adapting driver to init the device.