Plug and Play

The term Plug and Play is most associated with Microsoft, who started using it in reference to their Windows 95 product. Other operating systems (OSs), such as Mac OS, had already supported such features for some time (under various names), but the term gradually became universal over time. At the time of its initial offering by Microsoft, it was criticized by some as not being "proven" technology, which did not always work as it should. Detractors at the time of the earliest offering spoofed the functionality as "plug and pray" because "one never knew if in fact the thing would work."

Plug-and-play hardware typically also requires some sort of ID code that it can supply, in order for the computer software to correctly identify it.

This ID code system was not integrated into the early Industry Standard Architecture (ISA) hardware common in PCs when Plug and Play was first introduced. ISA Plug and Play caused some of the greatest difficulties that made PnP initially very unreliable. This led to the derisive term "Plug and Pray", since I/O addresses and IRQ lines were often set incorrectly in the early days. Later computer buses like MCA, EISA and PCI (which was becoming the industry standard at that time) integrated this functionality. (Note that none of these buses were "true plug-and-play" buses, because of the lack of safe hot-plugging support).

Finally, the operating system of the computer needs to be able to handle these changes. Typically this means looking for interrupts from the bus saying that the configuration has changed, and then reading the information from the bus to locate what happened. Older bus designs often required the entire system to be read in order to locate these changes, which can be time consuming for lots of devices. More modern designs use some sort of system to either reduce or eliminate this "hunt"; for example, USB uses a hub system for this purpose.

When the change is located, the OS then examines the information in the device to figure out what it is. It then has to load up the appropriate device drivers in order to make it work. In the past this was an all-or-nothing affair, but modern operating systems often include the ability to find the proper driver on the Internet and install it automatically.

Reference: Wikipedia
This text is available under the terms GNU Free Documentation License.