- Aug 12, 2014
- 522
- 3
- 81
Hello everyone,
Let me explain what I mean by detailing an experience I had a few weeks ago. Bear with me.
I had a new laptop that came with Windows 8.1 from the factory. I wanted to run Windows 7 on it instead. So, I took a spare laptop HD I had and plugged it into another desktop computer (I had to do this because the motherboard in the new laptop that I ultimately wanted to use prevented me from installing another OS. But, that's besides the point.) I had a Windows 7 image burned to a bootable USB, and installed Windows 7 on my spare HD through the motherboard of my second desktop computer.
There were no problems. I then detached the HD and placed it into the laptop that I wanted to use. I booted up, and the splash screen pops up. Maybe 2 seconds later it blue screens on me. I tried again and same thing.
I learned from asking members on the OS sub-forum that you can't just swap HDs that way. During installation, bundled with the OS comes a set of "low level" drivers that are designed to communicate with the chip set on the motherboard. I'm assuming that these drivers allow the OS to communicate with low level hardware like the interrupt controller, the DMA controller, the memory management unit, etc.
I came up with a clever work around to my dilemma by using the second desktop computer to copy the installation files from the USB to the HD and then plugging the HD into the laptop and continuing with the installation.
Finally, when everything was setup, I had to hunt down the drivers for "high level" ancillaries e.g. the wireless network device, the SD card reader, the Bluetooth transceiver, etc.
OK. I offered that long-winded account to say that I realized that there is more than one driver "level". (That's probably not the right term, but bear with me.)
Then, I started thinking about the BIOS. So, I opened up my computer, detached my HD, and started up my computer. I went into BIOS and everything worked just fine. The keyboard, monitor, and mouse worked (my computer has a GUI bios).
As the HD was detached, there is no way that the drivers and interrupt handlers associated with the keyboard, monitor, and mouse operation were being evoked from the HD. Further, the BIOS gives you the option of booting from the USB, ODD, or NIC. So, there must be drivers and interrupt handlers associated with all those devices stored somewhere on the motherboard.
So, with all that said, my final conclusion is that there are 3 levels of drivers: the low-level stored somewhere on the motherbaord, the mid-level that comes bundled with the OS upon installation, and the high-level that my also come with OS, but not bundled with it, from the factory but may need to be downloaded by the user.
What do you think about my perspective? I'm pretty sure that my view of things constitutes a gross over simplification or is quite possibly completely wrong.
I would appreciate any input from you guys to help me better understand this seemingly multi-tiered I/O paradigm.
Thanks.
Let me explain what I mean by detailing an experience I had a few weeks ago. Bear with me.
I had a new laptop that came with Windows 8.1 from the factory. I wanted to run Windows 7 on it instead. So, I took a spare laptop HD I had and plugged it into another desktop computer (I had to do this because the motherboard in the new laptop that I ultimately wanted to use prevented me from installing another OS. But, that's besides the point.) I had a Windows 7 image burned to a bootable USB, and installed Windows 7 on my spare HD through the motherboard of my second desktop computer.
There were no problems. I then detached the HD and placed it into the laptop that I wanted to use. I booted up, and the splash screen pops up. Maybe 2 seconds later it blue screens on me. I tried again and same thing.
I learned from asking members on the OS sub-forum that you can't just swap HDs that way. During installation, bundled with the OS comes a set of "low level" drivers that are designed to communicate with the chip set on the motherboard. I'm assuming that these drivers allow the OS to communicate with low level hardware like the interrupt controller, the DMA controller, the memory management unit, etc.
I came up with a clever work around to my dilemma by using the second desktop computer to copy the installation files from the USB to the HD and then plugging the HD into the laptop and continuing with the installation.
Finally, when everything was setup, I had to hunt down the drivers for "high level" ancillaries e.g. the wireless network device, the SD card reader, the Bluetooth transceiver, etc.
OK. I offered that long-winded account to say that I realized that there is more than one driver "level". (That's probably not the right term, but bear with me.)
Then, I started thinking about the BIOS. So, I opened up my computer, detached my HD, and started up my computer. I went into BIOS and everything worked just fine. The keyboard, monitor, and mouse worked (my computer has a GUI bios).
As the HD was detached, there is no way that the drivers and interrupt handlers associated with the keyboard, monitor, and mouse operation were being evoked from the HD. Further, the BIOS gives you the option of booting from the USB, ODD, or NIC. So, there must be drivers and interrupt handlers associated with all those devices stored somewhere on the motherboard.
So, with all that said, my final conclusion is that there are 3 levels of drivers: the low-level stored somewhere on the motherbaord, the mid-level that comes bundled with the OS upon installation, and the high-level that my also come with OS, but not bundled with it, from the factory but may need to be downloaded by the user.
What do you think about my perspective? I'm pretty sure that my view of things constitutes a gross over simplification or is quite possibly completely wrong.
I would appreciate any input from you guys to help me better understand this seemingly multi-tiered I/O paradigm.
Thanks.