Milyen eszközökre van szükség illesztőprogramokra. Honnan tudhatom, hogy melyik hangvezérlőre van szükségem

Ha a számítógépet saját kezűleg szerelte össze, külön vásárolt hozzá alkatrészeket, akkor ebben az esetben a számítógép összes illesztőprogramja már nem található meg egyetlen gyártó weboldalán, ahogy ez egy kész számítógép vásárlásakor könnyen megtehető (ez le van írva cikkben: „Hogyan találhatunk illesztőprogramokat, ha laptopot vagy kész asztali számítógépet vásároltak!”). Elvégre egy olyan befejezetlen számítógépet vásárolt, amely valamilyen gyártóhoz tartozna, saját modellel és illesztőprogramokkal rendelkezik, amelyekhez az összeset egyszerre letöltheti egy webhelyről. Mivel a számítógépet az Ön által kiválasztott alkatrészekből állítják össze, ez azt jelenti, hogy többé nem fog megfelelni egyetlen modellnek sem, és valamelyik gyártóhoz tartozik, mert ez már a te alkotásod :) Ezért mindenhez külön kell keresned az illesztőprogramokat eszközök, amelyekből a számítógépet összeállították. Ide tartozik az az eset is, amikor egy kész (már összeszerelt) számítógép megvásárlása után egy idő után úgy döntöttél, hogy kicserélsz valamilyen "vasdarabot".

Most megmutatom, hogyan találja meg az összes szükséges illesztőprogramot egy önállóan konfigurált számítógéphez manuálisan, az interneten keresztül.

A cikkben ismertetett illesztőprogramokról:

Tehát maga összeszedte az összes összetevőt, összeállította a számítógépet, telepítette a Windows-t, és látta, hogy az illesztőprogramok nincsenek telepítve minden eszközre, sőt, talán szinte egyikhez sem. A szabványos Eszközkezelő segédprogramból megtudhatja, hogy az összes illesztőprogram telepítve van-e. Hogyan kell ezt megtenni, egy külön cikkben mondtam el.

Az illesztőprogramok telepítéséhez ebben az esetben több lehetőség is van.

Jegyzet!
Ha még nem telepítette automatikusan a hálózati kártyák illesztőprogramjait, ami nem ad lehetőséget az internet elérésére erről a számítógépről, akkor az alábbi lépéseket egy másik, internet-hozzáféréssel rendelkező számítógépről kell végrehajtani. És miután letöltötte az összes illesztőprogramot, át kell vinnie őket ide kívánt számítógép például flash meghajtón vagy lemezen keresztül.

1. számú lehetőség. Az illesztőprogramok manuális keresése eszközkód alapján a devid.drp.su webhelyen keresztül

Ezt a lehetőséget tartom a legjobbnak. A módszer az eszköz kódjának meghatározása és illesztőprogramok keresése az interneten, ennek a kódnak a segítségével különböző webhelyeken.

Tegyük fel, hogy az eszközkezelőben valami ilyesmit látunk:

Azok. több eszköz illesztőprogramja nincs telepítve a számítógépre. Nehéz azonban az eszközkezelőn keresztül meghatározni, hogy mely eszközökhöz nincs illesztőprogram, mert a nevek valahogy homályosak. Csak nagyjából érthető. Például az "Ethernet vezérlő" a legvalószínűbb LAN kártya vezetékes internetkapcsolathoz. " Hálózati vezérlő' valószínűleg az wifi adapter, azaz hálózati kártya az internethez Wi-Fi-n keresztül.

De minden eszköznek megvan a saját egyedi száma, amit az eszközkezelő csak megmutathat nekünk. És miután megtanultuk a számot, az interneten keresztül megtaláljuk az eszköz illesztőprogramját.

Nézzünk néhány példát arra, hogyan lehet manuálisan megkeresni az illesztőprogramokat eszközkód alapján:

Az elején találok egy illesztőprogramot a "Simple Communications PCI Controller" homályos eszközhöz.

    Határozzuk meg annak az eszköznek a kódját, amelyhez illesztőprogramot szeretnénk találni.

    Az eszközkód meghatározásához kattintson rá jobb gombbal az eszközkezelőben, és válassza a "Tulajdonságok" menüpontot a megjelenő menüből:

    A megnyíló ablakban válassza a "Részletek" fület, majd lent, a "Tulajdonságok" felirat alatt válassza a "Hardverazonosító" lehetőséget:

    Először is megpróbálunk a legalsó (4.) sor kódja alapján keresni. Kattintson jobb gombbal lent a 4. kódsorra, és válassza a "Másolás" lehetőséget.

    Megpróbálunk illesztőprogramot találni kód alapján a devid.drp.su oldalon.

    A kód kimásolása után nyissa meg a webhelyet:

    David.drp.su

    Próbáljuk megkeresni rajta a drivert. Ez az oldal a programhoz tartozik Driver Pack megoldás, amely szinte az összes lehetséges illesztőprogramot összegyűjti. Itt nagy valószínűséggel bármilyen eszközhöz találhat illesztőprogramot.

    Az oldal megnyitása után először be kell illesztenie az előző lépésben kimásolt eszközkódot a legfelső hosszú sorba, és törölnie kell ebből a kódból mindazt, ami az „&” szimbólumtól a végéig származik.

    Például kimásolta a kódot:
    PCI\VEN_8086&DEV_0166 &CC_0300

    Tehát miután eltávolította a karaktereket az "&"-ből, meg kell kapnia a kódot:
    PCI\VEN_8086&DEV_0166

    Ha nem tudja, milyen rendszere van, nyissa meg Windows keresésés írja be a "Rendszerinformáció" elemet, majd válassza ki a listából a megjelenő programot:

    A megnyíló programban a bal oldali ablakban válassza a "Rendszerinformáció" lehetőséget, és a jobb oldalon az "OS név" sorban megjelenik a Windows verziója (az én példámban az alábbi képen "Windows 10") , és a "Típus" sorban - bitmélység: x64 vagy x86:

    Ezen adatok alapján a devid.drp.su oldalon jelezzük a rendszer típusát és bitmélységét.

    Az eszközkód megadása és a Windows verzió kiválasztása után kattintson az "Illesztőprogramok keresése" gombra.

    Ennek eredményeként az oldalon megjelenik azon illesztőprogramok listája, amelyek megfelelnek az Ön által megadott hardverkódnak és az Ön számára Windows verziók. A "Letöltés" gombbal töltse le az egyik illesztőprogramot a számítógépére.

    Jegyzet!
    Ha több azonos illesztőprogram jelenik meg (mint a fenti képen), akkor az Illesztőprogram verziója oszlopban töltse le azt az illesztőprogramot, amelynek a legújabb kiadási dátuma van.

    A "Letöltés" gombra kattintva az illesztőprogram letöltődik a számítógépére, és csak telepítenie kell. Az illesztőprogramok telepítésében nincs semmi bonyolult, és ezt a pontot egy külön cikkben érintettem.

    Jegyzet!

    Előfordulhat, hogy különböző illesztőprogramok jelennek meg az illesztőprogramok listájában, például:

    Ez azt jelenti, hogy a hardverkód több eszköz esetében is hasonló lehet. Ebben az esetben egyszerűen letöltheti és megpróbálhatja telepíteni az összes javasolt opciót, amíg a telepítés meg nem történik helyes sofőr.

Mint látható, a sofőrt nem volt nehéz megtalálni. Most megnézek egy másik példát, hogy jobban érthető legyen :) Például találok egy illesztőprogramot egy eszközhöz, amely az eszközkezelőben „Ethernet vezérlőnek” van kijelölve.

Jobb gombbal kattintok az eszközre, megnyitom a tulajdonságokat:

Az ablakban válassza ki a "Részletek" fület, válassza ki a listából a "Hardverazonosító" elemet, és másolja ki a kódot a 4. sorból:

Megnyitom a devid.drp.su oldalt, ott feltüntetem a kimásolt számot, és az „&” szimbólumtól kezdve mindent kitörlök benne. Ezután kiválasztom a Windows verzióját, és végrehajtok egy keresést:

Az eszközömhöz és az általam kiválasztott Windows-verzióhoz az illesztőprogramnak csak egy verziója van, amelyet letölthetek és telepíthetek:

Ez minden!

Azonban még mindig előfordul, hogy a devid.drp.su webhely nem talál illesztőprogramokat az Ön által megadott hardverkódhoz. Ebben az esetben van egy alternatív lehetőség, amelyet alább megvizsgálunk.

Alternatív módja az illesztőprogramok eszközkód szerinti keresésére

Ha a jól ismert devid.drp.su oldalon nincsenek meghajtók a szükséges eszközhöz, akkor ezt az egyszerű módszert használhatja:

    Határozza meg az eszköz kódját. Hasonlóképpen másolja ki a berendezéskód (4.) sort:

    Gépkocsivezetőt keresünk különböző oldalakra.

    Most felkeressük a Google.com webhelyet, és beillesztjük a másolt kódot közvetlenül a keresősávba, majd eltávolítjuk az „&” szimbólumot és mindent, ami azt követi a kódból, például:

    PCI\VEN_8086&DEV_1C3A &SS_0780= PCI\VEN_8086&DEV_1C3A

    Megnyomjuk a keresés gombot, és megjelenik a lekérdezésünknek megfelelő webhelyek listája:

    Most sorra meg kell nyitnia a webhelyeket, kezdve a legelsőtől (felül), és meg kell néznie, hogy letölthet-e illesztőprogramokat a webhelyről.

    Érdemes azonnal megjegyezni, hogy nem minden webhelyen találja meg a szükséges illesztőprogramot, mert néhányan nem lesz illesztőprogram az Ön Windows-verziójához, és vannak olyanok is, amelyek nem tartalmaznak illesztőprogramokat.

    A fenti példaképen azokat az oldalakat karikáztam be, ahol valóban a leggyakrabban megtalálhatók és gond nélkül letölthetők az illesztőprogramok. Itt vannak az oldalak:

    Ha jobban belemélyed a keresésbe, találhat más oldalakat is, ahonnan letöltheti a szükséges illesztőprogramot. De ne keress drivereket a fórumokon, mert ez a leghosszabb út. Egymás után el kell olvasnia az összes üzenetet, hogy megértse, hol található a szükséges illesztőprogram hivatkozása.

    És most nézzünk meg néhány példát az illesztőprogramok különböző webhelyekről történő letöltésére.

    Példa az illesztőprogram letöltésére a driver.ru webhelyről:

    Amikor a keresési eredmények közül eljut az oldalra, az oldalon már megjelennek az illesztőprogramok, amelyek többsége kompatibilis az Ön készülékével.

    Itt egyszerűen letöltheti a webhelyen megjelenített összes illesztőprogramot, és megpróbálhatja telepíteni a kívánt illesztőprogram telepítéséig. Az összes inkompatibilis illesztőprogram vagy nem lesz telepítve, vagy egyszerűen nem fog működni, így nem kell félni, hogy valami rosszat telepít.

    Ne felejtse el figyelni a Windows azon verzióját, amelyhez az illesztőprogramot szánják.

    Tartsd észben!
    A Windows 8, Windows 8.1 és Windows 10 illesztőprogramjai nagyon gyakran kompatibilisek, és ha például nem talált kifejezetten a Windows 8.1-hez illesztőprogramokat, próbálja meg telepíteni a Windows 8-hoz illesztőprogramokat. Vagy ha nem talál illesztőprogramot a Windows 10 rendszerhez, próbálja meg Az is előfordul, hogy a Windows 7 illesztőprogramjai kompatibilisek lesznek a Windows 8, 8.1 és Windows 10 rendszerrel. Megpróbálhat különböző rendszerekről telepíteni illesztőprogramokat.

    Vegyünk egy példát a letöltési folyamatra erről a webhelyről. Miután megtalálta a szükséges illesztőprogramot, kattintson az alábbi letöltés gombra:

    A következő ablakban meg kell erősítenie, hogy Ön nem robot, a megadott négyzet bejelölésével (lásd az alábbi képet). Ezután kattintson az alábbi "Letöltés" gombra:

    És végül a következő oldalon a legtetején egy letöltési linket fogunk látni egy kiterjesztésű fájlnév formájában:

    Kattintson rá, és töltse le a fájlt.

    Példa illesztőprogram letöltésére a members.driverguide.com webhelyről:

    Ha egy keresőmotorból felkeresi a webhelyet, az oldalon megjelenik az eszközével valószínűleg kompatibilis illesztőprogramok listája:

    A letöltés gombra kattintva megnyílik új oldal ahol a nagy mennyiségű reklám felkelti a figyelmet.

    Figyelem!
    Ne kattintson sehova, ha sok hirdetés van az oldalon, legyen óvatos, különben vírusokat és egyéb fertőzéseket szedhet össze a számítógépe!

    A következő ablakban egy ablak jelenik meg a közepén, amely megerősíti, hogy Ön valódi személy, és nem program :) Meg kell várni, amíg az ablak tartalma betöltődik, és kattintson a "Megjelenítés" gombra:

    Megnyílik egy új ablak, ahol ismét várunk néhány másodpercet a tartalom betöltésére. Egy kód jelenik meg az ablakban az "Enter" felirat mellett. Ezt a kódot pontosan úgy kell átírni, ahogyan az alábbi sorban van ("Az Ön válasza"), majd kattintson a "Vissza az oldalra" gombra:

    Visszakerül az eredeti oldalra, ahol most megjelenik a "Folytatás" gomb. Ha rákattint, elindul az illesztőprogram letöltése a számítógépre:

mint ez alternatív módon megpróbálhatja manuálisan megkeresni az illesztőprogramokat eszközkód alapján. Természetesen ehhez a lehetőséghez példákat mutattam be az illesztőprogram letöltésére csak 2 webhelyről, és rengeteg van. De a letöltés elve minden webhelyen ugyanaz. Csak a felület tér el többnyire, és néha a letöltési sorrend is.

De inkább arra hajlok, hogy az 1. lehetőségben javasolt fő módszerrel könnyen megtalálhatja az illesztőprogramokat.

2. számú lehetőség. Keressen illesztőprogramokat az eszközgyártók hivatalos webhelyein

Ha nem talált illesztőprogramokat eszközeihez az 1. opció használatával, akkor ezt megteheti ezen a módon.

Meg kell keresnie a számítógépén lévő egyes eszközök gyártóját és modelljét a dokumentációjukon keresztül, ill speciális programok(például Aida64 vagy Sysinfo Detector), majd külön keressen meg illesztőprogramokat az egyes eszközökhöz a gyártó hivatalos webhelyén vagy (ha nincs illesztőprogram a hivatalos webhelyen) az interneten az eszköz modelljének megfelelően.

Vegyük ezt a példát. Az eszközkezelőben azt látom, hogy a videokártya illesztőprogramja és más furcsa eszköz nincs telepítve a rendszerben:

Hogyan állapítottad meg, hogy mi van a videokártyán? Hanem azért, mert ha a „Videóadapterek” részben található eszközök listájában van egy „Standard VGA grafikus adapter” eszköz, akkor nincs illesztőprogram a videokártyához, különben az eszközön például a videokártya neve szerepelne. „NVIDIA GeForce GTX980”.

Nézzük a műveletek sorrendjét:

    Ismerje meg a készülék gyártóját és modelljét.

    Jegyzet!
    Ha az eszközkezelőben egy „Ismeretlen eszköz” van, akkor valószínűleg nincs telepítve néhány eszköz illesztőprogramja alaplap vagy egy speciális program az alaplaphoz. Ezért először telepítenie kell az alaplap összes illesztőprogramját és a hozzá tartozó programokat.

    Ha egy számítógépet különálló alkatrészekből állított össze, akkor minden megvásárolt eszközhöz rendelkezhet dokumentumokkal, amelyek jelzik, hogy mire van szükségünk - a gyártó és a modell. Ha már nem maradt dokumentáció, akkor a számítógép hardverét meghatározó programok egyike segít a modell megtalálásában. Az Aida64-et vagy a Sysinfo Detector-t ajánlom. Az első fizetős, de 30 napig ingyenesen használhatod. A másodiknak pedig teljesen ingyenes kiadása van. Ha úgy gondolja, mit válasszon, válassza ideiglenesen az Aida64-et, mivel ennek a programnak a minősége továbbra is magasabb lesz.

    Az Aida64 program telepítését és használatát a cikk ismerteti:

    A Sysinfo Detector telepítését és használatát a cikk ismerteti:

    Ha az Aida64 programon keresztül észlel eszközöket akkor az „Eszközök\u003e\u003e” szakasz kiválasztásával meghatározhatja, hogy milyen eszközök legyenek illesztőprogramok nélkül Windows eszközök”, majd a jobb oldalon nyissa meg az „Ismeretlen” (ismeretlen) kategóriát. A kiválasztott eszközzel kapcsolatos információk az alábbiakban jelennek meg:

    Tehát az én példámban az ismeretlen eszköz neve "Asus ATK-110 ACPI Utility".

    Fentebb említettem, hogy egy ismeretlen eszköz nagy valószínűséggel valami az alaplapon van, ezért azonnal határozzuk meg, melyik alaplap van a készülékben. Ehhez nyissa meg az "Alaplap" részt, és lépjen ugyanabba az alszakaszba. Az ablak jobb oldalán az alaplap gyártója és modellje látható: Asus P5KPL-AM EPU.

    Most foglalkozzunk a videokártyával. A videokártya általában helyesen azonosítható az Aida64-ben a "Kijelző" > "Video PCI/AGP" alatt. Mint látható, a program észlelte a videokártyát: NVIDIA GeForce GT 430":

    Ha a Sysinfo Detectoron keresztül néz eszközöket, akkor kétféleképpen láthatja az eltávolított illesztőprogramokkal rendelkező eszközöket. Az első az "Eltérések" részben található:

    Mint látható, ugyanazt az eszközt észlelték, mint az Aida64 programon keresztül: ACPI / ATK0110

    És a második mód - a "PCI-eszközök" részben válassza ki az "Ismeretlen eszközök" alszakaszt. Itt rögtön 3 "problémás" eszközt látott a program és ezek közül egyet, csak az alaplapot: Asus P5KPL-AM EPU-t.

    Jobb, ha megnézi a videokártya gyártóját és modelljét a "PCI-eszközök" részben. A listában keresse meg a „Kijelzővezérlő” alszakaszt:

    A példa azt mutatja, hogy a kártya gyártója az NVIDIA, a modell pedig GeForce GT 430.

    Tehát megtanultuk a szükséges adatokat, és most meg fogjuk keresni a sofőrt.

    Eszközgyártók oldalára keresünk drivert.

    Megállapítottuk, hogy az illesztőprogram hiányzik, valószínűleg valamelyik alaplapi eszközhöz, vagy esetleg valamilyen kifejezetten az alaplaphoz készült programhoz. Az alaplap gyártója az Asus, a példámban szereplő modell pedig P5KPL-AM EPU. Mivel a gyártó az Asus, ezért az Asus hivatalos weboldalán fogunk keresni.

    Részletesen leírjuk, hogyan lehet megkeresni az eszköz gyártójának hivatalos webhelyét és letölteni az illesztőprogramokat onnan. Röviden: meg kell nyitnia egy keresőt Google rendszer, írja be oda a gyártó nevét, és nyissa meg az első webhelyet a keresési eredmények között. Ezután lépjen a "Szolgáltatás" vagy a "Támogatás" szakaszba, és adja meg az eszköz modelljét, például:

    Az illesztőprogramok mellett ügyeljen a "Segédprogramok" szakaszra (a fenti képen látható listában), mert néha az "Identified Device" valamiféle speciális program az alaplaphoz, amely nincs telepítve. Jobb, ha telepíti a webhelyen található teljes alaplapkészletet, hogy ellenőrizze, ez volt-e a probléma.

    Ez a példa illesztőprogramok keresését mutatja be az alaplaphoz. Ha telepíti az összes illesztőprogramot és segédprogramot, akkor az eszközkezelőből az „Ismeretlen eszköz” el kell tűnnie.

    Most keressük meg a videokártya illesztőprogramját. Az Aida64 és Sysinfo Detector programokból vett adatok alapján a videokártya gyártója NVIDIA, modellje pedig GeForce GT 430. Mivel a gyártó az NVIDIA, ezért ennek a cégnek a hivatalos weboldalát keressük ugyanabban Google-n keresztül:

    Az oldalon azonnal látjuk az „Illesztőprogramok” részt és benne az „Illesztőprogramok letöltése” elemet. Nyitunk:

    Megnyílik egy ablak, ahol meg kell adnia a videokártya adatait. Példámban a termék típusa „GeForce”, ha a modell GeForce GT 430, akkor a terméksorozat „GeForce 400 Series”. Itt nem nehéz eligazodni. Ezután a "Termékcsalád" listában válassza ki az adott modellt - "GeForce GT 430". És továbbra is csak a számítógépre telepített Windows verziót és az illesztőprogram nyelvét kell kiválasztani. Ezután kattintson a "Keresés" gombra:

    Megnyílik a megfelelő illesztőprogram letöltésének oldala. Kattintson a "Letöltés most" gombra:

    A következő oldalon elfogadjuk a szerződés feltételeit, és rákattintunk az "Elfogadás és letöltés" gombra:

Ugyanígy elvileg bármilyen eszközhöz letölthet illesztőprogramot, ismerve annak gyártóját és modelljét. Csak meg kell találnia a gyártó hivatalos webhelyét, és ott meg kell adnia a modellt.

Végső megoldásként, ha például nem talál illesztőprogramokat a hivatalos webhelyen, akkor más webhelyeken is megkeresheti őket a Google kereső Példa kérésre: „driver for Asus P5KPL-AM EPU”. Az Asus P5KPL-AM EPU helyett ennek megfelelően meg kell adnia annak az eszköznek a gyártóját és modelljét, amelyhez illesztőprogramokat keres.

Nos, összefoglalva megjegyzem, hogy ha Windows 8 és régebbi rendszert használ, akkor valószínűleg nem lesz problémája az illesztőprogramokkal. Ezek a rendszerek a legtöbb esetben automatikusan telepítik az összes illesztőprogramot közvetlenül a Windows telepítése után. Több laptopra próbáltam újratelepíteni a Windows 8.1-et és a Windows 10-et, és mindegyikre automatikusan feltelepült az összes driver, aminek következtében nem kellett magam keresgélnem.

Ezt a cikket befejezettnek tekintem. Most már megtalálhatja a megfelelő illesztőprogramot az eszköz kódja vagy a gyártója és modellje alapján. Hadd emlékeztessem Önt arra, hogy szüksége lehet ilyen illesztőprogram-keresési lehetőségekre, ha önállóan választotta ki a számítógép összetevőit, vagy módosított néhány részletet egy készen megvásárolt számítógépen.

Lehetőség van az illesztőprogramok automatikus telepítésére is a számítógépre speciális programok segítségével. Ezt a lehetőséget egy külön cikk ismerteti:

Minden jót! Találkozunk a többi bejegyzésben :)

Ma megnézzük:

Számos oka lehet annak, hogy miért van szüksége személyi számítógépre. Ez nem mindig történik meg az illesztőprogramok automatikus kiválasztásával rendelkező programokkal.

Ezen kívül mit hangvezérlő szükséges a számítógépéhez, akkor azt is tudnia kell, hogy miért romlik a számítógép hangeszközei.

Az operációs rendszer nem észleli a hangkártyát

Tekintsük azokat az eseteket, amikor az operációs rendszer nem képes önállóan kiválasztani az illesztőprogramot a személyi számítógép hangkártyájához. A rendszer újratelepítése és további újraindítása során ezt a hangjelzések hiánya határozza meg.

Az ilyen helyzet létrejöttének oka lehet a megállapított hangberendezés személyi számítógépen, ami: ritka; a kiadás dátuma régebbi, mint a telepített operációs rendszer.
Ebben az esetben manuálisan kell telepítenie a hangvezérlőt. Többféleképpen is meghatározhatja a megfelelő hangillesztőprogramot a számítógépéhez.

A Microsoft segít a hangillesztő azonosításában

A számítógép operációs rendszere segítséget nyújt a megfelelő hangmeghajtó kiválasztásában. A kurzort a "Sajátgép" mappába kell irányítani, kattintson jobb gomb egér (RMB), majd a "Tulajdonságok", majd a "Hardver". Megkönnyítheti: a „Sajátgép” mappában kattintson a jobb gombbal, lépjen az eszközkezelő részre.

Megnyílik egy lista az eszközkezelőben, válassz hangkártyát (nincs driver, felkiáltójel van mellette). Kiválasztjuk a sort, a tetején van az "Illesztőprogram frissítése", majd az "Illesztőprogramok keresése" elem, amikor minden pozitív eredménnyel történik, megjelenik a "Telepítés" ablak.

Manuális lehetőség hangmeghajtó keresésére

Ha a hangillesztőprogram automatikus kiválasztása meghiúsul, meg kell próbálnia manuálisan megtalálni, ehhez bármelyik keresőmotorhoz megyünk (Google, Yandex). Ezután a keresőmezőbe írja be a számítógépen lévő hangeszközének nevét, és adja hozzá a „+ drivert”, a megnyíló ablakban válassza ki a számunkra szükséges eszközt.

Milyen illesztőprogram szükséges egy személyi számítógéphez? Ez könnyen megtekinthető az Eszközkezelő lapon. Javasoljuk, hogy töltse le az illesztőprogramot a telepített alaplap gyártójának hivatalos webhelyéről (mikor hangkártya beágyazva). Azt is javasoljuk, hogy töltse le az illesztőprogramot egy olyan webhelyről, amely a számítógép hardverének frissítésére szakosodott.

Az illesztőprogram letöltése után visszatérünk az „Eszközkezelő” fülre, nyissa meg az „Illesztőprogramok keresése a számítógépen” elemet, jelölje meg a mentési helyet, „Telepítés”.

A hangvezérlő telepítése a programmal

Vannak esetek, amikor a számítógép-felhasználó számára nehéz manuálisan és az operációs rendszer használatával megtalálni a hangillesztőt, akkor egy speciális programot kínálnak a kereséshez. Jelenleg számos program létezik erre a célra: Driver Checker, Sam Drivers, Device Doctor és egyéb programok.

Az ilyen típusú programok interfészével való munkavégzés egyértelmű, intuitív szinten.

A szakértők tanácsai szerint különböző esetekben meg kell határoznia a számítógép hangillesztőjét:

  • Határozza meg a telepített hangeszköz modelljét a számítógépen (olvassa el a számítógépen). Lehet, hogy a hang hiánya a nem telepített berendezéseknek köszönhető, ami megtiltja annak használatát a BIOS-ban.
  • Ha a hang be van építve a PC-be, csak az "alaplap" gyártójának weboldaláról javasolt letölteni a hangvezérlőt, vagy abban az esetben külön telepítés hangkártyát, hogy leírja róla a chip jelölést. Keresse meg a kívánt illesztőprogramot a jelöléskereső rendszeren keresztül.
  • Javasolt az AIDA 64 program használata, nem csak a szükséges hangmeghajtót mutatja, hanem mindent telepített berendezések, meghatározhatja a chip jelölését.

Tudja meg, hogyan találja meg a megfelelő illesztőprogramokat a számítógépéhez csatlakoztatott eszközök könnyű futtatásához.

Annak ellenére, hogy már az udvaron a 21. század, és szinte mindenkinek van számítógépe, sokan a technika valamiféle sérthetetlen csodájaként kezelik. Sőt, szilárdan hisznek abban, hogy nekik van a legjobb PC-jük (mert az eladó azt mondta :)), az ilyen felhasználók nem telepítenek rá semmilyen programot, és nem vesznek fáradságot, hogy ellenőrizzék, megfelelően működik-e a számítógép...

Miért vagyok? Ráadásul a közelmúltban olyan esettel kellett szembesülnöm, amikor néhány elvtársnak majdnem másfél évig számítógépvásárlás után nem volt normális videokártya-illesztőprogramja !!! A panasz a szokásos volt - "" :) És miért ne lassítana, ha nincs sofőr ?!

Általánosságban elmondható, hogy ma ellenőrizzük a számítógépeinket, hogy megvan-e az összes szükséges illesztőprogram bennük ...

Mi az illesztőprogram és hogyan kell telepíteni?

Az illesztőprogram olyan szoftverösszetevők halmaza, amelyek biztosítják a számítógép normál interakcióját a hozzá csatlakoztatott berendezésekkel és a bővítőkártyákkal. Más szóval, ez egy speciális segédprogram, amely képes parancsokat átvinni a perifériákról a processzorra és fordítva.

Illesztőprogram nélkül a csatlakoztatott berendezések vagy egyáltalán nem működnek (nyomtatók, szkennerek és egyéb irodai berendezések), vagy működnek, de nem a legoptimálisabb módban (videokártyák, lapkakészletek stb.). Ezért azért normál működés Nem elég csak a rendszert újratelepíteni egy PC-hez, fontos, hogy minden összetevőjéhez meg kell találni az illesztőprogramokat!

Az illesztőprogram három változatban szállítható:

  1. telepítés EXE fájl(vagy MSI);
  2. grafikus héj tömeges kiválasztási és telepítési lehetőséggel;
  3. könyvtárak és szolgáltatásfájlok halmaza, kiegészítve egy INF fájllal.

Az illesztőprogramok szállításának első lehetősége leggyakrabban az interneten és a megvásárolt berendezéshez mellékelt telepítőlemezeken található. Elég letölteni (vagy lemezen megnyitni) és lefuttatni az EXE fájlt, és megjelenik előttünk a Telepítővarázsló, amivel lépésről lépésre konfigurálhatunk mindent. Ebben az esetben az illesztőprogram telepítése nem bonyolultabb, mint bármely program telepítése.

A második szállítási lehetőség a különféle összeállításokkal rendelkező lemezeken található, amelyek több különböző illesztőprogramot tartalmaznak (például az alaplap illesztőprogramjai vagy az úgynevezett illesztőprogram-csomagok). Az ilyen összeállítások általában lehetővé teszik az egyes (vagy egyszerre) meghajtók szelektív telepítését, és nem bonyolultabbak, mint a szokásos telepítők, de nagyok.

Az illesztőprogram harmadik módon történő telepítése a legnem nyilvánvalóbb. Az ilyen illesztőprogramok gyakran megtalálhatók a régi technológiához, és nem tartalmaznak grafikus telepítőt, de tartalmaznak egy fájlt (néha többet is) INF kiterjesztéssel, amely tartalmazza a könyvtárcsomag összes telepítési útvonalát a csatlakoztatott berendezés működéséhez:

Az illesztőprogram ilyen módon történő telepítéséhez meg kell hívnia az "Eszközkezelő" helyi menüjét ("Számítógép" ikon - RMB - "Tulajdonságok" (régebbi rendszereken a "Hardver" lap)) ismeretlen eszköz majd válassza az "Illesztőprogramok frissítése" lehetőséget.

Megnyílik egy ablak, ahonnan a következőképpen kell mennünk (a megfelelő gombokra kattintva): "Illesztőprogramok keresése ezen a számítógépen" - "Válasszon illesztőprogramot a már telepített listából" - "Telepítés lemezről", majd kattintson a "Tallózás" gombra, és adja meg a kívánt INF fájl helyét:

Az INF fájl kiválasztásának megerősítése után egy üzenet jelenik meg a sikeres telepítésről, vagy arról, hogy a kiválasztott fájl nem megfelelő, és ki kell választania egy másikat (ha van ilyen). Ha egyik INF fájl sem teszi lehetővé a megfelelő illesztőprogram telepítését, akkor alternatív szoftvert kell keresnie, vagy akár hardvert vagy rendszert kell cserélnie, hogy az eszköz kompatibilis legyen a számítógépével.

Nos, most, hogy tudja, mi az illesztőprogram, miért van szüksége rá, és hogyan kell telepíteni, ideje kitalálni, hogyan találhat illesztőprogramokat.

Keresés eszköznév szerint

Minden eszköznek (ha nem valami névtelen kínai kézművességről van szó) saját neve van. Ennek a névnek és a rendszer verziójának ismeretében a legtöbb esetben meg tudja fogalmazni a helyeset keresési lekérdezés belépni keresőmotor. Például: "vezető Canon nyomtató IP1500 Windows 7 64 bites" vagy "Radeon HD 8700M Windows 8 illesztőprogram" esetén.

A keresési eredmények olyan webhelyeket tartalmaznak, amelyekről letöltheti a szükséges illesztőprogramot. Azonban nem minden oldal tölthető le ingyen! A pénzügyek vagy a rossz minőségű szoftverek telepítése miatti felesleges aggodalmak elkerülése érdekében azt javaslom, hogy használjon bevált orosz nyelvű portált:

Ez a webhely az egyiket tartalmazza teljes gyűjtemények illesztőprogramok az internet minden részéről, több mint 300 TB összmennyiséggel! Itt kereshet illesztőprogramot eszköztípus szerint (fő lista "Hardverkategóriák"), és gyártó neve alapján (betűs index az oldal tetején).

A szükséges összetevőt tartalmazó oldalon számos letöltési lehetőség lesz. Ügyeljen a "Programtípus" mezőkre (a "driver" szónak ott kell lennie, különben csak letölthet egy szolgáltató segédprogramot vagy beépülő modult), "Leírás" (azt is írja, hogy ez vagy az a fájl mire való), és a "Rendszer" is. Magát a drivert a leírás utáni linkről tudod letölteni, ezzel megerősítve, hogy nem vagy robot :)

Az illesztőprogramok speciális tárolókban való keresése mellett néha érdemes a fejlesztői webhelyeken is keresni! Például a népszerű videokártyák illesztőprogramjait gyakran frissítik és letöltik legújabb verzió Gyakran csak a hivatalos webhelyen teheti meg. Ezért adok egy kis listát azokról a linkekről, amelyek letölthetik az illesztőprogramokat a leggyakoribb téveszmékből.

Videokártyák:

Hangkártyák:

Irodai felszerelés:

Ha megbízható forrásból tölt le illesztőprogramokat, nem kell attól tartanod, hogy nem fognak működni vagy vírusokat tartalmaznak. A hivatalos webhelyekről történő letöltés előnye továbbá, hogy garantálja, hogy a legfrissebb és legfrissebb illesztőprogramokat tölti le, ami sajnos nem garantálható, ha harmadik féltől származó forrásokból tölt le.

Keresés eszközazonosító alapján

Az illesztőprogram keresése az eszköz neve alapján meglehetősen egyszerű feladat. Viszont ha maga a készülék ismeretlen gyártótól származik, akkor a nevét sem tudhatjuk! Ha ilyen helyzettel szembesül, akkor egy alternatív keresési módszer segít Önnek - a berendezés azonosítója alapján.

Minden eszköz, belül is rendszerblokk, bár külső kábellel csatlakozik, saját azonosítója vagy azonosítója van a rendszerben. A már jól ismert "Eszközkezelőben" felismerhetjük, ha a kívánt komponens "Tulajdonságait" hívjuk, a "Részletek" fülre lépve a "Tulajdonság" legördülő menüben kiválasztjuk a "Hardverazonosító" vagy az "ID" elemet. lista:

Kezdve ezzel Windows Vista, Az azonosító karakterlánc értékét a helyi menü segítségével a vágólapra másolhatja. A korábbi verziókban nincs másolás funkció, így az azonosítót kézzel kell átírni.

Most már a szükséges eszköz azonosítójának ismeretében speciális szolgáltatások segítségével találhatunk hozzá megfelelő illesztőprogramokat. Itt is segítségünkre lehet a már említett Driver.ru:

Ehhez kattintson a jobb felső sarokban található "Keresés" gombra, és a megnyíló oldalon lévő mezőbe illessze be a másolt eszközazonosítót, majd feltétlenül jelölje be a "Keresés azonosító alapján" elemet, és kattintson a "Keresés" gombra alatta. a beviteli mezőt. A megnyíló eredmények között könnyen megtalálhatja a rendszerének megfelelő illesztőprogramot, és azt letöltheti.

Hasonlóan működik még számos nagyobb, illesztőprogram-kereső portál. A legjobbak a DevID.info és a DevID.drp.su. Egyébként mindkét szolgáltatás saját kliensekkel rendelkezik, amelyek lehetővé teszik a szükséges illesztőprogramok automatikus felismerését és telepítését. Az ilyen speciális szoftverekről a továbbiakban fogunk beszélni.

Programok illesztőprogramok keresésére

Fentebb megvizsgáltuk azokat az eseteket, amikor manuálisan kell megkeresnie az illesztőprogramokat. Ehhez azonban vannak speciális programok is, amelyek lehetővé teszik, hogy mindent automatikusan megtaláljon és letölthessen. Mindegyik két típusra osztható.

Az első típusú programok általában kicsi (legfeljebb tíz megabájtos) kliensmodulok, amelyek lehetővé teszik, hogy átvizsgálja számítógépét elavult vagy eltávolított illesztőprogramok után, majd letöltse az internetről és néhány kattintással telepítse azokat. Oldalunkon az ilyen jellegű programok kiemelkedő képviselője:

A többség azonban hasonló döntéseket van egy nagy mínusz: naponta csak néhány illesztőprogramot tölthet le ingyen. Ha túlléped a limitet, akkor vagy teljesen letiltják a letöltést, vagy minimálisra csökkentik a letöltési sebességet, így végül mégis prémium fiókot veszel.

Emiatt az ilyen típusú programok csak egyetlen illesztőprogram-frissítéshez használhatók ingyenesen, kötegelt telepítésre azonban nem frissen telepített Windowson. Ha mindent egyszerre akar, akkor a választás a driver csomagok!

Driver csomag (angol nyelvből." driver csomag A "-" illesztőprogramok készlete ") leggyakrabban egy offline adatbázis készlete kiválasztott illesztőprogramokkal és egy shell programmal. A program átvizsgálja a számítógépét, majd felajánlja számos illesztőprogram telepítését vagy frissítését. Csak szüksége van rá hogy megjelölje a szükségeseket és erősítse meg választását.A telepítés automatikusan megtörténik!

A Runet hatalmas kínálatában a legteljesebb és legnépszerűbb illesztőprogram-csomag a következő:

A mai napig az illesztőprogram-csomag maximális szállítási csomagjának mérete meghaladja a 10 gigabájtot. Ez nem olyan lenyűgöző, mint a Driver.ru 30 terabájtos adatbázisa, de ennek ellenére ilyen számú illesztőprogram elég ahhoz, hogy a rendszer újratelepítése után ne kelljen keresnie telepítőlemezek ami vele járt alaplap, videokártya és számítógépe vagy laptopja egyéb összetevői.

Ha nem szeretne 10 gigabájtnyi illesztőprogramot letölteni, akkor letöltheti a DriverPack Online Lite verzióját. Ez csak egy szkennerprogram, amely meghatározza a szükséges illesztőprogramokat, csatlakozik egy online adatbázishoz, és csak azt teszi lehetővé, hogy letöltse azt, amire szüksége van.

következtetéseket

Manapság nem nehéz meghajtókat találni egy számítógéphez és laptophoz. Azonban, mint minden programnak, időről időre frissítésre van szüksége, amiről sokan megfeledkeznek. És mellesleg a frissítések sokat segíthetnek!

Így például tavasz óta időről időre megjelent a "" valamilyen DLL-könyvtárra vonatkozó panaszokkal. Egy ideig tűrtem ezt az állapotot, de aztán elfáradtam, és úgy döntöttem, hogy megoldást keresek a problémára. Kiderült, hogy a videókártya illesztőprogramjának hibája volt a tettes. A driver frissítése után minden jobb lett, és több hónapja normális a "repülés" :)

A fentiek morálja a következő: ha hirtelen "meghibásodás" jelentkezik a számítógépén, vagy a számítógép megvásárlása óta észlelték őket / a Windows újratelepítése, keresse meg a kritikus illesztőprogram-frissítéseket fontos összetevői a számítógépét. Ha vannak ilyenek, próbálja meg telepíteni őket, és lehet, hogy a rendszer újra megfelelően fog működni!

P.S. A cikk szabadon másolható és idézhető, feltéve, hogy a forrásra mutató nyílt aktív hivatkozást feltüntetik, és Ruslan Tertyshny szerzőségét megőrzik.

Valószínűleg mindenkinek, aki legalább egyszer újratelepítette az operációs rendszert, felmerült egy népszerű kérdés: hogyan lehet megtudni, hogy mely illesztőprogramokat kell telepíteni a számítógépre a stabil működéshez? Ez az a kérdés, amelyre ebben a cikkben megpróbálunk választ adni. Értsük meg részletesebben.

Elméletileg minden olyan eszközhöz szoftvert kell telepítenie, amely ezt igényli számítógépen vagy laptopon. Idővel a fejlesztők operációs rendszer folyamatosan bővítve a Microsoft illesztőprogramjainak adatbázisát. És ha be Windows idők Az XP-nek szinte az összes illesztőprogramot manuálisan kellett telepítenie, de az újabb operációs rendszerek esetében sok illesztőprogram már automatikusan telepítésre kerül. Vannak azonban olyan eszközök, amelyekhez a szoftvert manuálisan kell telepíteni. Számos olyan módszert ajánlunk figyelmébe, amelyek segítenek a probléma megoldásában.

1. módszer: A gyártók hivatalos weboldalai

Az összes szükséges illesztőprogram telepítéséhez telepítenie kell a szoftvert a számítógép összes kártyájához. Ez az alaplapra, a videokártyára és a külső kártyákra vonatkozik ( hálózati adapterek, hangkártyák stb.). Ugyanakkor be "Eszközkezelő" nem biztos, hogy azt jelzi, hogy a hardverhez illesztőprogramok kellenek. Az operációs rendszer telepítésekor egyszerűen az eszköz szabványos szoftverét használták. Az ilyen eszközök szoftverét azonban eredetileg kell telepíteni. A telepített szoftverek nagy része az alaplapra és az abba integrált chipekre esik. Ezért először megkeressük az összes illesztőprogramot az alaplaphoz, majd a videokártyához.

  1. Nézze meg az alaplap gyártóját és modelljét. Ehhez nyomja meg a gombokat Win+R a billentyűzeten és a megnyíló ablakban írja be a parancsot cmd parancssor megnyitásához.
  2. BAN BEN parancs sor a parancsokat egyenként kell beírni:
    wmic alaplapot kap a gyártótól
    wmic alaplap termék beszerzése
    Ne felejtsd el megnyomni "Belép" minden parancs beírása után. Ennek eredményeként a képernyőn látni fogja az alaplap gyártóját és modelljét.
  3. Most keressük a gyártó weboldalát az interneten, és menjünk rá. A mi esetünkben ez az.
  4. Az oldalon keresünk egy keresőmezőt vagy a hozzá tartozó gombot nagyító formájában. Általános szabály, hogy erre a gombra kattintva egy keresőmező jelenik meg. Ebben a mezőben meg kell adnia az alaplap modelljét, és kattintson rá "Belép".
  5. A következő oldalon megjelenik a keresés eredménye. Ki kell választania az alaplapot a listából. Általában több alszakasz található a táblamodell neve alatt. Ha van szakasz "Sofőrök" vagy "Letöltések", kattintson egy ilyen szakasz nevére, és lépjen rá.
  6. Bizonyos esetekben a következő oldal szoftver alszakaszokra oszlik. Ha igen, akkor keressen és válasszon egy alszakaszt "Sofőrök".
  7. A következő lépés az operációs rendszer és a bitmélység kiválasztása a legördülő listából. Kérjük, vegye figyelembe, hogy bizonyos esetekben eltérések lehetnek az illesztőprogramok listáiban, ha eltérő operációs rendszert választ. Ezért ne csak a telepített rendszert tekintse meg, hanem az alábbi verziókat is.
  8. Az operációs rendszer kiválasztása után megjelenik az összes olyan szoftver listája, amelyre az alaplapnak szüksége van a számítógép más összetevőivel való együttműködéshez. Mindegyiket le kell töltenie és telepítenie kell. A letöltés automatikusan megtörténik a gombra kattintás után, Letöltés vagy a megfelelő ikonra. Ha az archívumot az illesztőprogramokkal együtt töltötte le, akkor a telepítés előtt győződjön meg róla, hogy az összes tartalmát egy külön mappába csomagolja ki. Ezt követően telepítse a szoftvert.
  9. Miután telepítette az összes szoftvert az alaplaphoz, térjünk át a videokártyára.
  10. Nyomja meg újra a billentyűkombinációt Win+Rés a megjelenő ablakban írja be a parancsot "dxdiag". Kattints a folytatáshoz "Belép" vagy gombot "RENDBEN" ugyanabban az ablakban.
  11. A diagnosztikai eszköz megnyíló ablakában lépjen a lapra "Képernyő". Itt megtudhatja grafikus adaptere gyártóját és típusát.
  12. Ha van laptopja, akkor a lapra is fel kell lépnie "Átalakító". Itt láthatja a második különálló grafikus kártyával kapcsolatos információkat.
  13. Miután megtudta a videokártya gyártóját és modelljét, meg kell látogatnia a cég hivatalos webhelyét. Itt található a főbb grafikus kártyagyártók letöltési oldalainak listája.
  14. Ezeken az oldalakon meg kell adnia a videokártya modelljét és az operációs rendszert bitnessel. Ezt követően letöltheti és telepítheti a szoftvert. Kérjük, vegye figyelembe, hogy célszerű a grafikus adapter szoftverét a hivatalos webhelyről telepíteni. Csak ebben az esetben speciális komponenseket telepítenek, amelyek növelik a videokártya teljesítményét és lehetővé teszik a finomhangolást.
  15. A grafikus adapter és az alaplap szoftverének telepítésekor ellenőriznie kell az eredményt. Erre nyitunk "Eszközkezelő". Nyomja meg a gombok kombinációját GyőzelemÉs "R" a billentyűzeten, és a megnyíló ablakban írja be a devmgmt.msc parancsot. Ezt követően megnyomjuk "Belép".
  16. Ennek eredményeként egy ablakot fog látni "Eszközkezelő". Nem tartalmazhat azonosítatlan eszközöket, berendezéseket, amelyek neve mellett kérdő ill felkiáltójelek. Ha ez a helyzet, akkor az összes szükséges illesztőprogramot telepítette. És ha vannak ilyen komponensek, javasoljuk az alábbi módszerek valamelyikét.

2. módszer: Automatikus szoftverfrissítési segédprogramok

Ha túl lusta az összes szoftver kézi kereséséhez és telepítéséhez, akkor érdemes közelebbről megvizsgálnia azokat a programokat, amelyek ezt a feladatot megkönnyítik. Egy külön cikkben áttekintettük a legnépszerűbb programokat az automatikus kereséshez és szoftverfrissítéshez.

A leírt segédprogramok bármelyikét használhatja. De továbbra is javasoljuk a DriverPack Solution vagy a Driver Genius használatát. Ezek a programok a legnagyobb illesztőprogram-adatbázissal és támogatott hardverrel. A DriverPack Solution használatáról már beszéltünk.

Ezért elmondjuk, hogyan találhat meg és telepíthet minden illesztőprogramot a Driver Genius programmal. Szóval, kezdjük.

  1. Elindítjuk a programot.
  2. Azonnal rajta találod magad kezdőlap. Középen egy zöld gomb található "Ellenőrzés indítása". Bátran szorítunk rá.
  3. Megkezdődik a számítógép vagy laptop szkennelési folyamata. Néhány perc múlva megjelenik az összes olyan eszköz listája, amelyhez szoftvert kell letöltenie és telepítenie kell. Mivel nem konkrét illesztőprogramot keresünk, minden elérhető elemet ellenőrizünk. Ezt követően nyomja meg a gombot "További" a program ablakának alján.
  4. A következő ablakban megjelenik azoknak az eszközöknek a listája, amelyekhez az illesztőprogramokat már frissítették ezzel a segédprogrammal, valamint azokat az eszközöket, amelyekhez még le kell tölteni és telepíteni kell a szoftvert. Az utolsó eszköztípust a név mellett szürke kör jelöli. A megbízhatóság érdekében csak nyomja meg a gombot "Mind letöltése".
  5. Ezt követően a program megpróbál csatlakozni a szerverekhez, hogy letöltse a szükséges fájlokat. Ha minden jól megy, akkor visszatér az előző ablakba, ahol a megfelelő sorban nyomon követheti a szoftver letöltésének menetét.
  6. Az összes összetevő letöltése után az eszköz neve melletti ikon zöldre vált, és egy lefelé mutató nyíl látható. Sajnos az összes szoftver egyetlen gombbal történő telepítése nem fog működni. Ezért válassza ki a sort a szükséges eszközzel, és nyomja meg a gombot "Telepítés".
  7. Opcionálisan hozzon létre egy visszaállítási pontot. A következő párbeszédpanelen erre kérni fog. Válassza ki a döntésének megfelelő választ.
  8. Ezt követően megkezdődik a kiválasztott eszköz illesztőprogram-telepítési folyamata, amely során szabványos párbeszédpanelek jelenhetnek meg. Ezekben csak el kell olvasnia a licencszerződéseket, és meg kell nyomnia a gombokat "További". Ebben a szakaszban nem lehet problémája. Egy adott szoftver telepítése után előfordulhat, hogy a rendszer felkérést kap a rendszer újraindítására. Ha ilyen üzenet jelenik meg, javasoljuk, hogy tegye meg. Ha az illesztőprogram sikeresen telepítve van, Driver program A Genius a felszereléssel ellátott sor mellett zöld pipa lesz.
  9. Ezért telepítenie kell a szoftvert a listában szereplő összes berendezéshez.
  10. A végén ismét átvizsgálhatja a számítógépet, hogy meggyőző legyen. Ha az összes illesztőprogramot telepítette, hasonló üzenetet fog látni.
  11. Ezenkívül ellenőrizheti, hogy minden szoftver telepítve van-e "Eszközkezelő" az első módszer végén leírtak szerint.
  12. Ha továbbra is vannak azonosítatlan eszközök, próbálkozzon a következő módszerrel.

3. módszer: Online szolgáltatások

Ha az előző módszerek nem segítettek, reménykedni kell ebben a lehetőségben. Jelentése az, hogy manuálisan fogunk keresni egy szoftvert egyedi eszközazonosító alapján. Az információk ismétlődésének elkerülése érdekében javasoljuk, hogy ismerkedjen meg leckénkkel.

Ebben részletes információkat talál arról, hogyan találhatja meg az azonosítót, és mi a teendő vele. Valamint útmutató a két legnagyobb online járművezető-kereső szolgáltatás használatához.

4. módszer: Az illesztőprogram kézi frissítése

Ez a módszer a fentiek közül a leghatékonyabb. Nagyon ritka esetekben azonban ő tud segíteni a szoftver telepítésében. Íme, mire van szükség.


Ezek a legtöbbek hatékony módszerek határozza meg azokat az eszközöket, amelyekre telepítenie kell a szoftvert. Reméljük, hogy a javasolt lehetőségek egyike segíteni fog a probléma megoldásában. Ne felejtse el időben frissíteni eszközei szoftverét. Ha nehézségei vannak az illesztőprogramok megtalálásával vagy telepítésével, írja meg a megjegyzésekben. Együtt mindent megoldunk.

Mint tudjuk, hardver szinten modern számítógép funkcionális egységekből áll, amelyek bizonyos elektronikus alkatrészek. Felhasználók széles köre személyi számítógépek ismeri az olyan funkcionális blokkokat, mint: processzor, memória, videokártya, hangkártya, HDD, I / O vezérlő (a billentyűzet, egér, joystick, USB adathordozók (flash meghajtók) működését biztosító), nyomtató, szkenner és néhány más. Fizikai szinten ezek az eszközök speciális buszokon és protokollokon keresztül kölcsönhatásba lépnek egymással, létrehozva kölcsönhatásuk kombinációját a műveletek szimbiózisával, ami általános esetben a számítógép működését jellemzi. De a számítógép csak egy gyűjtemény Elektromos alkatrészek? Természetesen nem, mert az egyik fő hardver modul, CPU, gépi utasítások végrehajtására készült, amelyek sorozataiból, mint tudjuk, programok állnak, ennek fényében érdemes még egy szintet megemlíteni - a szoftvert. Most térjünk vissza a nem is olyan távoli múltba; a számítógép-korszak kezdeti napjaiban a programkód (amelyet gyakran közvetlenül gépi kódokban/alacsony szintű nyelveken írtak) könnyen kommunikálhatott közvetlenül a hardverrel, mivel a hardver architektúrája viszonylag egyszerű volt. Az idő múlásával azonban a technológiák fejlődtek, a hardver és a szoftver szintek egymással összefüggően fejlődtek, és az első az eszközök sokféleségének, a második pedig a hatalmas változatosságnak a megjelenéséhez vezetett. szoftver modulok, ami később az operációs rendszerek megjelenéséhez vezetett. Az operációs rendszer kulcsfontosságú mérföldkő volt a számítástechnikai ipar fejlődésének történetében, hiszen többek között ez volt az, amely összekötőként, egyfajta koordinátorként (diszpécserként) biztosította az eszközök és programok közötti interakciót: elfogadta. a szoftverréteg (például felhasználói programok) kérései adatcserére ezzel vagy azzal az eszközzel és fordítva, vagyis valójában interfészként szolgált a hardver és a szoftver részek között. Az operációs rendszerek sem álltak meg, és ha eleinte az operációs rendszer és a számítógépes hardver interakciója viszonylag egyszerű volt, akkor az architektúra bonyolultabbá válásával és új hardverképességek bevezetésével az operációs rendszer felépítése is bonyolultabbá vált. Az operációs rendszerek fejlesztése során a fejlesztők igyekeztek olyan kódot létrehozni, amely teljes interakciót biztosít a piacon elérhető legnagyobb számú hardvereszközzel. Mindazonáltal egy ilyen megközelítés, ahogy az x86-os személyi számítógépek architektúrája egyre összetettebbé vált, egy külön szoftverréteg koncepciójának kialakulásához vezetett, amelyet meghajtónak neveznek, amely egy adott osztály/típusú eszközzel való interakcióért felelős. Az illesztőprogram koncepciója annyira sikeresnek bizonyult, hogy a fő irányon - a fizikai eszközök támogatásán kívül - a logikai / virtuális eszközök egyes kategóriáira is extrapolálták. Ebben a cikkben arról fogunk beszélni, hogy mi ez windows driver.

Elmélet

Távolodjunk el egy kicsit a sofőr fogalmától, és nézzük az általános elméletet. Ahhoz, hogy megértsük, mi az illesztőprogram egy rendszerben, először át kell mennie egy minimális elméleten az általános x86-64 architektúráról. Miért az x86, igen, mert ezt a platformot: a) én választottam kísérletezésre, b) a legelterjedtebb az üzemeltetés kliens szegmensében Windows rendszerek. Az ebben a részben hangoztatott funkciók megértést adnak mind magának az operációs rendszernek, mind ennek megfelelően az illesztőprogramoknak a munkájának számos aspektusáról.

Processzor működési módok

Bármely operációs rendszer belső felépítése azon platform hardvertulajdonságain alapul, amelyen fut. A központi láncszem a processzor, az x86-64 architektúrájú processzorok többféle működési móddal rendelkeznek:

  • Valódi mód;
  • Virtuális mód (Virtuális mód);
  • Védett mód;
  • Hosszú mód (Long mode).

Az x86 architektúrájú személyi számítógépek fejlődésének korszakának hajnalán a processzor valós módban működött. Ennek ellenére a valós mód fokozatosan a múlté lett, hiszen számos olyan funkciója volt, amelyek lehetetlenné tették a technológiák továbbfejlesztését: 16 bites adatbusz és 20 bites címbusz (címzési korlátozás), szegmenscímzés 64 kilobájt szegmensméret (a címterület használatának kényelmetlensége), a címterülethez való hozzáférési korlátozások hiánya. A meglévő korlátozások megszüntetése érdekében egy védett módot fejlesztettek ki, amely számos, az operációs rendszerek fejlesztése szempontjából fontos funkciót biztosított: "multitasking", egy védelmi mechanizmus (hozzáférés a privilegizált parancsokhoz), amely biztosítja a különböző szakaszok hozzáférésének ellenőrzését. kódok (programok) egymáshoz, a virtuális memória. Védett módban Intel processzorok Az x86 architektúrák úgynevezett védelmi gyűrűket vagy jogosultsági szinteket valósítanak meg. Négy van belőlük: 0 (legjobb kiváltságos), 1, 2 és 3 (legkevésbé kiváltságos). A jogosultsági szintek célja, hogy megvédjék a kernel módú kódot a felhasználói programoktól és a felhasználói programokat egymástól, mivel ez károsodáshoz vezethet. A Windows operációs rendszer azonban nem használja az összes felsorolt ​​szintet, közülük csak kettő vesz részt benne: a 0 és a 3.
Az érthetőség kedvéért bemutatunk egy egyszerűsített diagramot a Windows-összetevők interakciójáról:

Mint látható, a Windows operációs rendszer belső környezete két részre oszlik, és két végrehajtási módot támogat:

  • Felhasználói mód- privileged mode, a hardver 3. processzor védőgyűrűjéhez társítva;
  • A kernel mód a hardver 0. processzorvédő gyűrűjéhez társított privilegizált mód;

Ez a funkció talán a legfontosabb pont a Windows belső szerkezetének megértésében: globálisan az operációs rendszer két fő részre oszlik: felhasználói módra és kernel módra.

Érdemes egyszer s mindenkorra megérteni, ráébredni és emlékezni, mert valójában nagyon sok modern operációs rendszernek ez az egyik alap-, alapfogalma.
A felhasználói módok és a kernelmódok a következő különbségekkel rendelkeznek:

  • Izolált (nem átfedő) virtuális címterek: a felhasználói mód területe az alsó részt (címek tól-ig), a kernel módú terület a felső részt (címek tól-ig);
  • Különböző kód-hozzáférési jogosultságok az erőforrásokhoz (memória, processzor, eszközök stb.).

A következő folyamatok futnak felhasználói módban:

Alrendszer Leírás
Rendszertámogatási folyamatok
  • Winlogon bejelentkezési folyamat (winlogon.exe)
  • Folyamat helyi szerver lsass hitelesítés (lsass.exe)
  • Szolgáltatásvezérlés-kezelő folyamat (services.exe)
  • Munkamenetkezelő folyamat (smss.exe)
  • Konzolfolyamat (conhost.exe)
  • Helyi munkamenet-kezelő folyamat (lsm.exe)
  • . . .
Szolgáltatási folyamatok
  • Host Process for Services (svchost.exe)
  • Spooler folyamat (spoolsv.exe)
  • WMI szolgáltatáskezelési folyamat (winmgmt.exe)
  • . . .
Alkalmazások
  • Felhasználói alkalmazások (az összes alkalmazás, amely nem tartozik a többi kategóriába).
  • Feladatkezelő (taskmgr.exe)
  • Explorer (explorer.exe)
  • Kezelőkonzol (mmc.exe)
  • . . .
Környezetvédelmi alrendszerek
  • Win32 alrendszer (csrss.exe , kernel32.dll , advapi32.dll , user32.dll , gdi32.dll , ...)
  • Linux alrendszer (lxss.sys, lxcore.sys)
  • POSIX alrendszer (psxss.exe, psxrun.exe, posix.exe, psxdll.dll)
  • OS/2 alrendszer (os2.exe, os2ss.exe, os2srv.exe)
  • WOW/WOW64 alrendszer (wow64win.dll, wow64.dll, wow64cpu.dll)
  • . . .
Interfész a kernel funkcióihoz
  • Biztosítja a vezérlés átadását a kernelnek az azt igénylő funkciókhoz. Az ntdll.dll támogatja

Kernel módban:

Alrendszer Leírás
Végrehajtó rendszer (Executive)
  • I/O menedzser
  • Folyamatkezelő
  • Szálkezelő
  • Virtuális memóriakezelő
  • Objektumkezelő
  • PnP Manager
  • Power Manager
  • Ablakkezelő
  • . . .
Kernel a rendszer számára kritikus illesztőprogramok inicializálása a rendszerindítási fázis során, a processzorok közötti szinkronizálás, a folyamatok/szálak/megszakítások ütemezése és továbbítása, a kivételek/hibák kezelése/elküldése és néhány egyéb funkció (ntoskrnl.exe , ntkrnlmp.exe , ntkrnlpa.exe , ntkrpamp .alkalmazás ).
Eszközmeghajtók fizikai/logikai/virtuális eszközmeghajtók: fájlrendszer, hálózat, lemez és egyéb illesztőprogramok.
Ablak/grafikus alrendszer (Ablakos és Grafikus Rendszer) Ablak- és grafikatámogató alrendszer, amely támogatja a grafikus funkciókat. felhasználói felület(Grafikus felhasználói felület, GUI). (win32k.sys )
Hardveres absztrakciós réteg (HAL) függetlenséget biztosít a platform hardverétől, elszigeteli a kernel összetevőit a sajátosságoktól hardver. (hal.dll )

Mivel minden operációs rendszernek egyszerűen képesnek kell lennie a hardverrel való együttműködésre, a disztribúciós készlet (telepítőkészlet / rendszerfájlok) tartalmazza a kulcsfontosságú hardverösszetevők illesztőprogramjait, amelyek nélkül a rendszer szó szerint elveszíti a hozzáférést a hardverhez az ebből eredő problémákkal együtt: nem fog képes működni, vagy egyáltalán nem megy keresztül a telepítési folyamaton. Ezek a "belső" illesztőprogramok úgynevezett beépített illesztőprogram-könyvtár formájában jelennek meg, amelyek összetétele változatról verzióra változik, a hardver fejlődésének szakaszaitól és a piaci trendektől függően. Az ebből a könyvtárból származó illesztőprogramok szükség esetén az operációs rendszer telepítési szakaszában kerülnek telepítésre, attól függően, hogy a számítógép bizonyos eszközeit észleli (azonosítja). Általánosságban elmondható, hogy a telepítés során a hardverészlelő kód észleli a számítógépre telepített eszközöket, és ellenőrzi a könyvtárában hasonló illesztőprogramokat. Azon eszközök esetében, amelyekhez rendszer-illesztőprogramok vannak, a telepítés automatikus (háttér) módban történik. Így a "kijáratnál" az operációs rendszer telepítése után megkaphatjuk a működéshez szükséges minimális rendszermeghajtókészletet, amivel egy működőképes kezdeti munkakörnyezetet tudunk megszervezni. De érdemes megjegyezni, hogy ne korlátozza magát a disztribúciós készletbe épített illesztőprogramokra, mivel a legtöbb eszköz teljes működéséhez szükség lehet az eszköz gyártója által biztosított illesztőprogramokra.

A kérdés továbbra is fennáll: vajon az összes kernel módú komponens kizárólag a HAL rétegen keresztül kommunikál a hardverrel? vannak kivételek? A weben számos forrás tartalmaz diagramokat, amelyeken a grafikus adapter illesztőprogramjai úgy kommunikálnak a videokártyákkal, mintha „közvetlenül”, megkerülve a HAL-t. Emlékeim szerint a Windows egyes verzióiban a grafika kapta a legnagyobb prioritást, ezért külön kategóriába sorolták azokat, amelyek közvetlenül működnek grafikus adapter, és ez a gyorsítás érdekében történt GUI rendszerek.

Megszakítási kérési szintek (IRQL)

A Windows operációs rendszer működését meghatározó kulcsfontosságú belső mechanizmusok között van egy olyan téma, amely meglehetősen fontos az illesztőprogramok működési elveinek megértéséhez, amelyet valószínűleg nem lehet megkerülni. Ezt a mechanizmust ún megszakítási kérés szintje(Interrupt Request Level, IRQ Level, IRQL), és meglehetősen nehezen érthető, így mélyreható tanulmányozása messze túlmutat a bemutatott anyag keretein, azonban ebben a cikkben egy összefoglalásra teszünk kísérletet (na jó, a jövőben külön cikket fog kijelölni hozzá). Őszintén szólva, én magam még mindig tanácstalan vagyok az IRQL fogalmát illetően, ezért a saját értelmezésemet szisztematikusan, lépésről lépésre fogom kifejteni, az egyes szakaszokban megszerzett ismeretek alapján.
A megszakítás kifejezést számomra mindig is a processzor valós működési módjával asszociáltam, áttérve az MSDOS operációs rendszer napjaira, amelyben minden egészen egyszerű volt: a megszakítási vektortáblázaton keresztül 256 megszakításból álló halmaz állt rendelkezésre. Ezen megszakítások egy része hardveres, illetve egyes külső hardveres események által önállóan generált, míg mások szoftveresek, illetve alkalmazáskódból hívhatók. A megszakítási tábla bejegyzései újra definiálhatók, azaz a megszakításkezelő vektor tetszés szerint változtatható volt a saját feldolgozási eljárására. Nem léteztek olyan fogalmak, mint a megszakítási kérések szintje, minden egyszerű és világos volt. A processzorok és operációs rendszerek fejlődésével azonban először a védett mód jelent meg, majd a Windows, ettől a pillanattól kezdve minden gyorsan bonyolultabbá vált.
Szó szerint hirtelen, a Windows 95 / NT legelső verzióiban megjelent valamiféle táblázat (32 megszakítási kérési szintből áll), amelynek szintjeit a legalacsonyabb 0-tól (passzív) a legmagasabb 31-ig (magas) osztályozzák:

Név Osztály Célja Intel x86-64 szint
MAGAS hardver A legmagasabb szint. NMI és más típusok. 31
ERŐ hardver Áramszünet események 30
IPI hardver Interprocesszor jel. A processzorok közötti kommunikáció jelei. 29
ÓRA hardver Rendszer időzítő ciklus 28
PROFIL hardver Teljesítményszabályozás. Kernelprofil-időzítő (a rendszer teljesítményének mérésére szolgáló mechanizmus). 27
ESZKÖZ hardver DIRQL (eszközök IRQL). Az eszköz hardvere megszakad. 3-26
ELKÜLDÉS Program Ütemező műveletek/halasztott eljáráshívások (DPC-k). 2
APC Program Aszinkron eljáráshívások. 1
PASSZÍV Program Passzív szint. Nincsenek fennakadások. Normál felhasználói módú kódvégrehajtási szint 0

Mint látható, a fenti táblázatban van egy nagyon érdekes funkció: a szoftver és a hardver szintjei össze vannak hozva (0-2 a szoftverszintek, 3-31 pedig a hardverszintek).

Az IRQL egy szabadalmaztatott programozási attribútum, amelyet a Microsoft fejlesztői vezettek be. Ez a mechanizmus nem támogatja a processzor hardverét. A rendszer önállóan kezel minden olyan típusú megszakítást, amely a hardveres megszakításvezérlő (PIC) megszakítási szintjeit és a saját szoftverszintjeit egyetlen hardver-független megszakítási szinttáblába leképezi.

Ebből az állításból következik, hogy a modell saját, szoftveres, és a benne lévő szintek nincsenek hardverspecifikációhoz kötve, ez lehetővé teszi a rendszer számára, hogy a hardveres és nem hardveres típusú megszakításokat egyetlen prioritási hierarchiába állítsa össze. Az alsó (nem hardver/szoftver) IRQL szintek (PASSZÍV, APC, DPC/DISPATCH) az operációs rendszer szoftver alrendszereinek szinkronizálására szolgálnak: ütemezési műveletek, például szálváltás vagy I/O befejezési feldolgozás kiváltására szolgálnak. Nézzük meg őket részletesen:

  • 0. (legalacsonyabb) IRQL prioritás (PASSZÍV): az a tipikus megszakítási kérelem szint, amelyen a munka az operációs rendszerben, mind felhasználói, mind kernel módban történik. A kód (program) végrehajtása bekapcsolva adott szint, egyszerűen megszakítható (megelőzhető) bármivel: például az IRQ PASSIVE szinten végrehajtott szálakat az ütemező megelőzi a számukra kijelölt időkvantum lejárta után.
  • Az APC és a DPC/DISPATCH IRQL az ütemezőhöz társított szoftveres megszakítási szintek.
  • 1. szintű IRQL (APC): Ezen a szinten az úgynevezett APC eljárásokat hajtják végre, vagyis olyan eljárásokat, amelyek egy adott szál kontextusában aszinkron módon futnak le, vagyis aszinkron I/O-t szerveznek, vagy megcímeznek/várnak bármilyen (külső, globális) rendszerobjektumok. Az APC függvények (például WaitForSingleObjectEx) használata a kódban nem vezet a függvény azonnali végrehajtásához, ehelyett a szál (amelynek kontextusában a függvény végrehajtódik) speciális állapotba kerül, és egy APC szoftver megszakítás jön létre, a függvényhívás belső sorba kerül. A következő alkalommal, amikor a szál futni fog, az ütemezett APC funkció végrehajtásra kerül az APC rétegen. Az APC rétegen futó szálak ezért nem kapnak kéréseket saját APC rétegüktől, amelyet a rendszer az I/O befejezési műveletekhez használ.
  • 2. szintű IRQL (DPC/DISPATCH):
    • A késleltetett eljáráshívások (DPC-k) kezelésére használják: A késleltetett eljáráshívások olyan visszahívási rutinok, amelyek végrehajtását addig halasztják, amíg az IRQL DISPATCH szintre nem váltanak; Általában a DPC-ket a magas IRQL-ektől kérik fel további munka elvégzésére, amelyhez a CPU-idő nem kritikus. Ez egy nagyon fontos szakasz a teljesítmény szempontjából, és most elmagyarázom, miért. Az eszközillesztő-programok igyekeznek a lehető legkevesebb műveletet végrehajtani saját megszakítási szolgáltatási rutinjaikon (ISR) belül, hogy ne tartsanak sokáig DIRQL-szinten, ezáltal nem blokkolják a többi megszakítást, és nem lassítják le ennek következtében az egész rendszert. .

      Minél magasabb az IRQL szint, annál alacsonyabb a folyamat képessége. Ez arra ösztönzi a fejlesztőket magas szint IRQL, hogy csak a legszükségesebb műveleteket hajtsa végre, és minden egyéb műveletet alacsony szinten hajtson végre.

      Ha az illesztőprogram megérti, hogy további munkára van szükség, ami jelentős processzoridőt vesz igénybe, akkor lekéri a DPC-t és átadja neki ezt a feladatot. Amikor az IRQL DISPATCH értékre esik, a késleltetett illesztőprogram visszahívásra kerül, és elvégzi a feldolgozás többi részét. Hasonló algoritmus IRQL DISPATCH szinten való megvalósításával a meghajtó kevesebb időt tölt DIRQL szinten, és ennek megfelelően csökkenti a késleltetési időt saját megszakítása feldolgozásához, ezáltal felszabadítja azt más rendszereszközök számára.

    • ütemező feladatok végrehajtására használatos: Mint tudja, a Windows NT operációs rendszerek preemptív multitaskingot valósítanak meg, ami azt jelenti, hogy az operációs rendszeren futó minden egyes folyamat végrehajtásához hozzá van rendelve. pontos idő. Mivel a szálütemező és a DPC IRQL értéke 2, magasabb, mint a felhasználói szálak prioritása (0. szinten fut). Az ütemező prioritása viszont alacsonyabb, mint a hardveres megszakítások (eszközökről érkező megszakítások) prioritása, vagyis megszakítható hardveres megszakításokkal.

Oké, de még mindig nem értem, miért nem lehetett ezeket a szinteket elhagyni, és egy "lapos" sormodellt készíteni, vagy az összes ilyen típusú feladatot úgy végrehajtani, ahogy jönnek? Szimuláljunk egy munkahelyzetet:
képzelj el valami hasonló kódot kis program„térdre” írva. Így elindítottuk végrehajtásra, illetve a rendszerben kialakult egy folyamat a programunkhoz, aminek keretében a főszál elindult. Egy tipikus szál (felhasználói mód vagy kernel mód) a legalacsonyabb IRQL PASSIVE szinten fut. A szál végrehajtása során az óra (időzítő chip) periodikusan generál saját megszakításokat az időintervallumok számlálására, amelyek arra szolgálnak, hogy jelezzék az operációs rendszernek, hogy egy meghatározott időtartam eltelt. Az óramegszakítás kezelési eljárást az IRQL CLOCK szinten hajtjuk végre, ami (ha ránézünk a táblázatra) magasabb prioritású, mint a legtöbb szint: mind az ütemezőt futtató DISPATCH, mind a programunkat futtató PASSIVE szinten. Így az időzítő folyamatosan helyettesíti mind az ütemező, mind a programunk munkáját. Az időzítő minden egyes pipálásával az időzítő megszakítási rutin csökkenti az időzítő hátralévő részét Ebben a pillanatban felhasználói szál időkvantumunk. Abban a pillanatban, amikor a végrehajtó szál időszelete nullára csökken, az óramegszakítás-kezelő DISPATCH szintű megszakítást generál, ezáltal az ütemező futva kiválasztja a következő végrehajtandó szálat. A DISPATCH szintű megszakítás generálásakor az időzítő megszakításkezelő leállítja kódjának végrehajtását, és a vezérlés visszakerül a rendszermaghoz. A kernel megtalálja a következő, legmagasabb prioritású megszakítást a kéréssorban, amely várakozási módban van. Minden megszakítást felváltva szolgál ki. Amikor a DISPATCH szint feletti összes megszakítást kiszolgálják, a DISPATCH szintű megszakítási rutin végrehajtásra kerül. Ez a megszakításkezelő feldolgozza a DPC-listát, majd meghívja az ütemezőt. Az ütemező észleli, hogy az aktuális szál időkvantumja kimerült, azaz nullára csökkent, majd az ütemező végrehajtja az ütemező algoritmust, hogy kiválassza a következő végrehajtandó szálat. A végrehajtásra beállított szál kódja akkor kerül végrehajtásra, amikor a rendszer az IRQL PASSIVE szintre esik.
Így valósulnak meg a prioritások, és ennek megfelelően a megelőző multitasking. Most képzelje el, hogy eltávolítja a megszakításkérés-szintek hierarchiáját a rendszerből, hogyan fog viselkedni a rendszer ebben az esetben? Ebben a helyzetben nem lenne világos, hogy mit és mikor kell végrehajtani, a rendszer sorra hajtaná végre az összes bejövő feladatot, ami ahhoz vezetne, hogy a szálak könnyen megelőzhetik az ütemezőt, és ezáltal általában megsemmisíthetik vagy teljesen letilthatják a megelőző többfeladatot, ami ahhoz vezetne, hogy az operációs rendszer kiszámíthatatlan működése mögött. És így:

Az IRQL egy hardver-szoftver prioritási szint, amelyet a Windows család operációs rendszereinek szinkronizálására használnak, vagyis az IRQL szintek a fő módszer, amellyel a Windows operációs rendszerben a munkaciklus során végrehajtott összes műveletet rangsorolják.

illetőleg:

Az IRQL jelzi a processzoron futó kód prioritását a megszakítások és egyéb aszinkron (hirtelen) események tekintetében.

Az IRQL szintek célja a rendszerben a következő:

  1. Maszkolás: A megszakítási szint növelése lehetővé teszi a mögöttes hardveres megszakítási szintek levágását (maszkolását) a PIC vezérlőn. Ez lehetővé teszi az alacsonyabb szinteken előforduló megszakítások ideiglenes figyelmen kívül hagyását, ezáltal időt nyerve a hardveres megszakítási rutin ezen a szinten történő végrehajtására.
  2. Hardveres szinkronizálás: többprocesszoros rendszerben a különböző processzorokon/magokon futó szálak közötti adatok szinkronizálása.
  3. Szoftveridőzítés: annak meghatározása, hogy a különböző APC/DPC rutinok mikor szervizelhetők, hogy mikor lehet szervizelni a felhasználói módú alkalmazásokat.

Így globális szinten az IRQL mechanizmus lehetővé teszi az operációs rendszer szubrutinjának, hogy:

  • Re-entry (újrabelépés) kezelése
  • Győződjön meg arról, hogy tovább tud futni anélkül, hogy valamilyen más tevékenység előzné meg (megelőzné).

A folyamatszinkronizálás egy olyan mechanizmus, amely lehetővé teszi egy erőforrás (fájl, memóriában lévő adatok) integritásának biztosítását, ha azt véletlenszerű sorrendben több folyamat vagy szál használja.

Oké, de hogyan érinti ez a járművezetőket? Tudjuk, hogy az illesztőprogramok lehetnek felhasználói módban, illetve kernel módban, felhasználói módban és kernel módban futnak. Ebből az következik, hogy:

Az illesztőprogram kódja különböző IRQL szinteken futhat.

Ez pedig két igen fontos következtetéshez vezet:

  1. Az illesztőprogram kódja megelőzhető és megszakítható. Mint minden más kód a rendszerben, a lefoglalt időszelet lejárta után bármikor megszakítható;
  2. Az illesztőprogram kódjának bizonyos készleteket kell használnia rendszerfunkciók attól függően, hogy milyen IRQL-szinten kerül végrehajtásra.

Képzeljünk el egy olyan helyzetet, amikor az illesztőprogram kódja alacsony IRQL-en fut, módosít egy objektumot (például egy fájl.txt fájlt), majd egy magasabb IRQL-nél egy másik kód hirtelen megszakítja a végrehajtását, és ugyanazt a fájl.txt fájlt más adatokkal módosítja. Amikor az irányítás visszatér az illesztőprogramunkhoz, továbbra is módosítja a fájlt a saját adataival, így felülírja a más forrásból származó adatokat. Így a fájl inkonzisztens állapotba kerül. E problémák megoldására különféle szinkronizációs rendszerobjektumokat vezettek be. Ahhoz, hogy a kernel szintű kód módosítson bizonyos adattípusokat, mutex objektumokat, először meg kell szereznie a zárak tulajdonjogát.

Driver koncepció

A Windows operációs rendszer magját nem úgy tervezték, hogy önmagában kommunikáljon az eszközökkel.

Ennek megfelelően az állításból következő következtetések nyilvánvalóak: a rendszernek az eszközökkel való interakciójához külön interfészek szükségesek, esetleg több interfész összetett kombinációja is. A meghajtó koncepciót a párosítási probléma megoldására fejlesztették ki, és a legtöbb modellben használják modern rendszerek A rendszermag címterében végzett munkán alapul egy speciális kód, amely biztosítja a rendszermag interakcióját bármilyen típusú logikai/fizikai eszközzel.
Tekintettel az erőforrás általános irányultságára, a cikkben csak a Windows operációs rendszer illesztőprogramjaival foglalkozunk. Így Windows illesztőprogramok, mint általában más operációs rendszerek illesztőprogramjai, a következő állítások igazak:

Illesztőprogram (illesztőprogram) - szoftver, amellyel az operációs rendszer (felhasználói programok, kernel és egyéb összetevők) hozzáférhet valamilyen fizikai vagy logikai eszköz funkcióihoz.

ugyanaz, de más szóval:

Illesztőprogram – interfész a felhasználói mód kódja, a kernel mód kódja és a fizikai/logikai/virtuális eszközfunkciók között.

A fenti definíciók egyike kiemeli az illesztőprogram egy fontos tulajdonságát: hiba azt gondolni, hogy a járművezető kizárólag fizikai eszközzel kölcsönhatásban van, mivel a meghajtónak nem kell hozzáférést biztosítania egyetlen hardver funkcióihoz sem, hanem csak szoftver funkciókat. Ilyen megoldások például a víruskeresők által a rendszerbe telepített illesztőprogramok, az adattitkosító rendszerek és a megfigyelő rendszerek. Általános algoritmus Bármely illesztőprogram működése a következő: az alkalmazások egy speciális felhasználói felület funkcióin keresztül (Windows-ban ez a Win32 API) vagy az I / O kérések közvetetten / közvetlenül hozzáférnek egy eszközillesztő funkcióihoz. Az illesztőprogram pedig hozzáférést biztosít a kérdéses eszköz funkcionális jellemzőihez, valamint vezérli az alkalmazáskérelmek és maga az eszköz közötti interakció folyamatát. Természetesen a meghajtónak meg kell határoznia (leírnia) a kiszolgált (szolga, saját) eszközzel való interakció összes elvét, a kezelt objektumról adathalmaznak, utasításoknak (parancskészletnek) kell lennie, amelyek segítségével a A rendszer-/felhasználói kód helyesen inicializálja az eszközt, és megkezdheti az interakciót vele.

Illesztőprogramok betöltése az operációs rendszer indításakor

Nagyon érdekes lenne látni, hogy az operációs rendszer indításának melyik szakaszában kezd el betölteni és futni az első Windows illesztőprogram? Azonban egy részletes bemutatásban ez a folyamat meglehetősen nem triviális, és a mélyebb megértéshez számos rendszerindítási komponens kódjának megfordítása szükséges, mindenen túlmenően sok kapcsolódó szempontot is figyelembe kell venni, mint például: a rendszerindítás a meghajtók közötti függőségből adódó sorrend, melynek köszönhetően a meghajtók úgynevezett „betöltési csoportokba” sorolhatók, maga a meghajtók betöltése több szakaszra osztható, stb. Ugyanakkor meg kell jegyezni, hogy a weben nagy mennyiségű anyag található a már elavult operációs rendszerekkel kapcsolatban, ezért igyekszünk frissíteni a letöltési folyamatot. Windows illesztőprogramok a (lélekben hozzám legközelebb álló) Windows 7 operációs rendszer példáján. Kezdetnek pedig nem ártana beszélni a fő összetevőkről Windows kernel aktívan részt vesz a vezető betöltési folyamatában:

  • Menedzser (kezelő) bemenet / kimenet (I / O menedzser)- egy kernel módú modul, amely a végrehajtó alrendszer része, amely vezérli a bemeneti / kimeneti folyamatokat, fizikai és logikai eszközök absztrakcióját biztosítja a felhasználói alkalmazások számára, és rendszer összetevők A, amely összekapcsolja a felhasználói módú alkalmazásokat az illesztőprogramokkal. Szabályozza a vezetői interakciós folyamat szakaszait. Az I / O menedzser teljes adatcseréje a járművezetőkkel a vezető visszahívási eljárásainak meghívásával és egy szabványos IRP adatstruktúra átadásával történik, amely leírja a hívás teljes lényegét a vezetőnek;
  • Plug-and-Play Manager (PnP Manager)- kernel mód és felhasználói mód modul, amely a végrehajtó alrendszer része, amely az operációs rendszerben lévő eszközök hozzáadásáért, felismeréséért és eltávolításáért felelős. A kernel mód egy része kölcsönhatásba lép a rendszer többi összetevőjével és illesztőprogramjával a telepítési (indítási) folyamat során szoftver a rendszerben lévő eszközök szervizeléséhez szükséges. A felhasználói mód rész felelős a felhasználói módú programokkal való interakcióért (az interaktív felhasználói élmény érdekében) olyan helyzetekben, amelyek új illesztőprogramok telepítését vagy a meglévők működési paramétereinek módosítását igénylik. Kezeli a hardver erőforrások elosztását a rendszerben, továbbá tudja, hogyan kell felismerni az eszközöket, reagálni a csatlakozásukra/lekapcsolásukra, betölteni a megfelelő illesztőprogramokat új eszközök észlelésekor;
  • Service Control Manager (SCM)- a szolgáltatások és operációs rendszer-illesztőprogramok létrehozásáért, törléséért, indításáért és leállításáért felelős rendszerfolyamat. Ezenkívül biztosítja a következőket: az eseménynapló működtetése, a távoli eljáráshívás (RPC) technológia támogatása;

Ez a két menedzser, vagyis az I/O menedzser és a PnP menedzser aktívan kölcsönhatásba lép egymással.
Most leírjuk az operációs rendszer betöltésének folyamatát, de nem a megszokott formában fogjuk megtenni, hanem röviden megjegyezzük az operációs rendszer leírt összetevőinek illesztőprogramokkal való működésével kapcsolatos legfontosabb pontokat:

  1. A Bootmgr(.efi) betölti a winload(.efi) modult, és átadja neki a vezérlést.
  2. A Winload(.efi) megvizsgálja a rendszerleíró adatbázist HKEY_LOCAL_MACHINE\System\servicesés megkapja a rendszerre telepített összes illesztőprogram listáját. Ez a rendszerleíró adatbázis kulcsokat tartalmaz, amelyek a megcélzott illesztőprogramokhoz vannak leképezve, és különféle illesztőprogramokkal kapcsolatos beállításokat tartalmaznak, mint például a Group , Start , Type , LoadOrderGroup , DependOnGroup , DependOnServices , amelyek meghatároznak bizonyos illesztőprogram-betöltési feltételeket.
  3. A Winload(.efi) olyan illesztőprogramokat tölt be, amelyek kritikusak az operációs rendszer betöltésének/működésének kezdeti szakaszában, például meghajtóvezérlő illesztőprogramokat, fájlrendszer-illesztőprogramokat. Nyilvánvalóan az ilyen illesztőprogramoknak van a legmagasabb prioritása, mivel ezek teremtik meg az alapot más illesztőprogramok betöltéséhez, ezért ezen és egyéb okok miatt a memóriában kell lenniük, amikor a vezérlést átadják a kernelnek. Ennek megfelelően speciális SERVICE_BOOT_START típussal vannak jelölve. Illesztőprogramok a ezt a szakaszt kezdje el a letöltést attól függően, hogy melyik csoporthoz tartoznak.
  4. A Winload(.efi) közvetlenül betölti a kernelt az ntoskrnl.exe fájlból, és átadja neki a vezérlést.
  5. A kernel betölti az I/O Managert és a PnP Managert.
  6. Az I/O menedzser létrehoz egy globális katalógust. Ezt a könyvtárat később az eszközobjektumok regisztrálására használják.
  7. A PnP-kezelő elindítja az előző lépésben a memóriába már betöltött (SERVICE_BOOT_START típusú) illesztőprogramokat az egyes illesztőprogramok DriverEntry eljárásának meghívásával. Ebben a szakaszban a függő illesztőprogramok is betöltődnek.
  8. A PnP-menedzser összeállítja a rendszer eszközfáját, bejárja azt a gyökérből, és betölti a még be nem töltött eszközillesztőket.
  9. A PnP-menedzser a Start paraméter értékétől függetlenül betölti a fennmaradó betöltetlen eszközillesztőket. Ezen illesztőprogramok közül sok a SERVICE_DEMAND_START típusú.
  10. A PnP manager fejlett funkcionalitású illesztőprogramokat tölt be. Ezek az illesztőprogramok magukban foglalják a videoadapter-illesztőprogramot, a külső eszköz-illesztőprogramokat és a TCP/IP verem-illesztőprogramokat. Az ilyen illesztőprogramok SERVICE_SYSTEM_START típusúak.
  11. A kernel betölti a Session Manager alrendszer-szolgáltatást (SMSS), amely viszont betölti a Service Control Managert (SCM). Az SCM átvizsgálja a rendszerleíró adatbázist ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services), és a kapott információk alapján belső adatbázist csatol a szolgáltatásokról/illesztőprogramokról, programozási felületet képez a telepített szolgáltatások/illesztőprogramok kiszolgálásához. Az SCM betölti az „autostart” nem PnP-illesztőprogramokat (SERVICE_AUTO_START típusú) és minden olyan illesztőprogramot, amelytől függnek.

Az illesztőprogramok betöltésére szolgáló teljes algoritmusból meg kell értenünk a következő alapvető szabályokat: egy illesztőprogram betölthető (az illesztőprogram szakaszától / osztályától függően) PnP-kezelővel vagy SCM-mel, de az I / O Manager aktívan részt vesz benne. a vezető működése közben .

Windows illesztőprogram-struktúra

Milyen lehet egy sofőr a felépítését tekintve? Valóban valami különleges programcsoportról van szó, amelyek pusztán sajátos módon vannak elrendezve? Én is naivan azt hittem valamikor, de ha belegondolunk, miért kellene az operációs rendszer fejlesztőinek megbonyolítaniuk az életüket, és kitalálniuk a futtatható fájl képének új speciális formátumát egyes nukleáris komponensekhez? Sokkal könnyebb adaptálni a régit, amit már régen hibakerestek és százszor is beváltak.

Az illesztőprogram egyfajta "kernel módú könyvtár", a szokásos DLL fájl, amelynek PE fejléce (struct IMAGE_NT_HEADERS , OptionalHeader alstruktúra) az Alrendszer = 1 mező értéke (IMAGE_SUBSYSTEM_NATIVE).

Az alrendszer típusa a felépítéskor állítható be végrehajtható modul. Maga a natív alrendszer jellemző azokra az alkalmazásokra, amelyek a klasszikustól eltérő szabályok szerint működnek: a lemezkép végrehajtásra való előkészítésének szakaszában nem kell inicializálniuk a Win32 alrendszert. Többek között a natív alrendszert használják a kernel módú kódhoz, ami szinte minden illesztőprogram.

A DLL analógiájára leegyszerűsítve az illesztőprogramot olyan eljárások halmazának tekinthetjük (külső alkalmazások hívják meg), amelyek mindegyike egy adott típusú hívás kezelésére szolgál az illesztőprogramhoz.

Tegyünk egy kis kitérőt, és beszéljünk egy ilyen fogalomról mint tárgyról. A tény az, hogy a Windows illesztőprogram teljes működési folyamata, mint az operációs rendszer bármely más modulja, számos rendszeradat-struktúrától függ. Ezeket a struktúrákat a kernel kezeli, és szálakat, eseményeket, I/O kéréseket, eszközöket és egyéb entitásokat tartalmazhatnak.

  • Objektumok. Adatblokkok, amelyek az operációs rendszer egy adott entitásának tulajdonságait tartalmazzák. Az objektumok diszpécsere (kezelője) kezeli. Sok objektumnak vannak leírói (leírói), amelyek az objektumot elérhetővé teszik az alkalmazások számára.
  • Adatstruktúrák. Adatblokkok, amelyek az operációs rendszer egy adott entitásának tulajdonságait tartalmazzák. a kernel kezeli. Megkülönböztetik a tárgyaktól, de (tehetetlenség miatt) objektumoknak is nevezik

Emiatt (nagy nyomás mellett) a Windows operációs rendszer összes belső struktúráját objektumnak nevezzük.
Most térjünk vissza az illesztőprogramokhoz, valójában az illesztőprogram úgynevezett "eljárásai" visszahívási COM objektumok, amelyek feldolgozzák a megfelelő operációs rendszer infrastruktúra objektumaiból érkező eseményeket, azt mondják, hogy az illesztőprogram COM-ot biztosít az operációs rendszer kernelének. az illesztőprogram által megvalósított eljárások sorozata által meghatározott interfész. Az exportálás, vagyis a járművezetői eljárások közzététele (nyilatkozata) a további, kívülről való hozzáférés érdekében a fő illesztőprogram-eljárásban (minden illesztőprogramra szabványos), az úgynevezett DriverEntry regisztrációval történik.

A DriverEntry funkció fő célja, hogy az illesztőprogram-fejlesztő megvalósítsa benne az illesztőprogram objektumának (struct records) kitöltését különféle illesztőprogram-belső eljárásokra mutató mutatókkal, amelyek egy vagy másik funkciót biztosítanak. A DriverEntry eljárásban beállíthatja (módosíthatja) egy eszközobjektum nevét, amelyet az alkalmazások az eszközkezelő megnyitásához és az I/O kéréscsomagok (IRP) küldéséhez használnak.

A DriverEntry függvény valójában egy globális inicializálási funkció, és egyszer kerül végrehajtásra az illesztőprogram betöltése során. Ez a funkció lehet a lehető legegyszerűbb, vagy tartalmazhat fejlett funkciókat (további szubrutinokat), mint például további eszközobjektumok létrehozása, az eszköz lekérdezése, a konfiguráció további fázisai és az eszköz(ek) inicializálása.
Saját funkcióinak közzététele után az illesztőprogram az operációs rendszer "látható" kernelévé válik. Annak érdekében, hogy ne bonyolítsuk le az amúgy is meglehetősen bonyolult elméletet, feltételezzük, hogy a Windows kernel szempontjából minden eszköz egyfajta absztrakt "virtuális eszköz", amely szabványosított parancskészlettel működik, és belső interfészeken keresztül érhető el. . Mint fentebb említettük, a Windows operációs rendszer kernelében található a végrehajtó rendszer speciális modulja, az úgynevezett I/O menedzser, amely egyetlen interoperabilitási felületet biztosít az összes kernel-módú illesztőprogramhoz, beleértve a fizikai eszköz-illesztőprogramokat, a logikai eszköz-illesztőprogramokat és a fájlrendszer-illesztőprogramokat. Ennek megfelelően a kernel I/O rendszer kezeli az illesztőprogramokat, vagy azt is mondhatjuk, hogy az illesztőprogramok az I/O manager interfészt használják az operációs rendszerben való működéshez. Másrészt az illesztőprogram biztosítja az operációs rendszerből érkező "standard parancsok" olyan parancsokká történő átalakítását (konverzióját), amelyeket az általa vezérelt eszköz (ha van) "megért" és fordítva. Az I/O menedzser meghatározza a rutinok egy halmazát (készletét), amely megvalósítható egy illesztőprogramban, mivel:

Az illesztőprogram egy sor visszahívási rutint tartalmaz, amelyek biztosítják az I/O folyamat különböző szakaszait.

Annak érdekében, hogy jobban megértsük, milyen funkciókat kell biztosítania egy illesztőprogramnak, vázoljuk fel a legfontosabb illesztőprogram-eljárásokat:

Valójában a fenti diagramot tekintve világossá válik, hogy az absztrakt Windows illesztőprogramnak pontosan milyen típusú interakciókat, nevezetesen eljáráscsoportokat kell megvalósítania. Most soroljunk fel néhány ilyen eljárást:

  • Inicializálás – Az I/O menedzser elindít egy inicializálási eljárást (DriverEntry néven), amelynek célja a műveletek végrehajtása kezdeti beállítás az illesztőprogram objektum, az összes többi illesztőprogram-rutin regisztrálása, a slave konfigurálása és egyéb műveletek végrehajtása a fejlesztő nevében.
  • Eszköz hozzáadása – (opcionális) eszközobjektum hozzáadása. Ebben az eljárásban az illesztőprogram jellemzően eszközobjektumokat hoz létre minden olyan eszközhöz, amelyet az illesztőprogram kiszolgál. Általában Plug-and-Play illesztőprogramokhoz használják.
  • Feldolgozás - feladási eljárások összessége (különböző állapotok feldolgozása). Az eszköz megnyitása, bezárása, olvasása, írása, feldolgozási teljesítményállapotok, PnP események és rendszerállapotok, valamint néhány egyéb interakció leírása a feladási eljárásokban található. Valójában ezek a fő eljárások, mivel a tipikus I / O műveletek feldolgozása diszpécser eljárásokon keresztül történik.
  • Az I/O indítása (kezdése) az eszköz I/O kérésének feldolgozásának második szakasza, amely közvetlenül elindítja az eszköz I/O-ját. Ezzel az eljárással elindítható az adatok átvitele a készülékre/eszközről.
  • Megszakítási szolgáltatási eljárás – amikor az eszköz megszakítást generál, a megszakításkezelő átadja a vezérlést erre az eljárásra.
  • Elhalasztott eljáráshíváskezelés – A DPC rutin átveszi a megszakításkezelés nagy részét az ISR végrehajtása után. A késleltetett eljáráshívások alacsonyabb IRQL-szinteken futnak (DPC/DISPATCH), mint maga az ISR-eljárás. Hasonló algoritmust alkalmazunk, hogy elkerüljük a többi megszakítás blokkolását.
  • I/O befejezési rutin – Egy többszintű illesztőprogramnak lehetnek I/O befejezési rutinjai, amelyek értesítik az IRP-feldolgozást az alacsony szintű illesztőprogram által.
  • I/O törlési eljárások – Ha az I/O műveletek megszakíthatók, az illesztőprogram meghatározhat egy vagy több ilyen eljárást. Amikor egy illesztőprogram IRP-t kap egy visszavonható I/O-kéréshez, hozzárendel egy IRP-megszakítási eljárást, és az IRP különböző feldolgozási lépéseken megy keresztül, amelyeket az eljárás megváltoztathat vagy eltávolíthat, ha az aktuális művelet nem törölhető.
  • Gyors küldési rutin – A gyorsítótár-kezelőt erősen igénybe vevő illesztőprogramok, például a fájlrendszer-illesztőprogramok, általában hasonló rutinokat biztosítanak, hogy lehetővé tegyék a kernel számára a gyakori I/O-kezelési algoritmusok megkerülését.
  • Az eltávolítási eljárást minden rendszererőforrással működő (felszabadító/kölcsönző) illesztőprogramban implementálni kell ahhoz, hogy az I/O Manager ki tudja tölteni az illesztőprogramot a memóriából.
  • Leállítási riasztási eljárás – Lehetővé teszi az illesztőprogram számára, hogy felszabadítsa az összes foglalt erőforrást, amikor a rendszer leáll.

Nyilvánvalóvá válik, hogy a Windows-illesztőprogram fejlesztése során nem szükséges a fent leírt eljárások teljes készletét végrehajtani, minden illesztőprogram egyedi, és a fejlesztő szabadon megadhatja a saját, az illesztőprogram által támogatott implementációkészletét. Amikor egy illesztőprogramot PnP-kezelővel vagy SCM-mel töltenek be a rendszerbe, az I/O-kezelő létrehoz egy illesztőprogram-objektumot a névtérben, és meghívja az illesztőprogram inicializálási rutinját (általában egy DriverEntry-t), amely további inicializálási lépéseket hajt végre.

Az illesztőprogram objektum a betöltött illesztőprogram képét képviseli a kernel memóriájában, és a rendszer ezen az objektumon keresztül vezérli az illesztőprogramot.

Az illesztőprogram objektum az illesztőprogram kódját és adatait képviseli a kernelben: többek között ezen az objektumon keresztül exportálja az illesztőprogram eljárásainak belépési pontjait. Az illesztőprogram inicializálási eljárása ennek az objektumnak az attribútumaiba írja az összes exportált illesztőprogram-eljárás belépési pontjait. A betöltés után az illesztőprogram eszközobjektumokat hozhat létre, amelyek eszközöket reprezentálnak, vagy akár az illesztőprogram felületét is képezhetik. A legtöbb illesztőprogram ehhez hasonló eszközobjektumokat hoz létre:

  • A PnP-illesztőprogramok eszközobjektumokat hoznak létre az eszköz hozzáadása rutinjaikon keresztül, amikor a PnP-kezelő tájékoztatja őket egy általuk kezelt eszköz jelenlétéről.
  • A nem PnP illesztőprogramok eszközobjektumokat hoznak létre, amikor I/O-kezelőjük meghívja inicializálási rutinjaikat.

"Device" típusú objektum (eszköz) létrehozásakor az illesztőprogramnak hozzá kell rendelnie ezt a tárgyat Név. Ez az újonnan létrehozott objektum ezután a névtérbe kerül objektumkezelő(Object Manager), amely az I / O menedzserhez (kezelőhöz) hasonlóan a kernel végrehajtó alrendszerének része. Az objektumkezelőt úgy tervezték, hogy adatbázist karbantartson az összes objektumként megjelenített operációs rendszer erőforrásról. Az objektum nevét az illesztőprogram kifejezetten meghatározhatja, vagy az I/O-kezelő automatikusan generálhatja. Megállapodás szerint az eszközobjektumoknak az objektumkezelő névterének \Device könyvtárában kell lenniük, amely a Win32 API-n keresztül nem érhető el az alkalmazások számára. És ahhoz, hogy az "eszköz" objektum elérhetővé váljon az alkalmazások számára, az illesztőprogramnak létre kell hoznia a \GLOBAL?? szimbolikus hivatkozás az objektum nevére a \Device könyvtárban. A nem Plug-and-Play és a fájlrendszer-illesztőprogramok általában szimbolikus hivatkozást hoznak létre egy jól ismert névvel (például \Device\VMwareKbdFilter). Az illesztőprogram csak az összes felsorolt ​​művelet után válik „láthatóvá” a rendszerben, és elérhetővé válik a felhasználói alkalmazások számára.

Vezetői interakció

Hogyan léphet kapcsolatba a felhasználói program a rendszerben lévő illesztőprogrammal? Ennek két módja van:

  1. Implicit -- általános Win32 API függvény meghívása;
  2. Explicit -- közvetlen I/O kérés az illesztőprogramhoz;

Nos, az első esetben minden nagyon egyszerű alkalmazási program valamilyen hétköznapi Win32 API függvényt hívunk meg (például CreateFile), amely aztán a célobjektumtól (fájl, könyvtár) függően meghívhatja az Exchange függvényt a hívási láncban lévő driverrel. Valójában ebben az esetben az alkalmazáskód nem azt a feladatot tűzi ki maga elé, hogy interakciót folytasson semmilyen meghajtóval, csak az eljáráshívások láncolata mentén, egy bizonyos szakaszban a végrehajtás kernel módba kerül, és ott meghívódik a driver függvény. Mindez rejtve marad a fejlesztő előtt, de hibakereső eszközökkel nyomon követhető az interakció.
A második eset érdekesebb, amikor az illesztőprogram hívása nem közvetett hívást jelent (egy általános függvény meghívásával), hanem az úgynevezett I / O vezérlési kérés speciális funkciója (például DeviceIoControl) segítségével történő átvitelt. , amely a továbbiakban egy adatblokk kialakítását kezdeményezi, amelyet I/O kéréscsomagnak neveznek.

Az I/O Request Packet (IRP) egy Windows kernel adatstruktúra, amely egy I/O kérést leíró információkat tartalmaz.

Formálisan az IRP egy csomag, valójában azonban egy kernel objektum, azaz egy adatstruktúra (blokk) az I / O menedzser eljáráskészletével, amely adatcserét biztosít a program és az illesztőprogram között, vagy a sofőr és a sofőr. Ahogy már említettük, a Windows architektúra úgy van felépítve, hogy nem teszi lehetővé a közvetlen interakciót a felhasználói módú program és a meghajtó között, így az ilyen csere az IOCTL kód program általi elküldésére redukálódik, ami már az I/O menedzser IRP kéréscsomagot generál. Az illesztőprogramokkal való együttműködésért felelős I/O menedzser üzemelteti az IRP-ket. Az I/O menedzser I/O kérést kap a felhasználói programtól, majd létrehoz egy IRP-t, és továbbítja azt a megfelelő illesztőprogramnak.
Az IRP csomag két részből áll:

  • állandó rész;
  • I/O elhelyezési verem.

A konstans részben az IRP tartalmaz egy fő és (nem mindig) egy mellékfunkció kódot. Старшие коы: irp_mj_create, irp_mj_close, irp_mj_read, irp_mj_write, irp_mj_cleanup, irp_mj_device_control, irp_mj_internal_device_control, irp_mj_scsi, irp_my_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_crol_mlut_mlutrol, Irp_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_ming_mlut_mlutrol. A csomag tartalmaz egy I/O elhelyezési veremet is - egy speciális IO_STACK_LOCATION struktúrát, amely bizonyos paramétereket tartalmaz: ez az eszközkészlet, amely feldolgozza ezt az IRP-csomagot. Sőt, ez a csomag egymás után kerül továbbításra eszközről eszközre a verem mentén. Egynél több verem elhelyezése azt jelzi, hogy egy IRP-t több illesztőprogram is kezelhet. Az IRP „veremcelláit” úgy tervezték, hogy „változó” információkat tároljanak, amikor az IRP-csomag áthalad az illesztőprogram-veremen. Az IRP átmegy az egyes illesztőprogramok közzétett eljárásain, amelyek mindegyike lekéri a számára szükséges információkat „a” I/O elhelyezési verem helyéről. A járművezetői eljárásokat hagyományosan "visszahívási eljárásoknak" nevezik. Mint már említettük, a DriverEtnry inicializálási függvénye közli (közzé) a kernelnek ezen eljárások nevét, majd később maga a kernel hívja meg ezt vagy azt az eljárást bizonyos körülmények között.
A szabványos programokkal ellentétben az illesztőprogram nem egy klasszikus folyamat, saját címterével, és nincs végrehajtási szála. Ehelyett az illesztőprogram függvény annak a szálnak és folyamatnak az összefüggésében fut, amelyben meghívták. Az illesztőprogram környezete (kódvégrehajtási területe) attól függ, hogy ki hívja (hívja) az illesztőprogramot. Fellebbezést lehet kezdeményezni:

  1. Alkalmazási program (felhasználói módú program). Ebben az esetben az illesztőprogram végrehajtási környezete pontosan ismert, és megegyezik az alkalmazási program környezetével;
  2. Egy másik (harmadik fél) sofőr. Ebben az esetben a végrehajtási kontextus nehezebben meghatározható, lehet ismert vagy véletlenszerű, ez függ a hívó driver függvény végrehajtási kontextusától.
  3. Hardver/szoftver megszakítás. Ebben az esetben a végrehajtási kontextus véletlenszerű, mivel megszakítás (és ennek megfelelően az illesztőprogram kódjára váltás) előfordulhat, amikor az operációs rendszerben bármilyen kódot végrehajtanak.

A szabványos programmal ellentétben az illesztőprogram nem hívhatja meg a szabványos Win32 API függvényeket, csak a kernelben elérhető olyan függvényekkel tud működni, amelyek az Ex.. , Hal.. , Io.. , Ke.. , Ks. előtagokkal kezdődnek. , Mm.. , Ob.. , Po.. , Ps.. , Rtl.. , Se.. , Zw.. és még néhányan.

A Windows illesztőprogramok típusai (típusai).

Az evolúció és ennek megfelelően a vezetői koncepció bonyolítása során a járművezetőket a céltól függően kategóriákba (vagy típusokba) kezdték osztani. Íme a főbbek:

  • Osztályvezetők(Osztály-illesztőprogram) - a Microsoft által egy adott eszközosztályhoz kifejlesztett illesztőprogramok.
  • Fájlrendszer-illesztőprogramok(Fájlrendszer-illesztőprogramok) – megvalósító illesztőprogramok fájlrendszerek különböző médiákon.
  • Örökös illesztőprogramok(Régi illesztőprogramok) - "elavult" (a régebbi operációs rendszer verziókkal kompatibilis szerkezetű) kernel módú illesztőprogramok, amelyek önállóan közvetlenül vezérlik a szolga eszközt, további eszközillesztők nélkül. Miért van ilyen nevük? Mert ez egy olyan típusú illesztőprogram, amelyet a Windows NT operációs rendszerek első verziói megőriztek.
  • Busz-illesztőprogram - Illesztőprogramok, amelyek bármilyen számítógépes busz funkcionalitását biztosítják (ISA, PCI, USB, IEEE1394 és mások);
  • Illesztőprogramok szűrője(Szűrő-illesztőprogram) - olyan illesztőprogramok, amelyek egy másik illesztőprogram logikájának megfigyelésére/módosítására szolgálnak azáltal, hogy a rajta áthaladó adatokkal dolgoznak.
    • Legjobb szűrő-illesztőprogramok(Felső szűrő-illesztőprogramok) - a szűrő-illesztőprogramok altípusa, amely a veremben a funkcionális illesztőprogram felett található. Minden kérés áthalad a felső szűrő-illesztőprogramokon, ami azt jelenti, hogy megváltoztathatják és/vagy szűrhetik a funkcionális meghajtóhoz, majd adott esetben az eszközhöz jutó információkat. Példa erre a szűrő-illesztőprogram, amely figyeli/szűri a forgalmat, titkosítja/elfogja az olvasási/írási kéréseket. Az ilyen illesztőprogramokat a tűzfalak használják.
    • Alsó szűrő-illesztőprogramok(Alsó szűrő-illesztőprogramok) - a szűrő-illesztőprogramok altípusa, amely a veremben a funkcionális illesztőprogram alatt található. Általában kevesebb kérés megy át az ilyen alacsonyabb szűrő-illesztőprogramokon, mint más szűrő-illesztőprogramokon, mivel a legtöbb kérést maga a funkcionális illesztőprogram hajtja végre és teljesíti.
  • Funkcionális meghajtók(Funkció-illesztőprogram) - önállóan működő illesztőprogramok, amelyek meghatározzák az eszközzel kapcsolatos összes szempontot.
  • PnP illesztőprogram (PnP Driver) – a Plug-and-Play technológiát támogató illesztőprogram;
  • Minidriver (miniport, miniosztály)(Miniport illesztőprogram, Minidriver, Miniclass driver) - olyan illesztőprogramok, amelyek a céleszközzel kapcsolatos feladatokat kezelik, és osztálymeghajtókat használnak az eszköz vezérlésére. Egy illesztőprogram-pár részeként működik, amelyben ez a kategória végeszköz-illesztőprogramként működik, amelyek meghatározott eszközfeladatokat hajtanak végre.

A komponensek szintje szerint az illesztőprogramok a következők:

  • Egyszintű – az I/O feldolgozás egyetlen végrehajtható modulon (illesztőprogramon) belül valósul meg.
  • Többszintű – az I/O feldolgozás több illesztőprogram között van elosztva.

A PnP illesztőprogramok Windows alatt a következőkre oszthatók:

  • Funkció Driver
  • Buszvezető (buszvezető)
  • Illesztőprogram-szűrő (szűrő-illesztő)

Végrehajtási mód szerint a Windows illesztőprogramok osztályozása:

  • Felhasználói mód illesztőprogram.
  • Kernel módú illesztőprogram.

Driver modellek

Az operációs rendszer fennállása során a fejlesztők igyekeztek szabványosítani és egyszerűsíteni az illesztőprogramok fejlesztését. Ennek eredményeként modellek jelentek meg.

WDM modell

Valamikor két fő iránya volt a Windows illesztőprogram-koncepciójának fejlesztésének:

  1. A Windows 95/98 a VxD (Virtual Device Driver) modellt használta;
  2. a Windows NT3.51-ben az NT-illesztőprogram-modell (NT-style driver, NT Driver) párhuzamosan fejlődött.

A fejlesztők azonban a Windows 98/NT4.0 verziótól kezdődően kísérletet tettek a meghajtók fejlesztésének egységesítésére (univerzalizálására), melynek eredményeként az említett modelleket egy új WDM modell váltotta fel.

WDM (Windows illesztőprogram-modell, Windows illesztőprogram Modell) egy egységes fejlesztői környezet (keretrendszer) a Windows operációs rendszer eszközillesztőihez. Azért hozták létre, hogy csökkentsék az illesztőprogramok kódszabványosítási követelményeit.

A WDM-modell egy lépés volt a klasszikus Windows illesztőprogram-verem újradefiniálásában, hogy támogassa az akkoriban forradalmi Plug-and-Play és ACPI technológiákat. A modell lehetővé teszi az illesztőprogramok menet közbeni betöltését/eltávolítását, az operációs rendszer újraindítása nélkül, illesztőprogramok kiterjesztését (szűrők) a szabványnak megfelelően. rendszer-illesztőprogramok, rugalmasabban kezelheti az energiatakarékosságot és az eszközkonfigurációt stb.
A WDM modell keretein belül bármely hardver eszköz legalább két illesztőprogram támogatja:

  • Funkciómeghajtó (Function driver) - felelős a kiszolgált eszköz szinte minden funkcionális jellemzőjéért: I / O műveletek, megszakítások kezelése és eszközvezérlés;
  • Buszmeghajtó – felelős az eszköz és a számítógép közötti kapcsolat fenntartásáért, valójában a kommunikációs busz támogatásáért (például PCI, USB stb.).

WDF modell

A fejlesztés során a WDM-modell számos változáson ment keresztül, jelentősen nőtt. A Windows Vistától kezdve újabb kísérlet történt a Windows illesztőprogram koncepciójának fejlesztésére, lényegében az akkor már létező WDM modellre, aminek eredményeként egy új modell (WDM-kiegészítés) született WDF néven.

A WDF (Windows Driver Foundation, Windows Driver Foundation) egy fejlesztői környezet (eszközkészlet), amely megkönnyíti az eszközillesztők fejlesztését Windows operációs rendszerekhez (Windows 2000 és újabb).

Ennek oka az a vitathatatlan tény, hogy a fejlesztőknek nem sikerült a WDM-modell megfelelő absztrakciós szintjét elérniük, nevezetesen az I / O alrendszer elégtelen integrálása a Plug-and-Play technológiával és az energiagazdálkodással. Ez óriási terhet rótt az illesztőprogram-fejlesztőre, hogy ugyanazokat az I/O kéréseket szinkronizálja a Plug-and-Play eseményekkel és a tápellátási kérelmekkel. Nyilvánvalóan a vezetői modell további egyszerűsítésére volt szükség. A WDF felváltotta a WDM-et, és a legmodernebb modellnek számít.
A WDF a következő funkciókat valósítja meg:

  1. Néhány, a végrehajtási mód szempontjából nem kritikus illesztőprogram-osztály „eltávolítása” felhasználói módba, ami csökkentette a rendszermagban bekövetkező összeomlások számát.
  2. Az I/O alrendszerek Plug-and-Play és energiagazdálkodással való interakciójának kezelésének nagy részét ma már a WDF-modell beépített mechanizmusai kezelik.
  3. Új belső interfészek biztosítása a WDF modellhez, amelyek lehetővé teszik az elvonatkoztatást a nehezebben érthető rendszerinterfészektől; A WDM / legacy modellben meglehetősen nehéz megvalósítani a meghajtóval való interakció egyes részeinek logikáját anélkül, hogy megtanulná a komplex kernelarchitektúra összes alapját, míg a WDF lehetővé teszi az interakció számos típusának automatizálását; A WDM-illesztőprogram fejlesztése során nagy mennyiségű kódot le lehet váltani WDF-eljáráshívásokkal.
  4. Lehetőség "kanonikus" illesztőprogram létrehozására. Olyan sablonok jelenléte, amelyek lehetővé teszik a külső fejlesztők számára, hogy felülbírálják az illesztőprogramjuk egyedi feltételeit, ezáltal csökkentve a fejlesztési időt.

A WDF modell két területre oszlik:

  • Az UMDF (Kernel-Mode Driver Framework) egy kernel módú illesztőprogram-fejlesztő környezet.
  • A KMDF (User-Mode Driver Framework) egy felhasználói módú illesztőprogram-fejlesztő környezet.

A környezetek felosztása felhasználói és kernel módokra a WDF modellben meglehetősen önkényes, mivel ennek a megkülönböztetésnek a fő célja az illesztőprogramok fejlesztésének osztályozása bizonyos eszközosztályokhoz.



Betöltés...
Top