These days, we're used to just plugging things into our computers and having them simply work
right away. And while it's true that you might need to install drivers for an odd couple of
things like a chipset or RGB, Windows does a remarkably good job of knowing exactly what's
connected to the PC and using appropriate drivers. But it wasn't always like this.
Back before the days of plug-and-play hardware, you had to manually configure
how the system would assign resources to whichever gadget you were installing.
Every piece of hardware needs to be assigned addresses for memory and IO access so the system
knows where to send data. These days, it's almost always handled automatically by the operating
system. But back in the day, you had to find free addresses yourself and possibly even set switches
or do soldering on the actual hardware, not things that lend themselves well to novice users.
Plug and Play came to save us with the release of Windows 95. You might remember how it would
try and automatically set up hardware when you first installed the OS. Although there were other
prior technologies that tried to enable automatic hardware setup, the Windows 95 launch marked the
first time consumers experienced widespread support for the technology. Of course, that didn't
necessarily mean that it worked well. Although Windows 95 could recognize some devices without a
hitch, there still wasn't a universal plug-and-play standard that all device manufacturers used.
And to complicate matters, the BIOS had to be on the same page as the device and the OS as well.
Furthermore, this was back when the internet was in its infancy and tons of users running
Windows 95 didn't even have an internet connection, meaning that while Windows came with some drivers
preloaded, it couldn't cover everything as the OS was unable to pull drivers off the server and
oftentimes the system wouldn't know what to do with the new gadget. This led users to
derisively refer to the technology as plug-and-pray, as you never quite knew if the system would
automatically recognize the device or not when you first plugged it in. Indeed, Microsoft actually
had an infamous egg on their face moment during the Windows 98 demo that featured Bill Gates himself.
They plugged in a scanner in an attempt to show how the new OS supported plug-and-play
and the system blue screened as soon as it was connected.
But as time went on, the industry figured out improvements to the technology. The ACPI
standard, which started becoming widespread in the early 2000s, gave Windows a more standardized
way to connect devices rather than relying on firmware support from the BIOS, which was more
inconsistent. ACPI allowed the motherboard to tell Windows automatically what hardware was connected,
which was a big step in the right direction. Manufacturers of other devices also started
baking in more information that the system could read to automatically tell what was plugged in.
For example, PCI adapter cards, including ones that use the later PCI Express protocol,
have a configuration space that contains information about what kind of device it is,
who made it, and what its capabilities are so that the system can react accordingly.
Similarly, USB devices have controller chips inside them that also contain identifying information
so that Windows can fetch the right drivers. And as we alluded to earlier, the ubiquity of high
speed internet connections has made it feasible for Windows itself to take these hardware identifiers
and match them with a large repository of up-to-date drivers that manufacturers send to Microsoft,
making it trivial for the OS to grab a needed driver in most cases. Although this is extremely
convenient, part of me does still miss the days when you had to insert a floppy disk with a driver
and listen to it make all sorts of ungodly noises. Oh yeah. That's the good stuff.
So thanks for watching TechWiki. If you liked this video, give us a like, hit subscribe,
and be sure to hit us up in the comments section with your suggestions for topics that we should
cover in the future.