Hot Swap ( anglicky Hot Swap - hot swap a anglicky HotPlug - hot plug) - pojmy, které znamenají odpojení nebo připojení elektronického zařízení k / k (počítačovému) systému během jeho provozu bez vypnutí napájení a zastavení (systému) (HotPlug), i výměnu (znovu připojení) jednotky jako celku ( Hot Swap ). Existuje také termín označující opak hot swap - Cold swap , to znamená, že všechna (znovu) připojení jsou provedena po zastavení systému a odstranění napětí (zbytkového potenciálu).
Zařízení se podle tohoto principu dělí na hot- swap a non -hot-swap .
Dříve byla zařízení určená k připojení během výměnných prací používána pouze v drahých systémech a byla považována za obtížně navrhovatelná. V poslední době se takové systémy staly běžnými i na levných počítačích.
Počítače určené k výměně zařízení za chodu musí nějakým způsobem detekovat, kdy je zařízení odpojeno, a také obsahují elektrické obvody, které nejsou citlivé na přepětí při připojování a odpojování. Softwarová část musí být navíc navržena pro náhlou ztrátu komunikace se zařízením.
Některá schémata výměny za běhu vyžadují, aby byl nejprve vydán příkaz k odpojení, což zjednodušuje jejich návrh, ale ohrožuje integritu dat, pokud zařízení není odpojeno správným způsobem nebo v něm dojde k chybě.
Složitější schémata mají rezervu redundance a snadno obnovují data v případě náhlého vypnutí zařízení.
Termín „hot swap“ se používá ve dvou významech. Na jedné straně to znamená možnost odpojit nebo připojit zařízení bez vypnutí napájení. Na druhou stranu může také znamenat automatickou detekci zařízení při připojení. První význam termínu se vztahuje na rozhraní RS-232 , FireWire a nejjednodušší implementace SCSI , druhý význam - na USB, FireWire, PCI Express a komplexní varianty SCSI.
Většina moderních zařízení vyměnitelných za provozu používá pohyblivé kontakty. Jeden z nich je delší než ostatní, aby se jako první dostal do kontaktu s připojeným dílem, je přes něj připojen zemnící vodič. Zbývající kontakty jsou kratší, celkem mohou být až 3 různé délky. Prodleva mezi připojením prvního kontaktu a dalšími je od 25 do 250 milisekund.
Výkonové obvody se zapojují ve dvou stupních: v první se zapojí proudově omezený obvod pomocí delších kontaktů a poté s kratšími kontakty plné napájení. Všechny obvody zapojené do zapojení obsahují ochranu proti statické elektřině.
Zde je příklad typické sekvence připojení:
Obzvláště obtížné je připojení několika zařízení, protože připojení druhého, třetího zařízení může narušit činnost již připojeného zařízení. Pro boj s tímto jevem se používají filtry ve výstupních obvodech nebo dočasné logické odstavení přenosu dat.
Termín "hot plug" se také používá ve vztahu k softwaru a znamená možnost změnit program bez zastavení jeho provádění. Tuto schopnost podporuje pouze několik programovacích jazyků , včetně Lisp , Erlang a Smalltalk . Jazyk Java podporuje tuto funkci pouze při spuštěném debuggeru (Java Platform Debugger Architecture, JPDA ).
Při použití interpretovaných programovacích jazyků (s ukládáním programových textů uvnitř modulů) se „hot plugging“ implementuje jednoduše nahrazením textů. Například doménově specifický programovací jazyk 1C v8 poskytuje možnost změnit kód za běhu programu ( https://web.archive.org/web/20110427193804/http://v8.1c.ru/overview/ release_8_1_5/administration.htm sekce "Aktualizace konfiguračních částí").
Vzhledem k tomu, že kompilace jednotlivých modulů nastává v době provádění programu, a když se modul změní, je znovu zkompilován v relaci - nejedná se přesně o „hot plug“. Aby se změny projevily, musíte relaci znovu vytvořit, a to pouze pro tohoto uživatele (ostatní musí restartovat novou relaci).
Ve verzi v7 byla tato funkce přítomna také při použití dalších softwarových nástrojů [2] a běžného příkazu #LoadFromFile….(stačí znovu otevřít formulář nebo sestavu).