Hot Swap ( engelska Hot Swap - hot swap och engelska HotPlug - hot plug) - termer som betyder att koppla bort eller ansluta elektronisk utrustning till/till ett (dator)system under dess drift utan att stänga av strömmen och stoppa (system) (HotPlug), samt byte (återkoppling) av enheten som helhet ( Hot Swap ). Det finns också en term som betecknar motsatsen till hot swap - Cold swap , det vill säga alla (åter)anslutningar görs efter att systemet har stoppats och spänningen (restpotential) tagits bort.
Utrustning är uppdelad enligt denna princip i hot -swapbar och icke -hot-swapbar .
Tidigare användes utrustning som konstruerats för att anslutas vid utbytesarbeten endast i dyra system och ansågs svår att designa. Nyligen har sådana system blivit vanliga även på billiga datorer.
Datorer som är designade för att ersätta utrustning i farten måste på något sätt upptäcka när en enhet är frånkopplad, och även innehålla elektriska kretsar som är okänsliga för strömstötar vid anslutning och urkoppling. Dessutom måste mjukvarudelen vara designad för en plötslig förlust av kommunikationen med enheten.
Vissa hot swap-scheman kräver att ett detach-kommando utfärdas först, vilket förenklar deras design, men hotar dataintegriteten om enheten inte kopplas bort på rätt sätt eller om ett fel uppstår i den.
Mer komplexa system har en redundansmarginal och återställer enkelt data i händelse av en plötslig avstängning av enheten.
Termen "hot swap" används i två betydelser. Å ena sidan innebär det möjligheten att koppla bort eller ansluta enheten utan att stänga av strömmen. Å andra sidan kan det också innebära automatisk enhetsdetektering när den är ansluten. Den första betydelsen av termen gäller för gränssnitt RS-232 , FireWire och de enklaste implementeringarna av SCSI , den andra betydelsen - till USB, FireWire, PCI Express och komplexa SCSI-varianter.
De flesta moderna hot-swap-enheter använder rörliga kontakter. En av dem görs längre än de andra för att vara den första att komma i kontakt med den bifogade delen, en jordledning är ansluten genom den. Resterande kontakter görs kortare, totalt kan det vara upp till 3 olika längder. Fördröjningen mellan anslutningen av den första kontakten och efterföljande är från 25 till 250 millisekunder.
Strömkretsar ansluts i två steg: i det första ansluts en strömbegränsad krets med längre kontakter, och sedan med kortare kontakter, full strömförsörjning. Alla kretsar som ingår i anslutningen innehåller skydd mot statisk elektricitet.
Här är ett exempel på en typisk anslutningssekvens:
Av särskild svårighet är anslutningen av flera enheter, eftersom anslutningen av en andra, tredje enhet kan störa driften av en redan ansluten. För att bekämpa detta fenomen används filter i utgångskretsarna eller en tillfällig logisk avstängning av dataöverföring.
Termen "hot plug" används också i relation till programvara och betyder möjligheten att ändra programmet utan att stoppa dess exekvering. Endast ett fåtal programmeringsspråk stöder denna funktion , inklusive Lisp , Erlang och Smalltalk . Java-språket stöder endast den här funktionen när felsökaren körs (Java Platform Debugger Architecture, JPDA ).
När du använder tolkade programmeringsspråk (med att spara programtexter i moduler) implementeras "hot plugging" helt enkelt genom att ersätta texter. Till exempel ger det domänspecifika programmeringsspråket 1C v8 möjligheten att ändra koden medan programmet körs ( https://web.archive.org/web/20110427193804/http://v8.1c.ru/overview/ release_8_1_5/administration.htm avsnittet "Uppdatera konfigurationsdelar").
Eftersom kompileringen av enskilda moduler sker vid tidpunkten för programkörning, och när modulen ändras, kompileras den igen i sessionen - detta är inte precis en "hot plug". Du måste återskapa sessionen för att ändringarna ska träda i kraft, och endast för den här användaren (andra måste starta om den nya sessionen).
I version v7 fanns den här funktionen även när man använde ytterligare mjukvaruverktyg [2] och det vanliga kommandot #LoadFromFile...(du behöver bara öppna formuläret eller rapporten igen).