Windows - Hot Plug támogatás a Windows-okban

forráskód letöltése
A Hot Plug rendszerek lényege, hogy egyes eszközöket (háttértárolókat, PCI kártyákat, stb.) a számítógép bekapcsolt állapotában az operációs rendszer működése közben el lehet távolítani, illetve be lehet helyezni a gépbe. A technológia több oldalról is igényel támogatást, cikkünkben a különböző Windows verziók által nyújtott támogatásról lesz szó.
A Windows 2000 előtti rendszerek még nem, vagy csak meghajtó szoftverek telepítése után ismerték a Hot Plug technológiát, Windows 2000-től kezdve beszélhetünk igazi támogatásról. Nem csak a kiszolgáló verziók, hanem a munkaállomások (Windows 2000 Professional, Windows XP Professional) is ismeri és kezd ezekben a rendszerekben is elterjedni. Régebben főleg nagygépes szerverkörnyezetben használták, ott nagy hagyományokra tekint vissza. A PC-s világba csak később vonult be és először ott is a kiszolgálókat célozták meg vele.
Ahhoz, hogy egy eszközt menet közben el lehessen távolítani a számítógépből, nem csak az operációs rendszer szintjén van szükség támogatásra, hanem hardverszinten is. Legegyszerűbb példát az erre felkészített Mobile Rack-ek jelentik, cserélhető merevlemezükkel - néhány ezer forintért. Ahhoz, hogy egy PCI eszközt távolítsunk el, egyrészt szükség van magának az eszköznek a felkészítésére, másrészt a PCI Controller-nek (általában az alaplapra van integrálva) is ismernie kell a funkciót. Sőt, hogy teljes legyen a kép az eszköz meghajtó programját is fel kell készíteni erre.
A Windows-ba épített Hot Plug támogatás az ACPI szolgáltatásra épül. A PCI eszközök egy általános meghajtó programmal rendelkeznek, mely kiegészül az eltávolításhoz szükséges modullal az ACPI 1.0b szabványa szerint (Windows 2000). Ennek továbbfejlesztett változata az ACPI 2.0, mely a Windows XP-ben és a .NET szerverekben található meg.
A tervek szerint egy általános Hot Plug meghajtó (Standard Hot Plug Controller - SHCP) kerül a következő generációs Windows-okba, melyeket jelenleg fejlesztői néven Longhorn-nak hívnak. Ha ez megvalósul, akkor nem lesz szükség külön meghajtók telepítésére, mert az operációs rendszer teljes körű támogatást fog nyújtani, "csupán" a hardvergyártóknak kell termékeiket felkészíteni.
Tulajdonképpen mire jó, hogy bármit is ki lehet venni a gépből menet közben? Az igaz, hogy nem biztosít hibatűrést, nem lesznek az adatok nagyobb biztonságban, de nem kell leállítani a számítógépet és ezért nem szakad meg a hálózati kapcsolat, nem lesznek átmenetileg elérhetetlenek a szolgáltatások, megosztott mappák, stb. Főleg szerver környezetben bír jelentőséggel, ahol például merevlemezeket helyezhetünk a gépbe vagy távolíthatunk el onnan, esetleg videokártyát cserélhetünk anélkül, hogy egy pillanatra is megszakadna a szolgáltatás. Munkaállomásokban is hasznos, ha félig szerverfunkciókat látnak el - megosztanak mappákat, fájlokat. Vagy vegyünk egy végletesen egyszerű példát: egy cég CD írással foglalkozik, az anyagot az ügyfelek hozzák merevlemezen, a Hot Plug-nak köszönhetően nem kell minden alkalommal leállítani a gépet a merevlemezek cseréjénél, hanem egyszerűen menet közben ki lehet cserélni és máris használatba vehető a következő eszköz. Másik kézzelfogható példát a notebook-ok szolgáltatják, ahol talán még gyakoribb az eszközcsere, mert helytakarékossági szempontból egyetlen bővítőbe többféle eszköz helyezhető. Végül még egy példa a Hot Plug működésére: az USB eszközök csatlakoztatása és eltávolítása menet közben.
A hardvereszközökbe épített Hot Plug támogatás szabványát a PCI Special Interest Group (PCI SIG) szervezet tette közzé az Interneten a http://www.pcisig.com/ címen.
Nézzük mit jelent a Hot Plug PCI támogatás Windows 2000 alatt:
  • Az operációs rendszer képes a hardver erőforrások dinamikus - menet közben történő - ismételt kiosztására. Windows 98-ban ez nem volt lehetséges, ott csak rendszerindításkor történt a kiosztás.
  • Az I/O és IRQ címeken kívül a memóriában is képes tárhelyet biztosítani a rendszerrel való kommunikáció elősegítéséhez.
  • Ha a hardvergyártók eszközmeghajtói tartalmazzák a Hot Plug funkciót, az operációs rendszer felismeri és lekezeli.
Windows XP alatt:
Windows XP alatt is megtalálható ugyanaz, mint a Windows 2000 alatt, csak az ACPI 2.0-nak köszönhetően kiegészült néhány új funkcióval.
  • Javítottak az erőforrás kiosztáson, kevesebbszer fordul elő, hogy az operációs rendszer nem tudja megfelelően inicializálni az eszközt és az erőforrás kiosztásnál keletkező konfliktusok (erőforrás ütközések) száma is csökkent.
  • Ugyanakkor az XP még nem valósítja meg az ACPI 2.0 szabvány minden egyes elemét, így hiányzik jó néhány esemény objektum. A teljes támogatás csak az XP 64-bites verziójában található meg.
Fejlesztők a Windows DDK-ban kaphatnak részletes információt meghajtóik felkészítéséhez.
Összefoglalva
Windows 2000-től kezdve - ha a hardver is támogatja - használhatunk cserélhető eszközöket. Amennyiben erőforrás kiosztási problémák merülnének fel, meg kell próbálni Windows XP alatt is. Azonban az igazi áttörésre, a teljes támogatásra még várni kell a következő generációs Windows-ig. Addig áthidalhatják a problémát a hardvergyártók eszközmeghajtó programjai, de nem fognak tökéletes támogatást kapni az operációs rendszertől.