<P> Expansion devices are controlled and exchange data with the host system through defined memory or I / O space port addresses , direct memory access channels , interrupt request lines and other mechanisms , which must be uniquely associated with a particular device to operate . Some computers provided unique combinations of these resources to each slot of a motherboard or backplane . Other designs provided all resources to all slots , and each peripheral device had its own address decoding for the registers or memory blocks it needed to communicate with the host system . Since fixed assignments made expansion of a system difficult , devices used several manual methods for assigning addresses and other resources , such as hard - wired jumpers , pins that could be connected with wire or removable straps , or switches that could be set for particular addresses . As microprocessors made mass - market computers affordable , software configuration of I / O devices was advantageous to allow installation by non-specialist users . Early systems for software configuration of devices included the MSX standard , NuBus , Amiga Autoconfig , and IBM Microchannel . Initially all expansion cards for the IBM PC required physical selection of I / O configuration on the board with jumper straps or DIP switches , but increasingly ISA bus devices were arranged for software configuration . By 1995 , Microsoft Windows included a comprehensive method of enumerating hardware at boot time and allocating resources , which was called the `` Plug and Play '' standard . </P>
what is plug and play installation of windows
enumerating hardware at boot time and allocating resources