Un ordinateur est constitué d'un assemblage de périphériques. Pour pouvoir en contrôler chacun, le système d'exploitation a besoin d'une interface logicielle entre lui et le matériel ; on appelle drivers (pilotes ou gestionnaires de périphériques en français) les programmes permettant au système d'exploitation de gérer le matériel. Le rôle des drivers est de jouer les intermédiaires entre le système et les cartes d'extension ou bien les périphériques externes. Les drivers sont développés par les fabricants du matériel auquel ils correspondent. Toutefois, bien que votre matériel (hardware) n'évolue pas (il n'est pas mutant), il se peut que le fabricant du matériel fournisse, quelques mois plus tard, une nouvelle version du driver... Le contraire serait même étonnant ! En effet, un logiciel contient constamment des bugs (erreurs logicielles), or ceux-ci ne peuvent parfois être décelés qu'après un test auprès d'un grand nombre de personnes et les fabricants ont rarement le temps d'approfondir ce type de tests. De plus, avec l'évolution des matériels, il arrive qu'un matériel qui était compatible avec «tous» les périphériques existants devienne incompatible avec un type de matériel à la suite de son apparition ou de son évolution.