Plug and Play (englisch, „Einstecken und Spielen“, „Anschließen und loslegen“), auch „Plug 'n' Play“ oder „Plug&Play“, ist ein Begriff aus dem Gebiet der Computertechnologie, mit dem man die Eigenschaft eines Computers beschreibt, neue Geräte – meist Peripheriegeräte – anschließen zu können, ohne anschließend Treiber zu installieren oder andere Einstellungen vornehmen zu müssen.
Es gibt verschiedene Bezeichnungen und Variationen des Begriffs, die ähnliche Eigenschaften beschreiben, wie z. B. Hot-Plug. Der Begriff „Plug&Play“ wird normalerweise mit dem Unternehmen Microsoft in Verbindung gebracht, das diese Bezeichnung zuerst für sein Produkt Windows 95 gebraucht hat. Da das Verfahren zu Beginn technisch noch unausgereift war, hält sich bis heute auch die spöttische Bezeichnung „Plug&Pray“ („Einstecken und Beten (dass es funktioniert)“). Das Betriebssystem Mac OS von Apple Computer besaß bereits wesentlich früher diese Eigenschaft und funktionierte von Anfang an tadellos, aber mit Einführung des Begriffs „Plug&Play“ wurde dieser bald von allen übernommen.
Plug and Play funktioniert nur, wenn sowohl die Hardware als auch die Software dies unterstützt. Die Hardware erstellt normalerweise einen Identifizierungscode, damit die Software das Gerät korrekt erkennen kann. Der inzwischen durch USB abgelöste „Apple Desktop Bus (ADB)“ verwendete für diesen Zweck einen Code aus vier Bits, aber die meisten Systeme benutzen inzwischen längere Codes verschiedenster Art, um mehr Informationen übertragen zu können, wie z. B. Gerätenamen oder Seriennummern.
Auf Hardwareseite ist weiterhin erforderlich, dass der Computerbus Änderungen der Konfiguration erkennen können muss, wenn Geräte hinzugefügt oder entfernt werden. Mit der Einführung von moderneren Systemen – insbesondere USB und FireWire – wurde gerade diese Fähigkeit in die Computerbustechnologie eingeführt.
Schließlich muss das Betriebssystem in der Lage sein, mit den Änderungen beim An- oder Abstecken von Geräten umzugehen. Dies bedeutet, dass es einen Interrupt (siehe IRQ) des Systembusses auslöst, der die Änderungen anzeigt, um dann bei einer Änderung festzustellen, was verändert wurde. Bei älteren Busdesigns war es nötig, alle Systeminformationen auszulesen, um herauszufinden, was sich verändert hat. Dies kann bei Verwendung mehrerer Geräte eine verhältnismäßig lange Zeit in Anspruch nehmen. Moderne Systeme werden daher so entwickelt, dass die Suche nach Änderungen möglichst wenig Zeit benötigt. Im Falle von USB wird dafür (sowie für andere Zwecke) ein Hub-System eingesetzt.
Wenn eine Änderung der Konfiguration festgestellt wird, liest das Betriebssystem die Informationen, die ein neues Gerät zur Verfügung stellt, um es zu identifizieren. Als nächstes muss es die Treiber, die zum Betrieb des Geräts notwendig sind, laden. In der Vergangenheit musste dafür häufig ein Installationsprogramm des Herstellers gestartet werden, um das Gerät betriebsbereit zu machen. Aktuelle Betriebssysteme ermöglichen es jedoch inzwischen, Treibersoftware aus dem Internet zu laden und führen die Installation automatisch durch.