A Plug and Play (rövidítve PnP), szó szerinti fordításban „Plug and Play (work)” egy olyan technológia, amely a számítógépben lévő eszközök és más műszaki eszközök gyors azonosítására és konfigurálására szolgál . A hardver interfésztől és a szoftverplatformtól (OS, BIOS) függően a Plug and Play eljárás végrehajtható a rendszerindítási szakaszban vagy hot swap módban – ez például USB és IEEE 1394 interfészek esetén [1] .
Egyes korai számítógépes rendszerek, például az Apple II , megkövetelhetik a felhasználótól, hogy újraforrassza és vágja ki a csapokat a bővítőkártyákon, hogy újrakonfigurálhassa azokat [2] . Ez az újrakonfigurálási technika bonyolult volt, és drasztikusan csökkentette a berendezés élettartamát.
Ahogy a számítógépek egyre szélesebb közönség számára elérhetővé váltak, egyre egyszerűbb, kényelmesebb és elérhetőbb újrakonfigurálási technológiákra volt szükség. Kezdetben jumpereket (jumpereket) és DIP -kapcsolókat javasoltak a vezetékek vágása és forrasztása helyett a bővítőkártyák konfigurációjának megváltoztatására .
Balra: Különféle méretű jumperblokkok . Jobbra: DIP kapcsolóblokk 8 kapcsolóval |
Később a bővítőkártyák újrakonfigurálásának folyamatát automatizálták [3] .
Az 1983-ban kiadott MSX [4] eredetileg Plug and Play rendszernek készült. Ezt egy speciálisan szervezett bővítőhely -rendszerrel valósították meg, amelyek mindegyike, beleértve a bővítőhely-bővítő (slot expander) [5] használata esetén az alréseket is, saját virtuális címterével rendelkezett, amely magát a forrást szüntette meg az esetleges címütközések miatt . eszközök között. A rendszer konfigurálásához nem kellett áthidaló kapcsolót váltani , vagy bármilyen más műveletet végrehajtani kézi üzemmódban. A független címtér lehetővé tette az olcsó mikroáramkörök alkalmazását a bővítőeszközökben. A köztes logika rétege, amely a virtuális címek valós címekre való továbbítását végezte, szintén nagyon olcsónak bizonyult.
A szoftver oldalon az illesztőprogramokat és a szoftverbővítményeket csak olvasható memóriában szállították , amely a bővítőkártyákon található. Ez lehetővé tette az ASCII Corporation számára, hogy olyan rendszert hozzon létre, amelyhez nem volt szükség meghajtólemezekre vagy a szoftver felhasználói manipulálására a további hardverek telepítése során. A ROM-ra telepített BIOS-bővítmények (ROM Extensions in MSX terminology) egy hardveres absztrakciós réteg (HAL) megvalósítását biztosították , amely lehetővé tette a szoftver számára, hogy a szabványos eszköz API-val működjön anélkül, hogy figyelmet fordított volna annak hardveres megvalósításának sajátosságaira.
Az 1984-ben a Massachusetts Institute of Technology -ban kifejlesztett NuBus bővítőbusz architektúrát [6] platformsemleges interfészként, a hozzá csatlakoztatott eszközök teljesen automatikus konfigurálásával tervezték . Az interfész specifikációja még a számok big endian és little endian ábrázolásának egyidejű támogatását is tartalmazta , ami korábban a platform inkompatibilitásának egyik oka volt. Azonban a platformsemleges interfész megvalósításának megnövekedett összetettsége, amely drágább chipeket igényelt, az 1980-as években olyan tényező volt, amely megakadályozta ennek az interfésznek a széles körű elterjedését.
1984-ben a Commodore kifejlesztette az Autoconfig protokollt és a Zorro bővítőbuszt Amiga személyi számítógépeihez . A fejlesztést először az 1985-ben Las Vegasban megrendezett Consumer Electronics Show -n mutatták be a nagyközönségnek "Lorraine" néven, ez a prototípus technológia. Csakúgy, mint a NuBus , a Zorro buszhoz csatlakoztatott eszközök nem igényelnek jumpert vagy DIP-kapcsolót. Az eszköz konfigurációjával kapcsolatos információkat a bővítőkártya ROM -jában tárolták, és a gazdarendszer a rendszerindítás során lefoglalta a kártyához szükséges erőforrásokat. A Zorro architektúrát az ipar nem alkalmazta széles körben, és az Amiga termékcsaládon kívül nagyrészt nem használták . Azonban egymást követően frissítették a Zorro II -re és a 32 bites Zorro III -ra .
1987-ben az IBM kiadta az IBM PC -modellek frissített sorát, amely Personal System/2 család néven ismert, egy új bővítősín, a Micro Channel Architecture [7] felhasználásával . A PS/2 képes volt teljesen automatikus önkonfigurációra . Mindegyik bővítőeszközhöz járt egy hajlékonylemez, amely egy speciális fájlt tartalmaz a rendszer konfigurálásához. A felhasználó telepített egy bővítőkártyát, bekapcsolta a számítógépet, behelyezett egy hajlékonylemezt, és a számítógép automatikusan hozzárendelte a megszakításokat, a DMA csatornákat és a kártya által igényelt egyéb erőforrásokat.
A fent említett rendszerek megvalósításaihoz képest ennek az automatikus konfigurációs sémának volt egy hátránya: a hajlékonylemez megsérülhet vagy elveszhetett, és a szükséges beállítási fájl visszaállításának egyetlen módja az volt, hogy azt postai úton megkapja a cégtől, vagy letölti. az IBM BBS -től. A lemez nélkül az új eszköz teljesen használhatatlan volt, és a számítógép nem tudott rendesen elindulni, amíg az eszközt le nem kötötték a bővítőbuszról. Ennek a megközelítésnek az előnye ugyanakkor az eszköz működéséhez szükséges információk frissítésének elméleti lehetősége volt.
Az MCA-busz nem kapott széles körű támogatást [8] , mert az IBM megakadályozta, hogy független gyártók IBM-PC-kompatibilis számítógépeket használhassanak . Az MCA-kompatibilis eszközök fejlesztői mindegyike titoktartási megállapodást írt alá az IBM-mel, és minden egyes eszközért licencdíjat kellett fizetniük, ami növelte a költségeket.
Az IBM-PC-kompatibilis számítógépek kilenc gyártójából álló konzorcium által kiadott EISA-szabvány az MCA alternatívájaként szerepelt. Rendkívül hasonló Plug and Play implementációja volt a hajlékonylemezekhez mellékelt konfigurációs fájlok alapján. Az MCA-val ellentétben azonban a konfigurálatlan EISA-eszközzel rendelkező számítógép továbbra is be tud indulni és folytatni tudja az eszközhöz való szoftver hozzáférés nélkül.
A Micro Channelhez hasonlóan az EISA sem terjedt el széles körben, magát a technológiát és az arra épülő plug and play megvalósítást sem fejlesztették tovább.
Az ISA busz azelőtt jelent meg , hogy a Plug and Play technológiát elkezdték volna bevezetni az azt használó rendszerekbe. Ebben a tekintetben az ezzel a busszal működő bővítőkártyák számos konfigurációs technikát alkalmaztak, beleértve a jumpereket, a DIP-kapcsolókat, a szabadalmaztatott illesztőprogramokat és segédprogramokat, valamint más módszereket különféle kombinációkban. A Plug and Play kártyák megjelenése a Microsoft specifikációja formájában tovább bonyolította ezt a rendszert, különösen mivel a különböző operációs rendszerek eltérő módon valósították meg a Plug and Playt.
Az ISA-kártyák végfelhasználók számára történő beállításával kapcsolatos probléma súlyosságát nem a Plug and Play bevezetése, hanem ennek a szabványnak a széles körből való fokozatos kilépése szüntette meg. Az említett Microsoft ISA PnP specifikáció, más néven Legacy Plug and Play , mind a hardver-, mind a BIOS -módosításokra , valamint az operációs rendszer viselkedésére vonatkozó követelményeket tartalmazott. Elvesztette jelentőségét a PCI szabvány elterjedése során, amelyben eredetileg a Plug and Play technológiát implementálták.
1995-ben a Microsoft kiadta a Windows 95 -öt , amely először próbálta meg automatizálni a telepített eszközök észlelését és konfigurációját. Amennyire ez általában lehetséges volt, és szükség esetén a rendszer kézi konfigurálásához való visszatérés módjának megvalósításával. A Windows 95 kezdeti telepítési folyamata során megpróbálta azonosítani a rendszerre telepített összes eszközt. Amennyiben ezt a folyamatot az iparág nem támogatta teljes mértékben, és nem volt visszamenőleges kompatibilitása, az operációs rendszer naplót írt, amelyben megjelölte az eszközök automatikus felismerésére tett kísérleteket. Ha az eljárás eredményeként a számítógép lefagyott, akkor a felhasználónak továbbra is lehetősége volt újraindításra kényszeríteni. A számítógép konfigurációjának automatikus észlelésének folyamata az új rendszerindítás során folytatódott a korábban lefagyást okozó fázis kihagyásával. Így a rendszer fokozatosan végig tudta vinni a számítógép konfigurációjának meghatározását a végéig [9] .
Bár a VMEbus eredeti megvalósítása nem Plug and Play volt, számos bővítmény és származtatott szabvány, például a VME64x támogatja a Plug and Play funkciót. Általánosságban elmondható, hogy a VMEbus-kompatibilis kártyák konfigurálásával kapcsolatos helyzet összehasonlítható az ISA kártyákkal - a nem teljesen elfogadott szabványokat az egyes gyártók saját megoldásaival kombinálják tetszőleges kombinációkban.
Jelenleg az általános célú számítógépek operációs rendszere által a számítógépek konfigurációjának automatikus észlelésével kapcsolatos probléma fő akut jelentőségét már régóta megszüntették. Az eszközök, bővítőfelületek és operációs rendszerek túlnyomó többsége támogatja a Plug and Play eljárásokat.
Ezek az interfészek tartalmazzák
és sokan mások.
Ugyanakkor a legtöbb esetben a felhasználót megfosztják az eszközei és a számítógép perifériás interfészei beállításának bonyolultságától. Például az olyan interfészek, mint a FireWire és az USB, megosztják a sávszélességet az adott interfész egy adott portjához csatlakoztatott összes eszköz között, de a felhasználó nem tudja szabályozni, hogy a sávszélesség hogyan oszlik meg ezen eszközök között. Ezt az operációs rendszer automatikusan biztosítja.