Ямар төхөөрөмжид драйвер хэрэгтэй. Надад ямар дууны драйвер хэрэгтэйг яаж мэдэх вэ

Хэрэв та компьютерээ өөрөө угсарч, түүний бүрэлдэхүүн хэсгүүдийг тусад нь худалдаж авсан бол энэ тохиолдолд компьютерийн бүх драйверуудыг нэг үйлдвэрлэгчийн вэбсайтаас олох боломжгүй, учир нь бэлэн компьютер худалдаж авахад хялбар байх болно (үүнийг тайлбарласан болно. "Зөөврийн компьютер эсвэл бэлэн ширээний компьютер худалдаж авсан бол драйверуудыг хэрхэн олох вэ!" гэсэн нийтлэлд). Эцсийн эцэст, та ямар нэгэн үйлдвэрлэгчийн эзэмшиж буй дуусаагүй компьютер худалдаж авсан бөгөөд өөрийн загвар, драйверуудтай бөгөөд нэг сайтаас бүгдийг нь татаж авах боломжтой. Компьютерийг таны сонгосон сэлбэг хэрэгслээс угсарсан тул энэ нь ямар ч загварт тохирохгүй бөгөөд ямар нэгэн үйлдвэрлэгчийнх байх болно гэсэн үг юм, учир нь энэ нь аль хэдийн таны бүтээл юм :) Тиймээс та бүх драйверуудыг тусад нь хайх хэрэгтэй болно. компьютер угсарсан төхөөрөмжүүд. Дууссан (аль хэдийн угсарсан) компьютер худалдаж авсны дараа хэсэг хугацааны дараа та "төмрийн хэсэг" -ийг солихоор шийдсэн тохиолдол ч үүнд хамаарна.

Одоо би интернетээр дамжуулан өөрөө тохируулсан компьютерт шаардлагатай бүх драйверуудыг гараар хэрхэн олохыг танд үзүүлэх болно.

Жолооч гэж юу болохыг нийтлэлд тайлбарласан болно:

Тиймээс та өөрөө бүх бүрэлдэхүүн хэсгүүдийг цуглуулж, компьютерээ угсарч, Windows суулгаж, драйверуудыг бүх төхөөрөмжид суулгаагүй, магадгүй бараг бүх төхөөрөмжид суулгаагүй байхыг харлаа. Та бүх драйверуудыг суулгасан эсэхийг төхөөрөмжийн менежерийн стандарт хэрэгслээс олж мэдэх боломжтой. Үүнийг яаж хийх вэ, би тусдаа нийтлэлд хэлсэн.

Мөн энэ тохиолдолд драйверуудыг суулгахын тулд хэд хэдэн сонголт байдаг.

Анхаар!
Хэрэв та сүлжээний картуудын драйверуудыг автоматаар суулгаагүй байгаа бөгөөд энэ нь танд энэ компьютерээс интернетэд холбогдох боломжийг олгодоггүй бол доорх бүх алхмуудыг интернетэд холбогдсон бусад компьютерээс хийх шаардлагатай болно. Мөн та бүх драйверуудыг татаж авсны дараа тэдгээрийг шилжүүлэх шаардлагатай болно хүссэн компьютержишээлбэл, флаш диск эсвэл дискээр дамжуулан.

Сонголт дугаар 1. devid.drp.su сайтаар дамжуулан төхөөрөмжийн кодоор драйверуудыг гараар хайх

Би энэ сонголтыг хамгийн сайн гэж бодож байна. Энэ арга нь төхөөрөмжийн кодыг тодорхойлж, янз бүрийн сайтууд дээр энэ кодыг ашиглан интернетээс драйверуудыг хайх явдал юм.

Төхөөрөмжийн менежерт бид дараах зүйлийг харлаа гэж бодъё.

Тэдгээр. хэд хэдэн төхөөрөмжийн драйверуудыг компьютер дээр суулгаагүй байна. Гэсэн хэдий ч төхөөрөмжийн менежерээр дамжуулан ямар төхөөрөмжид драйвер байхгүй байгааг тодорхойлоход асуудал гардаг, учир нь нэр нь тодорхойгүй байна. Зөвхөн бараг л ойлгож болно. Жишээлбэл, "Ethernet хянагч" нь хамгийн их магадлалтай LAN картутастай интернет холболтод зориулагдсан. " Сүлжээний хянагч' байх магадлалтай wifi адаптер, өөрөөр хэлбэл Wi-Fi-аар интернетэд холбогдох сүлжээний карт.

Гэхдээ төхөөрөмж бүр өөрийн гэсэн өвөрмөц дугаартай байдаг бөгөөд үүнийг төхөөрөмжийн менежер бидэнд харуулах боломжтой. Мөн дугаарыг мэдсэний дараа бид төхөөрөмжийн драйверийг интернетээр дамжуулан олох боломжтой.

Драйверуудыг төхөөрөмжийн кодоор гараар хэрхэн олох талаар хэд хэдэн жишээг харцгаая.

Эхэндээ би "Simple Communications PCI Controller" тодорхойгүй төхөөрөмжийн драйверийг олох болно.

    Драйвер олохыг хүсч буй төхөөрөмжийн кодыг тодорхойлно уу.

    Төхөөрөмжийн кодыг тодорхойлохын тулд төхөөрөмжийн менежер дээр хулганы баруун товчийг дараад гарч ирэх цэснээс "Properties" -ийг сонгоно уу.

    Нээгдсэн цонхон дээр "Дэлгэрэнгүй мэдээлэл" табыг сонгоод, "Properties" гэсэн бичээсийн доор "Тоног төхөөрөмжийн ID" -г сонгоно уу.

    Юуны өмнө бид хамгийн доод (4-р) мөрөөс кодоор хайхыг хичээдэг. Кодтой 4-р мөрөнд хулганы баруун товчийг дараад "Хуулбарлах" гэснийг сонгоно уу.

    devid.drp.su дээрх кодоор драйвер хайж байна.

    Кодоо хуулж авсны дараа сайтыг нээнэ үү:

    David.drp.su

    Түүн дээр байгаа жолоочийг олохыг хичээцгээе. Энэ сайт нь хөтөлбөрт харьяалагддаг Жолоочийн багц шийдэл, энэ нь бараг бүх боломжит драйверуудыг цуглуулдаг. Эндээс өндөр магадлалтайгаар та ямар ч төхөөрөмжийн драйверийг олох боломжтой.

    Сайтыг нээсний дараа хийх ёстой хамгийн эхний зүйл бол өмнөх алхам дээр хуулсан төхөөрөмжийн кодыг хамгийн урт мөрөнд буулгаж, "&" тэмдэгээс төгсгөл хүртэл энэ кодын бүх зүйлийг устгах явдал юм.

    Жишээлбэл, та кодыг хуулсан:
    PCI\VEN_8086&DEV_0166 &CC_0300

    Тиймээс "&" тэмдэгтүүдийг хассаны дараа та дараах кодтой байх ёстой:
    PCI\VEN_8086&DEV_0166

    Хэрэв та ямар системтэй болохыг мэдэхгүй бол нээнэ үү Windows хайлттэнд "Системийн мэдээлэл" гэж оруулаад жагсаалтаас гарч ирэх програмыг сонгоно уу:

    Нээгдсэн програмын зүүн талд байгаа цонхноос "Системийн мэдээлэл" -ийг сонгоод баруун талд "Үйлдлийн системийн нэр" гэсэн мөрөнд таны Windows-ийн хувилбар гарч ирнэ (миний жишээнд "Windows 10" доорх зурган дээр) , мөн "Төрөл" гэсэн мөрөнд - битийн гүн: x64 эсвэл x86:

    Эдгээр өгөгдөл дээр үндэслэн бид devid.drp.su сайт дээрх системийн төрөл, битийн гүнийг зааж өгдөг.

    Төхөөрөмжийн кодыг зааж, Windows хувилбарыг сонгосны дараа "Драйвер хайх" товчийг дарна уу.

    Үүний үр дүнд хуудас нь таны зааж өгсөн техник хангамжийн кодтой тохирох драйверуудын жагсаалтыг харуулах болно Windows хувилбарууд. "Татаж авах" товчийг ашиглан драйверуудын аль нэгийг компьютерт татаж авна уу.

    Анхаар!
    Хэрэв хэд хэдэн ижил драйверууд гарч ирвэл (дээрх зурган дээрх шиг) драйверын хувилбар баганад хамгийн сүүлд гарсан огноотой драйверийг татаж аваарай.

    "Татаж авах" товчийг дарснаар драйвер таны компьютерт татагдах бөгөөд та үүнийг суулгахад л хангалттай. Драйверуудыг суулгахад ямар ч төвөгтэй зүйл байхгүй бөгөөд би энэ талаар тусдаа нийтлэлд хөндсөн.

    Анхаар!

    Драйверуудын жагсаалтад өөр өөр драйверууд гарч ирэх тохиолдол гардаг, жишээлбэл:

    Энэ нь техник хангамжийн код нь хэд хэдэн төхөөрөмжид ижил төстэй байж болно гэсэн үг юм. Энэ тохиолдолд та зүгээр л татаж аваад суулгах хүртэл санал болгож буй бүх хувилбаруудыг суулгахыг оролдож болно зөв жолооч.

Таны харж байгаагаар жолоочийг олоход тийм ч хэцүү байгаагүй. Одоо би үүнийг илүү ойлгомжтой болгохын тулд өөр жишээг харъя :) Жишээлбэл, би төхөөрөмжийн менежерээс "Ethernet хянагч" гэж тодорхойлсон төхөөрөмжийн драйверийг олох болно.

Би төхөөрөмж дээр хулганы баруун товчийг дараад шинж чанаруудыг нээнэ үү:

Цонхонд "Дэлгэрэнгүй мэдээлэл" табыг сонгоод жагсаалтаас "Тоног төхөөрөмжийн ID" зүйлийг сонгоод 4-р мөрөнд байгаа кодыг хуулна уу.

Би devid.drp.su сайтыг нээж, хуулсан дугаараа зааж, "&" тэмдэгээс эхлэн бүх зүйлийг устгана. Дараа нь би Windows-ийн хувилбарыг сонгоод хайлт хийнэ:

Миний төхөөрөмж болон миний сонгосон Windows хувилбарын хувьд драйверын зөвхөн нэг хувилбарыг татаж аваад суулгаж болно:

Тэгээд л болоо!

Гэсэн хэдий ч devid.drp.su сайт нь таны зааж өгсөн техник хангамжийн кодын драйверуудыг олохгүй байх тохиолдол гардаг. Энэ тохиолдолд өөр сонголт байгаа бөгөөд бид үүнийг доор авч үзэх болно.

Төхөөрөмжийн кодоор драйвер хайх өөр арга

Хэрэв танд хэрэгтэй төхөөрөмжид драйвер байхгүй бол алдартай devid.drp.su сайтад та дараах энгийн аргыг ашиглаж болно.

    Төхөөрөмжийн кодыг тодорхойлно уу. Үүний нэгэн адил, төхөөрөмжийн кодыг (4-р) хуулж авна уу:

    Бид янз бүрийн сайтууд дээр жолооч хайж байна.

    Одоо бид Google.com вэбсайт руу орж, хуулсан кодыг хайлтын талбарт шууд буулгаж, дараа нь "&" тэмдэг болон түүнийг дагасан бүх зүйлийг кодноос хасна, жишээлбэл:

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

    Бид хайлтын товчийг дарахад бидний асуулгад тохирох сайтуудын жагсаалтыг харах болно.

    Одоо та хамгийн эхний (дээд) хэсгээс эхлэн сайтуудыг ээлжлэн нээж, сайт дээрх драйверуудыг татаж авах боломжтой эсэхийг шалгах хэрэгтэй.

    Бүх сайтаас танд хэрэгтэй драйвер олдохгүй гэдгийг нэн даруй тэмдэглэх нь зүйтэй, учир нь тэдний зарим нь таны Windows хувилбарт драйвергүй, заримд нь драйверын оронд ямар ч тэнэг байх болно.

    Дээрх жишээн дээрх зураг дээр би драйверуудыг хамгийн олон удаа олж, ямар ч асуудалгүйгээр татаж авах боломжтой сайтуудыг дугуйлсан. Энд сайтууд байна:

    Хэрэв та хайлтыг гүнзгийрүүлбэл өөрт хэрэгтэй драйвераа татаж авах боломжтой бусад сайтуудыг олох боломжтой. Гэхдээ форум дээрээс жолооч хайх хэрэггүй, учир нь энэ бол хамгийн урт зам юм. Танд хэрэгтэй драйверын холбоос хаана байгааг ойлгохын тулд та дараалсан бүх мессежийг унших хэрэгтэй болно.

    Одоо янз бүрийн сайтаас драйверуудыг татаж авах хэд хэдэн жишээг харцгаая.

    Driver.ru сайтаас драйвер татаж авах жишээ:

    Хайлтын үр дүнгээс сайт руу ороход энэ хуудсанд ихэнх драйверууд таны төхөөрөмжид тохирох болно.

    Эндээс та сайтын үзүүлж буй бүх драйверуудыг ээлжлэн татаж аваад хүссэн драйвераа суулгах хүртэл суулгахыг оролдож болно. Тохиромжгүй бүх драйверуудыг суулгахгүй эсвэл зүгээр л ажиллахгүй тул та ямар нэг буруу зүйл суулгахаас айж болохгүй.

    Драйвер нь зориулагдсан Windows хувилбарт анхаарлаа хандуулахаа бүү мартаарай.

    Санаарай!
    Windows 8, Windows 8.1 болон Windows 10-д зориулсан драйверууд ихэвчлэн нийцдэг бөгөөд жишээлбэл, хэрэв та Windows 8.1-д зориулсан драйверуудыг олж чадаагүй бол Windows 8-д зориулсан драйверуудыг суулгаж үзээрэй. Эсвэл Windows 10-ийн драйверуудыг олж чадаагүй бол оролдоод үзээрэй. Windows 8.1 эсвэл Windows 8-аас суулгаж байна. Мөн Windows 7-д зориулсан драйверууд Windows 8, 8.1, Windows 10-д нийцэх тохиолдол гардаг. Өөрөөр хэлбэл. Та өөр өөр системээс драйвер суулгахыг оролдож болно.

    Энэ сайтаас татаж авах үйл явцын жишээг авч үзье. Танд хэрэгтэй драйвераа олсны дараа доорх "Татаж авах" товчийг дарна уу.

    Дараагийн цонхонд та өгсөн нүдийг чагталснаар робот биш гэдгээ баталгаажуулах хэрэгтэй (доорх зургийг харна уу). Дараа нь доорх "Татаж авах" товчийг дарна уу:

    Эцэст нь, дараагийн хуудсан дээр бид хамгийн дээд хэсэгт өргөтгөлтэй файлын нэр хэлбэрээр татаж авах холбоосыг харах болно.

    Үүн дээр дарж файлыг татаж авна уу.

    Member.driverguide.com сайтаас драйвер татаж авах жишээ:

    Хайлтын системээс сайт руу орсноор энэ хуудсанд таны төхөөрөмжид тохирох драйверуудын жагсаалтыг харуулах болно.

    Татаж авах товчийг дарахад нээгдэнэ шинэ хуудасих хэмжээний зар сурталчилгаа анхаарал татдаг.

    Анхаар!
    Сайт дээр олон зар байгаа бол хаана ч дарж болохгүй, болгоомжтой байгаарай, эс тэгвээс та компьютер дээрээ вирус болон бусад халдвар авах боломжтой!

    Дараагийн цонхонд таныг програм биш харин жинхэнэ хүн гэдгийг батлах цонх гарч ирнэ :) Та цонхны агуулгыг ачаалахыг хүлээх хэрэгтэй бөгөөд "Show" товчийг дарна уу:

    Шинэ цонх нээгдэх бөгөөд бид контентыг ачаалах хүртэл хэдэн секунд хүлээх болно. "Enter" гэсэн бичээсийн хажууд байгаа цонхонд код гарч ирнэ. Энэ кодыг доорх мөрөнд байгаа шигээ дахин бичих шаардлагатай ("Таны хариулт") "Хуудас руу буцах" дээр дарна уу:

    Та "Үргэлжлүүлэх" товч гарч ирэх анхны хуудас руу буцах болно. Үүнийг дарснаар драйверийг компьютерт татаж авч эхэлнэ.

үүн шиг өөр аргата драйверуудыг төхөөрөмжийн кодоор гараар олохыг оролдож болно. Мэдээжийн хэрэг, энэ сонголтын хувьд би зөвхөн 2 сайтаас драйвер татаж авах жишээг үзүүлсэн бөгөөд тэдгээрийн тоо маш олон байдаг. Гэхдээ бүх сайт дээр татаж авах зарчим ижил байна. Зөвхөн интерфэйс нь ихэнх хэсэг, заримдаа татаж авах дарааллаар ялгаатай байдаг.

Гэхдээ та №1 хувилбарт санал болгож буй үндсэн аргыг ашиглан драйверуудыг хялбархан олох боломжтой гэж би илүү их хүсч байна.

Сонголт дугаар 2. Төхөөрөмж үйлдвэрлэгчдийн албан ёсны вэбсайтаас драйверуудыг хайж олох

Хэрэв та 1-р сонголтыг ашиглан төхөөрөмжийнхөө драйверуудыг олж чадаагүй бол үүнийг ийм байдлаар хийж болно.

Та өөрийн компьютерт байгаа төхөөрөмж бүрийн үйлдвэрлэгч, загварыг тэдгээрийн бичиг баримтаас хайх хэрэгтэй болно тусгай хөтөлбөрүүд(жишээлбэл, Aida64 эсвэл Sysinfo Detector), дараа нь төхөөрөмжийн загварын дагуу үйлдвэрлэгчийн албан ёсны вэбсайт эсвэл (албан ёсны вэбсайтад драйвер байхгүй бол) төхөөрөмж тус бүрийн драйверуудыг тусад нь хайж олох.

Энэ жишээг авч үзье. Төхөөрөмжийн менежерт видео карт болон бусад хачирхалтай төхөөрөмжийн драйвер системд суулгаагүй байгааг би харж байна.

Видео карт дээр юу байгааг та хэрхэн тодорхойлсон бэ? Гэхдээ "Видео адаптерууд" хэсэгт байгаа төхөөрөмжүүдийн жагсаалтад "Стандарт VGA график адаптер" төхөөрөмж байгаа бол видео картын драйвер байхгүй, эс тэгвээс төхөөрөмж нь таны видео картын нэртэй байх болно. "NVIDIA GeForce GTX980".

Таны үйлдлийн дарааллыг харцгаая:

    Төхөөрөмжийн үйлдвэрлэгч, загварыг олж мэдэх.

    Анхаар!
    Хэрэв танд төхөөрөмжийн менежерт "Үл мэдэгдэх төхөөрөмж" байгаа бол зарим төхөөрөмжийн драйвер суулгаагүй байх магадлалтай эх хавтанэсвэл эх хавтанд зориулсан тусгай програм. Тиймээс та эхлээд эх хавтангийн бүх драйверууд болон түүнд зориулсан програмуудыг суулгах хэрэгтэй.

    Хэрэв та компьютерийг тусдаа бүрэлдэхүүн хэсгүүдээс угсарсан бол худалдаж авсан төхөөрөмж бүрийн баримт бичигтэй байж болох бөгөөд энэ нь бидэнд юу хэрэгтэй байгааг харуулсан үйлдвэрлэгч, загвар юм. Хэрэв баримт бичиг үлдээгүй бол таны компьютерийн техник хангамжийг тодорхойлдог програмуудын аль нэг нь загварыг олоход тусална. Би Aida64 эсвэл Sysinfo Detector-ийг санал болгож байна. Эхнийх нь төлбөртэй, гэхдээ та үүнийг 30 хоногийн турш үнэгүй ашиглах боломжтой. Хоёр дахь нь бүрэн үнэгүй хувилбартай. Хэрэв та юу сонгохоо бодож байгаа бол түр зуур сонгоорой - Aida64, учир нь энэ хөтөлбөрийн чанар өндөр хэвээр байх болно.

    Aida64 програмыг хэрхэн суулгах, ашиглах талаар нийтлэлд тайлбарласан болно.

    Sysinfo Detector-ийг хэрхэн суулгах, ашиглах талаар нийтлэлд тайлбарласан болно.

    Хэрэв та Aida64 програмаар дамжуулан төхөөрөмжийг илрүүлбэлДараа нь та "Төхөөрөмжүүд\u003e\u003e" хэсгийг сонгосноор ямар төрлийн драйвергүй төхөөрөмжүүдийг тодорхойлох боломжтой. Windows төхөөрөмжүүд", дараа нь баруун талд "Үл мэдэгдэх" (үл мэдэгдэх) гэсэн категорийг нээнэ үү. Сонгосон төхөөрөмжийн талаарх мэдээлэл доор харагдах болно.

    Тиймээс, миний жишээн дээр үл мэдэгдэх төхөөрөмжийг "Asus ATK-110 ACPI Utility" гэж нэрлэдэг.

    Үл мэдэгдэх төхөөрөмж нь эх хавтан дээрх ямар нэгэн зүйл байх магадлалтай гэж би дээр дурдсан тул төхөөрөмжид аль эх хавтан байгааг нэн даруй тодорхойлъё. Үүнийг хийхийн тулд "Эх хавтан" хэсгийг нээж, ижил дэд хэсэгт очно уу. Цонхны баруун талд бид эх хавтангийн үйлдвэрлэгч, загварыг харах болно: Asus P5KPL-AM EPU.

    Одоо видео картын талаар ярилцъя. Видео картыг ихэвчлэн Aida64 дээр "Дэлгэц"> "Видео PCI/AGP" хэсэгт зөв тодорхойлсон байдаг. Таны харж байгаагаар програм нь видео картыг илрүүлсэн байна. NVIDIA GeForce GT 430":

    Хэрэв та Sysinfo Detector-ээр дамжуулан төхөөрөмжүүдийг үзэж байгаа бол, дараа нь та драйверуудыг устгасан төхөөрөмжүүдийг 2 аргаар харж болно. Эхнийх нь "Хазайлт" хэсэгт байна:

    Таны харж байгаагаар Aida64 програмаар дамжуулан ижил төхөөрөмжийг илрүүлсэн: ACPI / ATK0110

    Хоёрдахь арга бол "PCI төхөөрөмжүүд" хэсэгт "Үл мэдэгдэх төхөөрөмжүүд" хэсгийг сонгоно уу. Энд програм нэн даруй 3 "асуудал" төхөөрөмжийг харсан бөгөөд тэдгээрийн нэг нь зөвхөн эх хавтан: Asus P5KPL-AM EPU.

    "PCI төхөөрөмжүүд" хэсэгт видео картын үйлдвэрлэгч, загварыг харах нь дээр. Жагсаалтаас "Дэлгэцийн хянагч" гэсэн дэд хэсгийг олоорой.

    Жишээ нь картын үйлдвэрлэгч нь NVIDIA, загвар нь GeForce GT 430 гэдгийг харуулж байна.

    Тиймээс бид шаардлагатай өгөгдлийг олж мэдсэн бөгөөд одоо жолооч хайх болно.

    Бид төхөөрөмж үйлдвэрлэгчдийн вэбсайтаас драйвер хайж байна.

    Эх хавтан дээрх зарим төхөөрөмж эсвэл эх хавтанд тусгайлан зориулсан програмын хувьд драйвер байхгүй байгааг бид олж мэдсэн. Уг хавтангийн үйлдвэрлэгч нь Asus бөгөөд миний жишээн дээрх загвар нь P5KPL-AM EPU юм. Үйлдвэрлэгч нь Asus тул бид Asus-ийн албан ёсны вэбсайтаас хайх болно.

    Төхөөрөмж үйлдвэрлэгчийн албан ёсны вэбсайтаас хэрхэн хайж олох, драйверуудыг татаж авах талаар дэлгэрэнгүй тайлбарласан болно. Товчхондоо та хайлтын системийг нээх хэрэгтэй Google систем, тэнд үйлдвэрлэгчийн нэрийг бичээд хайлтын үр дүнд эхний сайтыг нээнэ үү. Дараа нь "Үйлчилгээ" эсвэл "Дэмжлэг" хэсэгт очиж төхөөрөмжийн загварыг зааж өгнө үү, жишээлбэл:

    Драйверуудаас гадна "Утилитууд" хэсэгт анхаарлаа хандуулаарай (үүнийг дээрх зурган дээрх жагсаалтаас харж болно), учир нь заримдаа "Үл мэдэгдэх төхөөрөмж" нь эх хавтангийн суулгаагүй тусгай програм юм. Энэ нь асуудал байсан эсэхийг шалгахын тулд сайтад өгсөн эх хавтангийн иж бүрдлийг бүхэлд нь суулгах нь дээр.

    Энэ жишээ нь эх хавтангийн драйверуудыг хайж байгааг харуулж байна. Хэрэв та бүх драйверууд болон хэрэгслүүдийг суулгасан бол төхөөрөмжийн менежерээс "Үл мэдэгдэх төхөөрөмж" алга болно.

    Одоо видео картын драйверийг олцгооё. Aida64 болон Sysinfo Detector програмуудаас авсан мэдээллээс үзэхэд видео картын үйлдвэрлэгч нь NVIDIA, загвар нь GeForce GT 430 юм. Үйлдвэрлэгч нь NVIDIA учраас бид энэ компанийн албан ёсны вэбсайтыг хайж байна. Google-ээр дамжуулан:

    Сайт дээр бид "Драйверууд" хэсгийг нэн даруй харж, "Драйверуудыг татаж авах" хэсгийг хардаг. Бид нээх:

    Видео картын талаархи мэдээллийг зааж өгөх шаардлагатай цонх нээгдэнэ. Миний жишээн дээрх бүтээгдэхүүний төрөл нь "GeForce", хэрэв загвар нь GeForce GT 430 бол бүтээгдэхүүний цуврал нь "GeForce 400 Series" юм. Эндээс санаагаа авах нь тийм ч хэцүү биш юм. Дараа нь "Бүтээгдэхүүний гэр бүл" жагсаалтаас "GeForce GT 430" гэсэн тодорхой загварыг сонгоно уу. Зөвхөн таны компьютер дээр суулгасан Windows-ийн хувилбар болон драйверын хэлийг сонгоход л үлддэг. Дараа нь "Хайлт" дээр дарна уу:

    Зөв драйверийг татаж авах хуудас нээгдэнэ. "Одоо татаж авах" товчийг дарна уу:

    Дараагийн хуудсан дээр бид гэрээний нөхцлийг хүлээн зөвшөөрч, "Хүлээн зөвшөөрч, татаж авах" товчийг дарна уу:

Үүнтэй адилаар та үйлдвэрлэгч, загварыг нь мэддэг ямар ч төхөөрөмжид драйвер татаж авах боломжтой. Зөвхөн үйлдвэрлэгчийн албан ёсны вэбсайтыг хайж олох, тэнд загварыг зааж өгөх шаардлагатай болно.

Жишээлбэл, та албан ёсны вэбсайтаас жолооч олж чадахгүй бол хамгийн сүүлчийн арга зам бол та өөр сайтаас хайж олох боломжтой. Google-ийн хайлтЖишээ хүсэлт нь: "Asus P5KPL-AM EPU-д зориулсан драйвер". Asus P5KPL-AM EPU-ийн оронд та драйвер хайж буй төхөөрөмжийнхөө үйлдвэрлэгч, загварыг зааж өгөх хэрэгтэй.

Эцэст нь хэлэхэд, хэрэв та Windows 8 ба түүнээс дээш хувилбарыг ашигладаг бол драйверуудтай холбоотой асуудал гарахгүй байх магадлалтай гэдгийг би тэмдэглэж байна. Эдгээр системүүд нь ихэнх тохиолдолд Windows суулгасны дараа бүх драйверуудыг автоматаар суулгадаг. Би Windows 8.1 болон Windows 10-ийг хэд хэдэн зөөврийн компьютер дээр дахин суулгахыг оролдсон бөгөөд бүх драйверууд тус бүр дээр автоматаар суулгагдсан тул өөрөө хайх шаардлагагүй болсон.

Энэ нийтлэлд би дууссан гэж үзэж байна. Одоо та төхөөрөмжийн код эсвэл үйлдвэрлэгч, загвараар нь тохирох драйверийг олох боломжтой. Хэрэв та компьютерийнхээ бүрэлдэхүүн хэсгүүдийг бие даан сонгосон эсвэл худалдан авсан компьютерийн зарим мэдээллийг өөрчилсөн бол драйвер хайх ийм сонголт хэрэгтэй болохыг сануулъя.

Мөн тусгай программ ашиглан драйверуудыг компьютерт автоматаар суулгах боломжтой. Энэ боломжийг тусдаа нийтлэлд тайлбарласан болно:

Хамгийн сайн сайхныг хүсье! Бусад нийтлэлүүд дээр уулзацгаая :)

Өнөөдөр бид үзэх болно:

Танд хувийн компьютер хэрэгтэй байгаа олон шалтгаан бий. Энэ нь драйверуудыг автоматаар сонгох програмуудыг ашиглан үргэлж хийгддэггүй.

Дээрээс нь юу дууны драйверЭнэ нь таны компьютерт зайлшгүй шаардлагатай бол та өөрийн компьютер дээрх дууны төхөөрөмж муудсан шалтгааныг мэдэх хэрэгтэй.

Дууны картыг үйлдлийн систем илрүүлээгүй

Үйлдлийн систем нь хувийн компьютерийн дууны картын драйверийг бие даан сонгох боломжгүй тохиолдлуудыг авч үзье. Системийг дахин суулгах, түүнийг дахин ачаалах явцад энэ нь дуут дохио байхгүй байгаагаар тодорхойлогддог.

Ийм нөхцөл байдлыг бий болгох шалтгаан нь тогтсон байж болно дууны төхөөрөмжхувийн компьютер дээр, энэ нь: ховор; хувилбарын огноо нь суулгаж буй үйлдлийн системээс хуучин байна.
Энэ тохиолдолд та дууны драйверийг гараар суулгах хэрэгтэй. Таны компьютерт тохирох дууны драйверийг тодорхойлох хэд хэдэн арга байдаг.

Microsoft нь дууны драйверийг тодорхойлоход тусалдаг

Компьютерийн үйлдлийн систем нь зөв дууны драйверийг тодорхойлоход туслах болно. Курсорыг "Миний компьютер" хавтас руу чиглүүлэх шаардлагатай баруун товчлуурхулгана (RMB), дараа нь "Properties", дараа нь "Тоног төхөөрөмж". Та үүнийг хөнгөвчлөх боломжтой: "Миний компьютер" фолдер дээр хулганы баруун товчийг дараад төхөөрөмжийн менежер хэсэгт очно уу.

Төхөөрөмжийн менежерт жагсаалт нээгдэж, дууны картыг сонгоно уу (драйвер байхгүй, хажууд нь анхаарлын тэмдэг байна). Бид мөрийг сонгоод, дээд талд "Драйверыг шинэчлэх" гэсэн сонголт байгаа бөгөөд дараа нь "Драйвер хайх" гэсэн зүйл гарч ирэхэд бүх зүйл эерэг үр дүнд хүрэхэд "Суулгах" цонх гарч ирнэ.

Дууны драйвер хайх гарын авлагын сонголт

Дууны драйверын автомат сонголт амжилтгүй болвол та үүнийг гараар хайж олох хэрэгтэй, үүний тулд бид ямар ч хайлтын систем (Google, Yandex) руу очдог. Дараа нь хайлтын талбарт компьютер дээрх дууны төхөөрөмжийн нэрийг оруулаад "+ драйвер" нэмээд нээгдэх цонхонд бидэнд хэрэгтэй зүйлээ сонгоно уу.

Хувийн компьютерт ямар драйвер хэрэгтэй вэ? Үүнийг Төхөөрөмжийн Менежер таб дээрээс харахад хялбар байдаг. Драйверыг суулгасан эх хавтангийн үйлдвэрлэгчийн албан ёсны вэбсайтаас татаж авахыг зөвлөж байна (хэзээ дууны картдотор нь суулгасан). Мөн энэ компьютерийн техник хангамжийг шинэчлэх чиглэлээр мэргэшсэн вэбсайтаас драйверийг татаж авахыг зөвлөж байна.

Драйверыг татаж авсны дараа бид "Төхөөрөмжийн менежер" таб руу буцаж очоод "Компьютер дээрх драйверуудыг хайх" хэсгийг нээж, хадгалсан газрыг зааж, "Суулгах".

Дууны драйверийг програмаар суулгаж байна

Компьютер хэрэглэгчдэд гар аргаар болон үйлдлийн систем ашиглан дууны драйвер олоход хэцүү байх тохиолдол байдаг тул түүнийг хайх тусгай програмыг санал болгодог. Одоогийн байдлаар эдгээр зорилгоор хэд хэдэн програмууд байдаг: Driver Checker, Sam Drivers, Device Doctor болон бусад програмууд.

Энэ төрлийн програмын интерфейстэй ажиллах нь ойлгомжтой, ойлгомжтой түвшинд байна.

Мэргэжилтнүүд компьютерийнхээ дууны драйверийг тодорхойлох шаардлагатай өөр өөр тохиолдлууд байдаг.

  • Компьютер дээр суулгасан дууны төхөөрөмжийн загварыг тодорхойлох (компьютер дээрээс уншина уу). Магадгүй дуу чимээний дутагдал нь тоног төхөөрөмж суурилуулаагүйгээс болж BIOS-д ашиглахыг хориглосон байж магадгүй юм.
  • Дууг компьютер дээр нэгтгэсэн тохиолдолд дууны драйверийг зөвхөн "эх хавтан" үйлдвэрлэгчийн вэбсайтаас татаж авахыг зөвлөж байна. тусдаа суурилуулалтчипийн тэмдэглэгээг хасах дууны карт. Тэмдэглэгээний хайлтын системээр дамжуулан шаардлагатай драйверийг олоорой.
  • AIDA 64 програмыг ашиглахыг зөвлөж байна, энэ нь зөвхөн шаардлагатай дууны драйвер төдийгүй бүх зүйлийг харуулах болно суурилуулсан тоног төхөөрөмж, та чипийн тэмдэглэгээг тодорхойлж болно.

Компьютерт холбогдсон ямар ч төхөөрөмжийг хялбар ажиллуулахын тулд зөв драйверуудыг хэрхэн олох талаар олж мэдээрэй.

Хэдийгээр 21-р зуун аль хэдийн хашаанд байгаа бөгөөд бараг бүх хүн компьютертэй болсон ч олон хүн үүнийг технологийн халдашгүй гайхамшиг гэж үздэг. Түүгээр ч барахгүй хамгийн сайн компьютертэй гэдэгтээ бат итгэдэг (худалдагч тэгж хэлсэн болохоор :)) ийм хэрэглэгчид түүн дээр ямар ч програм суулгадаггүй бөгөөд компьютер зөв ажиллаж байгаа эсэхийг шалгахаас санаа зовдоггүй ...

Би яагаад байгаа юм бэ? Нэмж дурдахад, саяхан би зарим нөхдүүд компьютер худалдаж авснаас хойш бараг жил хагасын хугацаанд энгийн видео картын драйвергүй байсан тохиолдолтой тулгарсан !!! Гомдол нь ердийн зүйл байсан - "" :) Тэгээд жолооч байхгүй бол яагаад хурдаа сааруулж болохгүй гэж ?!

Ерөнхийдөө өнөөдөр бид компьютер дээрээ шаардлагатай бүх драйвер байгаа эсэхийг шалгах болно ...

Драйвер гэж юу вэ, түүнийг хэрхэн суулгах вэ?

Драйвер нь компьютерт холбогдсон төхөөрөмж болон өргөтгөлийн картуудтай хэвийн харилцан үйлчлэлийг хангах програм хангамжийн бүрэлдэхүүн хэсгүүдийн багц юм. Өөрөөр хэлбэл, энэ нь дагалдах төхөөрөмжөөс процессор руу болон эсрэгээр тушаалуудыг шилжүүлэх боломжтой тусгай хэрэгслийн програм юм.

Драйвергүйгээр холбогдсон төхөөрөмж нь огт ажиллахгүй (принтер, сканнер болон бусад оффисын тоног төхөөрөмж), эсвэл ажиллах боловч хамгийн оновчтой горимд (видео карт, чипсет гэх мэт) ажиллахгүй. Тийм учраас л хэвийн үйл ажиллагааЗөвхөн компьютерт системийг дахин суулгахад хангалттай биш, түүний бүх бүрэлдэхүүн хэсгүүдийн драйверуудыг олох нь чухал юм!

Драйверыг гурван хувилбараар нийлүүлж болно:

  1. суурилуулалт EXE файл(эсвэл MSI);
  2. масс сонгох, суурилуулах боломжтой график бүрхүүл;
  3. INF файлаар нэмэгдүүлсэн номын сан, үйлчилгээний файлуудын багц.

Драйверуудыг хүргэх эхний сонголтыг Интернет болон таны худалдаж авсан тоног төхөөрөмжтэй хамт ирдэг суулгах дискнүүдээс ихэвчлэн олдог. EXE файлыг татаж авах (эсвэл диск дээр нээх) болон ажиллуулахад хангалттай бөгөөд Суулгацын шидтэн бидний өмнө гарч ирэх бөгөөд энэ нь бүх зүйлийг алхам алхмаар тохируулах боломжийг танд олгоно. Энэ тохиолдолд драйвер суулгах нь ямар ч програм суулгахаас илүү хэцүү биш юм.

Хоёрдахь хүргэх сонголтыг хэд хэдэн өөр драйвер (жишээлбэл, эх хавтангийн драйверууд эсвэл драйверийн багц гэж нэрлэдэг) агуулсан янз бүрийн угсралт бүхий дискнүүдээс олж болно. Ийм угсралт нь ихэвчлэн тусдаа (эсвэл бүгдийг нэг дор) драйверуудыг сонгон суулгах боломжийг олгодог бөгөөд ердийн суулгагчаас илүү төвөгтэй биш боловч том хэмжээтэй байдаг.

Драйверыг гуравдахь аргаар суулгах нь хамгийн ойлгомжтой биш юм. Ийм драйверуудыг ихэвчлэн хуучин технологид зориулж олдог бөгөөд график суулгагч агуулаагүй боловч тэдгээрт холбогдсон төхөөрөмж ажиллахад зориулж номын сангийн багцын суулгах бүх замыг агуулсан INF өргөтгөлтэй файл (заримдаа нэгээс олон) багтдаг.

Драйверыг ийм байдлаар суулгахын тулд та "Төхөөрөмжийн менежер" дээрх контекст цэс рүү залгах хэрэгтэй ("Компьютер" дүрс - RMB - "Properties" (хуучин системүүд дээр "Тоног төхөөрөмж" таб)) үл мэдэгдэх төхөөрөмждараа нь "Драйверуудыг шинэчлэх" хэсгийг сонгоно уу.

Бид энэ замаар явах ёстой цонх нээгдэнэ (тохирох товчлуурууд дээр дарж): "Энэ компьютер дээрх драйверуудыг хайх" - "Аль хэдийн суулгасан жагсаалтаас драйвер сонгох" - "Дискээс суулгах". "Үзэх" товчийг дараад танд хэрэгтэй INF файлын байршлыг зааж өгнө үү:

INF файлын сонголтыг баталгаажуулсны дараа амжилттай суулгасан тухай, эсвэл таны сонгосон файл тохиромжгүй, өөр файлыг (хэрэв байгаа бол) сонгох шаардлагатай гэсэн мессеж гарч ирнэ. Хэрэв INF файлуудын аль нь ч танд зөв драйвер суулгахыг зөвшөөрдөггүй бол та төхөөрөмжийг компьютерт нийцүүлэхийн тулд өөр програм хангамж хайх эсвэл бүр техник хангамж эсвэл системийг өөрчлөх шаардлагатай болно.

За, одоо та драйвер гэж юу болох, яагаад хэрэгтэй, хэрхэн суулгахаа мэддэг болсон тул драйверуудыг хэрхэн олох талаар бодох цаг болжээ.

Төхөөрөмжийн нэрээр хайх

Аливаа төхөөрөмж (хэрэв энэ нь нэргүй хятад гар урлал биш бол) өөрийн гэсэн нэртэй байдаг. Энэ нэр болон системийн хувилбарыг мэдсэнээр та ихэнх тохиолдолд зөвийг томъёолж чадна хайлтын асуулгаорох Хайлтын систем. Жишээ нь: "жолооч Canon принтер Windows 7 64-битийн IP1500" эсвэл "Radeon HD 8700M Windows 8 драйвер".

Хайлтын үр дүнд танд хэрэгтэй драйвераа татаж авах боломжтой сайтууд байх болно. Гэсэн хэдий ч бүх сайтуудыг үнэгүй татаж авах боломжгүй! Санхүү эсвэл чанар муутай програм хангамж суулгаснаас болж шаардлагагүй санаа зоволтгүй байхын тулд би батлагдсан орос хэл дээрх портал ашиглахыг зөвлөж байна.

Энэ сайт нь нэгийг агуулдаг бүрэн цуглуулгууднийт 300 TB-ээс дээш хэмжээтэй интернетийн бүх жолооч нар! Энд та драйверийг төхөөрөмжийн төрлөөр ("Тоног төхөөрөмжийн ангилал" үндсэн жагсаалт) болон үйлдвэрлэгчийн нэрээр (хуудасны дээд талд байгаа цагаан толгойн үсгийн индекс) хайж болно.

Шаардлагатай бүрэлдэхүүн хэсэгтэй хуудсан дээр хэд хэдэн татаж авах сонголтууд байх болно. "Хөтөлбөрийн төрөл" талбаруудад анхаарлаа хандуулаарай ("жолооч" гэсэн үг тэнд байх ёстой, эс тэгвээс та зүгээр л үйлчилгээний хэрэгсэл эсвэл залгаасыг татаж авах боломжтой), "Тодорхойлолт" (энэ нь энэ эсвэл тэр файлыг юунд зориулагдсан болохыг мөн хэлдэг), мөн "Систем". Та робот биш гэдгээ баталж, тайлбарын дараах линкээс драйвераа өөрөө татаж авах боломжтой :)

Мэргэшсэн репозиторууд дээр драйвер хайхаас гадна заримдаа хөгжүүлэгчийн сайтуудаас хайх нь утга учиртай байдаг! Жишээлбэл, алдартай видео картуудын драйверуудыг байнга шинэчилж, татаж авдаг Хамгийн сүүлийн үеийн хувилбарТа ихэнхдээ зөвхөн албан ёсны вэбсайт дээр байж болно. Тиймээс, би хамгийн түгээмэл төөрөгдлөөс жолооч нарт зориулсан хуудсуудыг татаж авах холбоосуудын жижиг жагсаалтыг өгөх болно.

Видео картууд:

Дууны картууд:

Албан тасалгааны тоног төхөөрөмж:

Итгэмжлэгдсэн эх сурвалжаас драйверуудыг татаж авснаар тэдгээр нь ажиллахгүй, вирус агуулаагүй болно гэж санаа зовох хэрэггүй болно. Түүнчлэн, албан ёсны сайтуудаас татаж авахын давуу тал нь та хамгийн сүүлийн үеийн, шинэ драйверуудыг татаж авах баталгаа юм, харамсалтай нь гуравдагч талын эх сурвалжаас татаж авахдаа үүнийг баталгаажуулах боломжгүй юм.

Төхөөрөмжийн ID-аар хайх

Төхөөрөмжийнхөө нэрээр драйвер олох нь маш энгийн ажил юм. Гэсэн хэдий ч хэрэв төхөөрөмж өөрөө үл мэдэгдэх үйлдвэрлэгчийнх бол бид түүний нэрийг бас мэдэхгүй байна! Хэрэв та ийм нөхцөл байдалтай тулгарвал өөр хайлтын арга нь танд туслах болно - тоног төхөөрөмжийн танигч.

Бүх төхөөрөмж, тэр ч байтугай дотор нь системийн блок, хэдийгээр гадаад кабелиар холбогдсон ч системд өөрийн танигч буюу ID-тай. Бид үүнийг аль хэдийн танил болсон "Төхөөрөмжийн менежер" дотроос хүссэн бүрэлдэхүүн хэсгийн "Properties" руу залгаж, "Дэлгэрэнгүй мэдээлэл" таб руу орж "Тоног төхөөрөмжийн ID" эсвэл "ID" гэсэн зүйлийг сонгоод "Property" унадаг цэснээс таних боломжтой. жагсаалт:

-аас эхлэн Windows Vista, Та контекст цэсийг ашиглан танигчийн мөрийн утгыг санах ойд хуулж болно. Өмнөх хувилбаруудад хуулбарлах функц байхгүй тул ID-г гараар дахин бичих шаардлагатай болно.

Одоо бидэнд хэрэгтэй төхөөрөмжийн танигчийг мэдсэнээр бид тусгай үйлчилгээг ашиглан түүнд тохирох драйверуудыг олох боломжтой. Дахин дурьдсан Driver.ru нь бидэнд туслах болно:

Үүнийг хийхийн тулд баруун дээд буланд байрлах "Хайх" товчийг дарж, хуулсан төхөөрөмжийн ID-г нээгдэх хуудасны талбарт оруулаад "ID-ээр хайх" гэсэн зүйлийг шалгаад доор байрлах "Хайх" товчийг дарна уу. оролтын талбар. Нээгдсэн үр дүнгийн дотроос та өөрийн системд тохирох драйверийг хялбархан олж, татаж авах боломжтой.

Драйвер хайх хэд хэдэн томоохон порталууд ижил төстэй байдлаар ажилладаг. Хамгийн сайн нь DevID.info болон DevID.drp.su юм. Дашрамд хэлэхэд, хоёр үйлчилгээ нь танд хэрэгтэй драйверуудаа автоматаар илрүүлж, суулгах боломжийг олгодог өөрийн үйлчлүүлэгчидтэй байдаг. Ийм тусгай програм хангамжийн талаар бид цаашид ярих болно.

Жолооч олох програмууд

Дээр дурдсанчлан бид драйверуудыг гараар хайх шаардлагатай тохиолдлуудыг авч үзсэн. Гэсэн хэдий ч үүний тулд бүх зүйлийг автоматаар хайж олох, татаж авах боломжийг олгодог тусгай програмууд байдаг. Тэдгээрийг бүгдийг нь хоёр төрөлд хувааж болно.

Эхний төрлийн програмууд нь ихэвчлэн жижиг (арван мегабайт хүртэл) клиент модулиуд бөгөөд хуучирсан эсвэл устгаагүй драйверуудыг компьютер дээрээ сканнердаж, дараа нь интернетээс татаж аваад хэдхэн товшилтоор суулгах боломжийг олгодог. Манай сайт дээр ийм төрлийн хөтөлбөрүүдийн алдартай төлөөлөгч бол:

Гэсэн хэдий ч олонхи ижил төстэй шийдвэрүүдНэг том хасах зүйл бий: та өдөрт хэдхэн жолооч үнэгүй татаж авах боломжтой. Хэрэв та хязгаарыг хэтрүүлбэл та татаж авахыг бүрэн хориглох эсвэл татаж авах хурд хамгийн бага хэмжээнд хүртэл буурч, ямар ч байсан дээд зэрэглэлийн данс худалдаж авах болно.

Ийм учраас ийм төрлийн програмуудыг зөвхөн нэг драйверын шинэчлэлтэнд үнэ төлбөргүй ашиглаж болох боловч шинээр суулгасан Windows дээр багц суулгахад ашиглах боломжгүй. Хэрэв та бүгдийг нэг дор хийхийг хүсч байвал таны сонголт бол драйверын багц юм!

Жолоочийн багц (Англи хэлнээс." жолоочийн багц"-" драйверуудын багц ") нь ихэвчлэн сонгосон драйверууд болон бүрхүүлийн программ бүхий оффлайн мэдээллийн сангийн багц юм. Програм нь таны компьютерийг сканнердсаны дараа хэд хэдэн драйвер суулгах эсвэл шинэчлэхийг санал болгодог. Танд хэрэгтэй. хэрэгтэйг нь тэмдэглээд сонголтоо баталгаажуулна уу. Суулгалт автоматаар хийгдэнэ!

Runet-ийн өргөн уудам нутагт хамгийн бүрэн гүйцэд бөгөөд алдартай драйверын багц нь:

Өнөөдрийг хүртэл энэ драйверын багцын хамгийн их хүргэх багцын хэмжээ 10 гигабайтаас их байна. Энэ нь Driver.ru-ийн 30 терабайт мэдээллийн сан шиг гайхалтай биш боловч ийм олон тооны драйверууд хангалттай бөгөөд системийг дахин суулгасны дараа та хайх шаардлагагүй болно. суулгах дискүүдхамт ирсэн эх хавтан, видео карт болон таны компьютер эсвэл зөөврийн компьютерын бусад бүрэлдэхүүн хэсгүүд.

Хэрэв та 10 гигабайт драйвер татаж авахыг хүсэхгүй байгаа бол DriverPack Online-ийн Lite хувилбарыг татаж авах боломжтой. Энэ нь зөвхөн танд хэрэгтэй драйверуудыг тодорхойлж, онлайн мэдээллийн санд холбогдож, зөвхөн хэрэгтэй зүйлээ татаж авах боломжийг олгодог сканнер програм юм.

дүгнэлт

Өнөөдөр компьютер, зөөврийн компьютерын драйверуудыг олох нь тийм ч хэцүү биш юм. Гэсэн хэдий ч аливаа програмын нэгэн адил тэд үе үе шинэчлэлт хийх шаардлагатай байдаг бөгөөд үүнийг олон хүмүүс мартдаг. Дашрамд хэлэхэд шинэчлэлтүүд маш их тусалж чадна!

Тиймээс, жишээлбэл, хавраас хойш "" нь зарим төрлийн DLL номын сангийн талаар гомдол гаргаж эхэлсэн. Хэсэг хугацаанд би энэ байдлыг тэвчсэн боловч дараа нь ядарч, асуудлыг шийдэх арга замыг хайхаар шийдсэн. Үүний буруутан нь видео картын драйверын алдаа байсан нь тогтоогджээ. Драйверыг шинэчилсний дараа бүх зүйл сайжирч, хэдэн сарын турш "нислэг" хэвийн байна :)

Дээрх бүх зүйлийн ёс суртахууны хувьд: хэрэв та компьютер дээрээ гэнэт "гажиг" гарч эхлэх юм уу эсвэл компьютер худалдаж авснаас хойш ажиглагдсан бол / цонхыг дахин суулгаж байна, чухал драйверын шинэчлэлтүүдийг шалгана уу чухал бүрэлдэхүүн хэсгүүдтаны компьютер. Хэрэв байгаа бол тэдгээрийг суулгаж үзээрэй, магадгүй таны систем дахин хэвийн ажиллах болно!

P.S. Эх сурвалжийн нээлттэй идэвхтэй холбоосыг зааж, Руслан Тертышныйгийн зохиогчийн эрхийг хадгалсан тохиолдолд энэ өгүүллийг чөлөөтэй хуулж, иш татахыг зөвшөөрнө.

Үйлдлийн системийг ядаж нэг удаа өөрөө дахин суулгасан хүн бүр тогтвортой ажиллахын тулд компьютер дээр ямар драйвер суулгах шаардлагатайг хэрхэн олж мэдэх вэ гэсэн түгээмэл асуулт гарч ирсэн байх. Энэ асуултанд бид энэ нийтлэлд хариулахыг хичээх болно. Илүү дэлгэрэнгүй ойлгоцгооё.

Онолын хувьд та компьютер эсвэл зөөврийн компьютер дээр шаардлагатай бүх төхөөрөмжид програм суулгах хэрэгтэй. Цаг хугацаа өнгөрөхөд хөгжүүлэгчид үйлдлийн системүүд Microsoft драйверуудын мэдээллийн санг байнга өргөжүүлдэг. Тэгээд орвол Windows цаг XP нь бараг бүх драйверуудыг гараар суулгах шаардлагатай байсан ч шинэ үйлдлийн системүүдийн хувьд олон драйверуудыг автоматаар суулгасан байдаг. Гэсэн хэдий ч програм хангамжийг гараар суулгах шаардлагатай төхөөрөмжүүд байдаг. Энэ асуудлыг шийдвэрлэхэд тань туслах хэд хэдэн аргыг бид танд хүргэж байна.

Арга 1: Үйлдвэрлэгчдийн албан ёсны вэбсайтууд

Шаардлагатай бүх драйверуудыг суулгахын тулд та компьютерийнхээ бүх самбарт зориулсан програм хангамжийг суулгах хэрэгтэй. Энэ нь эх хавтан, видео карт болон гадаад хавтангуудад хамаарна ( сүлжээний адаптерууд, дууны карт гэх мэт). Үүний зэрэгцээ, in "Төхөөрөмжийн менежер"Энэ нь техник хангамжид драйверууд шаардлагатай байгааг илтгэхгүй байж болно. Үйлдлийн системийг суулгахдаа төхөөрөмжийн стандарт програм хангамжийг зүгээр л ашигласан. Гэсэн хэдий ч ийм төхөөрөмжүүдийн програм хангамжийг эх суулгасан байх ёстой. Суулгасан програм хангамжийн ихэнх нь эх хавтан дээр унасан ба чипүүд нь түүн дээр байрладаг. Тиймээс бид эхлээд эх хавтан, дараа нь видео картын бүх драйверуудыг хайж олох болно.

  1. Эх хавтангийн үйлдвэрлэгч, загварыг олж мэдээрэй. Үүнийг хийхийн тулд товчлууруудыг дарна уу Win + Rгар болон нээгдэх цонхонд командыг оруулна уу cmdкомандын мөрийг нээх.
  2. IN тушаалын мөрта тушаалуудыг нэг нэгээр нь оруулах хэрэгтэй:
    wmic суурийн хавтанг үйлдвэрлэгчээс авна уу
    wmic суурь хавтан бүтээгдэхүүн авах
    Дарахаа бүү мартаарай "Оруулах"команд бүрийг оруулсны дараа. Үүний үр дүнд та эх хавтангийн үйлдвэрлэгч, загварыг дэлгэцэн дээр харах болно.
  3. Одоо бид интернетээс үйлдвэрлэгчийн вэбсайтыг хайж, түүн рүү очно. Манай тохиолдолд энэ нь .
  4. Сайт дээр бид хайлтын талбар эсвэл томруулдаг шил хэлбэрээр харгалзах товчлуурыг хайж байна. Дүрмээр бол энэ товчлуур дээр дарснаар та хайлтын талбарыг харах болно. Энэ талбарт та эх хавтангийн загварыг оруулаад дарна уу "Оруулах".
  5. Дараагийн хуудсан дээр та хайлтын үр дүнг харах болно. Та жагсаалтаас эх хавтанг сонгох ёстой. Ихэвчлэн самбарын загварын нэрийн дор хэд хэдэн дэд хэсгүүд байдаг. Хэрэв хэсэг байгаа бол "Жолооч"эсвэл "Татаж авах", ийм хэсгийн нэр дээр дараад түүн рүү очно уу.
  6. Зарим тохиолдолд дараах хуудсыг програм хангамжийн дэд хэсгүүдэд хувааж болно. Хэрэв тийм бол дэд хэсгийг хайж олоод сонгоно уу "Жолооч".
  7. Дараагийн алхам бол унадаг жагсаалтаас үйлдлийн систем болон битийн гүнийг сонгох явдал юм. Зарим тохиолдолд өөр OS сонгохдоо драйверуудын жагсаалтад ялгаатай байж болохыг анхаарна уу. Тиймээс зөвхөн өөрийн суулгасан систем төдийгүй доорх хувилбаруудыг харна уу.
  8. Үйлдлийн системээ сонгосны дараа та эх хавтандаа компьютерийн бусад бүрэлдэхүүн хэсгүүдтэй ажиллахад шаардлагатай бүх програм хангамжийн жагсаалтыг харах болно. Та бүгдийг нь татаж аваад суулгах хэрэгтэй. Татаж авах нь товчлуур дээр дарсны дараа автоматаар хийгдэнэ. Татаж авахэсвэл харгалзах дүрс. Хэрэв та архивыг драйверуудтай хамт татаж авсан бол суулгахаасаа өмнө түүний бүх агуулгыг нэг тусдаа хавтсанд задлахаа мартуузай. Үүний дараа програм хангамжийг суулгана уу.
  9. Эх хавтангийн бүх програм хангамжийг суулгасны дараа видео карт руу шилжье.
  10. Товчлуурын хослолыг дахин дарна уу Win + Rгарч ирэх цонхонд тушаалыг оруулна уу "dxdiag". Үргэлжлүүлэхийн тулд товшино уу "Оруулах"эсвэл товчлуур "БОЛЖ БАЙНА УУ"ижил цонхонд.
  11. Оношлогооны хэрэгслийн цонхонд нээгдэх таб руу очно уу "Дэлгэц". Эндээс та график адаптерынхаа үйлдвэрлэгч, загварыг олж мэдэх боломжтой.
  12. Хэрэв танд зөөврийн компьютер байгаа бол таб руу очих ёстой "Хөрвүүлэгч". Эндээс та хоёр дахь дискрет график картын талаарх мэдээллийг харж болно.
  13. Видео картынхаа үйлдвэрлэгч, загварыг олж мэдсэний дараа та компанийн албан ёсны вэбсайт руу орох хэрэгтэй. Гол график карт үйлдвэрлэгчдийн татаж авах хуудасны жагсаалтыг энд оруулав.
  14. Та эдгээр хуудсан дээр өөрийн видео картын загвар болон үйлдлийн системээ биттэй зааж өгөх хэрэгтэй. Үүний дараа та програмыг татаж аваад суулгаж болно. График адаптерийн програм хангамжийг албан ёсны сайтаас суулгах нь дээр гэдгийг анхаарна уу. Зөвхөн энэ тохиолдолд тусгай бүрэлдэхүүн хэсгүүдийг суулгаж, видео картын гүйцэтгэлийг нэмэгдүүлж, нарийн тохируулах боломжтой болно.
  15. График адаптер болон эх хавтангийн програм хангамжийг суулгахдаа үр дүнг шалгах хэрэгтэй. Үүний тулд бид нээж байна "Төхөөрөмжийн менежер". Товчнуудын хослолыг дарна уу ЯлахТэгээд "R"гар дээр гарч ирэх цонхонд devmgmt.msc командыг бичнэ үү. Үүний дараа бид дарна "Оруулах".
  16. Үүний үр дүнд та цонхыг харах болно "Төхөөрөмжийн менежер". Энэ нь тодорхойгүй төхөөрөмж, төхөөрөмжийг агуулж болохгүй, нэрнийх нь хажууд байцаалт эсвэл анхаарлын тэмдэг. Хэрэв ийм зүйл тохиолдвол та шаардлагатай бүх драйверуудыг суулгасан болно. Хэрэв ийм бүрэлдэхүүн хэсгүүд байгаа бол бид дараах аргуудын аль нэгийг ашиглахыг зөвлөж байна.

Арга 2: Автомат програм хангамж шинэчлэх хэрэгслүүд

Хэрэв та бүх програм хангамжийг гараар хайж, суулгахаас залхуу байгаа бол энэ ажлыг хөнгөвчлөх зорилготой програмуудыг сайтар судалж үзэх хэрэгтэй. Програм хангамжийг автоматаар хайх, шинэчлэх хамгийн алдартай програмуудыг бид тусдаа нийтлэлд авч үзсэн.

Та тайлбарласан хэрэгслүүдийн аль нэгийг ашиглаж болно. Гэхдээ бид DriverPack Solution эсвэл Driver Genius ашиглахыг зөвлөж байна. Эдгээр нь драйверуудын хамгийн том мэдээллийн сан, дэмжигдсэн техник хангамжтай програмууд юм. DriverPack Solution-ийг хэрхэн ашиглах талаар бид аль хэдийн хэлсэн.

Тиймээс, Driver Genius програмыг ашиглан бүх драйверуудыг хэрхэн олж суулгахыг танд хэлье. За ингээд эхэлцгээе.

  1. Бид хөтөлбөрийг эхлүүлнэ.
  2. Та тэр даруй түүний дээр өөрийгөө олох болно нүүр хуудас. Дунд хэсэгт нь ногоон товчлуур байна "Шалгаж эхлэх". Бид үүнийг зоригтойгоор дардаг.
  3. Таны компьютер эсвэл зөөврийн компьютерийг сканнердах процесс эхэлнэ. Хэдэн минутын дараа та програмыг татаж авах, суулгах шаардлагатай бүх төхөөрөмжүүдийн жагсаалтыг харах болно. Бид тодорхой драйвер хайхгүй байгаа тул боломжтой бүх зүйлийг шалгадаг. Үүний дараа товчлуурыг дарна уу "Цаашид"програмын цонхны доод хэсэгт.
  4. Дараагийн цонхонд та энэ хэрэгслийг ашиглан драйверуудыг аль хэдийн шинэчилсэн төхөөрөмжүүдийн жагсаалтыг харах болно, мөн програм хангамжийг татаж авах, суулгах шаардлагатай төхөөрөмжүүдийн жагсаалтыг харах болно. Сүүлчийн төхөөрөмжийн төрлийг нэрний хажууд саарал дугуйгаар тэмдэглэв. Найдвартай байхын тулд товчлуурыг дарахад л хангалттай "Бүгдийг татаж авах".
  5. Үүний дараа програм шаардлагатай файлуудыг татаж авахын тулд серверүүдтэй холбогдохыг оролдох болно. Хэрэв бүх зүйл сайн болвол та өмнөх цонх руу буцаж очих бөгөөд та програм хангамжийг татаж авах явцыг холбогдох мөрөнд хянах боломжтой.
  6. Бүх бүрэлдэхүүн хэсгүүдийг татаж авах үед төхөөрөмжийн нэрний хажууд байгаа дүрс нь доош чиглэсэн сумтай ногоон өнгөтэй болно. Харамсалтай нь бүх программ хангамжийг нэг товчлуураар суулгаад ажиллахгүй. Тиймээс шаардлагатай төхөөрөмжтэй шугамыг сонгоод товчлуурыг дарна уу "Суулгах".
  7. Сонголтоор сэргээх цэг үүсгэнэ үү. Үүнийг дараагийн харилцах цонхонд танаас хүсэх болно. Өөрийн шийдвэрт тохирох хариултыг сонго.
  8. Үүний дараа сонгосон төхөөрөмжид драйвер суулгах процесс эхлэх бөгөөд энэ үед стандарт харилцах цонх гарч ирнэ. Тэдгээрийн дотор та лицензийн гэрээг уншиж, товчлуурыг дарах хэрэгтэй "Цаашид". Энэ үе шатанд танд ямар ч асуудал гарах ёсгүй. Энэ эсвэл өөр програм хангамжийг суулгасны дараа та системийг дахин ачаалахыг хүсэх болно. Хэрэв ийм мессеж гарч ирвэл бид танд үүнийг хийхийг зөвлөж байна. Драйверыг амжилттай суулгасны дараа, Жолооч програмТоног төхөөрөмж бүхий шугамын хажууд суут ухаантнууд ногоон тэмдэглэгээ байх болно.
  9. Тиймээс та жагсаалтаас бүх тоног төхөөрөмжийн програм хангамжийг суулгах хэрэгтэй.
  10. Төгсгөлд нь итгүүлэхийн тулд компьютерээ дахин сканнердаж болно. Хэрэв та бүх драйверуудыг суулгасан бол ижил төстэй мессежийг харах болно.
  11. Үүнээс гадна та бүх програм хангамж суулгасан эсэхийг шалгаж болно "Төхөөрөмжийн менежер"Эхний аргын төгсгөлд тайлбарласны дагуу.
  12. Хэрэв танигдаагүй төхөөрөмжүүд байгаа бол дараах аргыг туршаад үзээрэй.

Арга 3: Онлайн үйлчилгээ

Хэрэв өмнөх аргууд танд тус болоогүй бол энэ сонголтод найдаж байна. Үүний утга нь бид өвөрмөц төхөөрөмж танигчаар программ хангамжийг гараар хайх болно гэсэн үг юм. Мэдээллийг давтахгүйн тулд манай хичээлтэй танилцахыг зөвлөж байна.

Үүнээс та ID-г хэрхэн олох, дараа нь юу хийх талаар дэлгэрэнгүй мэдээллийг авах болно. Мөн хамгийн том хоёр онлайн драйвер хайлтын үйлчилгээг ашиглах гарын авлага.

Арга 4: Драйверыг гараар шинэчлэх

Энэ арга нь дээр дурдсан бүхнээс хамгийн үр ашиггүй юм. Гэсэн хэдий ч маш ховор тохиолдолд тэр програм хангамжийг суулгахад туслах боломжтой болно. Үүнд шаардлагатай зүйлс энд байна.


Эдгээр нь хамгийн их юм үр дүнтэй арга замуудпрограм хангамжийг суулгахад шаардлагатай төхөөрөмжүүдийг тодорхойлох. Санал болгож буй хувилбаруудын нэг нь энэ асуудлыг шийдвэрлэхэд тусална гэж найдаж байна. Төхөөрөмжийнхөө програм хангамжийг цаг тухайд нь шинэчлэхээ бүү мартаарай. Хэрэв танд драйверуудыг олох, суулгахад бэрхшээлтэй байгаа бол сэтгэгдэл дээр бичнэ үү. Бид хамтдаа бүх зүйлийг засах болно.

Бидний мэдэж байгаагаар техник хангамжийн түвшинд орчин үеийн компьютертодорхой электрон бүрэлдэхүүн хэсгүүд болох функциональ нэгжүүдээс бүрддэг. Өргөн хүрээний хэрэглэгчид хувийн компьютеруудпроцессор, санах ой, видео карт, дууны карт гэх мэт функциональ блокуудыг мэддэг. HDD, I / O хянагч (гар, хулгана, joystick, USB зөөвөрлөгч (флаш диск)), принтер, сканнер болон бусад төхөөрөмжүүдийн ажиллагааг хангадаг. Физик түвшинд эдгээр төхөөрөмжүүд нь тусгай автобус, протоколоор дамжуулан бие биетэйгээ харилцаж, үйл ажиллагааны симбиозтой харилцан үйлчлэлийн хослолыг бий болгодог бөгөөд энэ нь ерөнхийдөө компьютерийн үйл ажиллагааг тодорхойлдог. Гэхдээ компьютер бол зөвхөн цуглуулга юм электрон бүрэлдэхүүн хэсгүүд? Мэдээжийн хэрэг үгүй, учир нь үндсэн техник хангамжийн модулиудын нэг, CPU, нь машины зааврыг гүйцэтгэхэд зориулагдсан бөгөөд бидний мэдэж байгаагаар программууд нь дараалалаас бүрддэг тул үүнээс үүдэн өөр нэг түвшний програм хангамжийг дурдах нь зүйтэй болов уу. Одоо тийм ч хол биш өнгөрсөн үе рүүгээ буцъя; Компьютерийн эриний эхэн үед программын код (ихэвчлэн машины код/бага түвшний хэлээр шууд бичигдсэн) техник хангамжийн бүтэц нь харьцангуй энгийн байсан тул техник хангамжтай шууд харьцах боломжтой байв. Гэсэн хэдий ч цаг хугацаа өнгөрөх тусам технологи хөгжиж, техник хангамж, програм хангамжийн түвшин харилцан уялдаатай хөгжиж, эхнийх нь маш олон төрлийн төхөөрөмж, хоёр дахь нь асар олон төрөл зүйл бий болсон. програм хангамжийн модулиуд, энэ нь хожим үйлдлийн системүүд бий болоход хүргэсэн. Үйлдлийн систем нь компьютерийн салбарын хөгжлийн түүхэн дэх гол үе шат байсан, учир нь энэ нь бусад зүйлсийн дотор төхөөрөмжүүд болон програмуудын хоорондын харилцан үйлчлэлийг хангадаг холбоос, нэг төрлийн зохицуулагч (диспетчер) үүрэг гүйцэтгэсэн. Програм хангамжийн давхаргаас (жишээлбэл, хэрэглэгчийн програмууд) энэ эсвэл тэр төхөөрөмжтэй өгөгдөл солилцох хүсэлтүүд, өөрөөр хэлбэл энэ нь үнэндээ техник хангамж ба програм хангамжийн хэсгүүдийн хоорондын интерфейс болж үйлчилдэг. Үйлдлийн системүүд ч бас зогссонгүй, хэрэв эхэндээ үйлдлийн систем нь компьютерийн техник хангамжтай харьцах нь харьцангуй энгийн байсан бол архитектур улам төвөгтэй болж, шинэ техник хангамжийн боломжууд нэвтэрч эхэлснээр үйлдлийн системийн бүтэц улам төвөгтэй болсон. Үйлдлийн системийг хөгжүүлэх явцад хөгжүүлэгчид зах зээл дээр байгаа хамгийн олон тооны техник хангамжийн төхөөрөмжүүдтэй бүрэн харилцан үйлчлэлцэх кодыг бий болгохыг хичээсэн. Гэсэн хэдий ч x86 хувийн компьютерийн архитектур илүү төвөгтэй болсон ийм хандлага нь тодорхой ангилал / төрлийн төхөөрөмжтэй харилцах үүрэгтэй драйвер гэж нэрлэгддэг тусдаа програм хангамжийн давхарга гэсэн ойлголтыг бий болгоход хүргэсэн. Жолоочийн үзэл баримтлал нь маш амжилттай болсон тул үндсэн чиглэл болох физик төхөөрөмжүүдийн дэмжлэгээс гадна логик / виртуал төхөөрөмжүүдийн зарим ангилалд шилжүүлсэн. Энэ нийтлэлд бид юу болох талаар ярих болно windows драйвер.

Онол

Жолооч гэдэг ойлголтоос жаахан холдож ерөнхий онолыг харъя. Системд драйвер гэж юу байдгийг ойлгохын тулд эхлээд x86-64 ерөнхий архитектурын талаархи хамгийн бага онолыг судлах хэрэгтэй. Яагаад x86, тийм ээ, яагаад гэвэл энэ платформ нь: а) би туршилтаар сонгосон, б) үйл ажиллагааны үйлчлүүлэгч сегментэд хамгийн түгээмэл байдаг. Windows системүүд. Энэ хэсэгт дурдсан функцууд нь үйлдлийн систем өөрөө болон үүний дагуу түүний найрлага дахь драйверуудын ажлын олон талын талаархи ойлголтыг бидэнд өгөх болно.

Процессорын ажиллах горимууд

Аливаа үйлдлийн системийн дотоод бүтэц нь түүний ажиллаж буй платформын техник хангамжийн онцлогт суурилдаг. Төв холбоос нь процессор бөгөөд x86-64 архитектурын процессорууд нь хэд хэдэн үйлдлийн горимтой байдаг.

  • Бодит горим;
  • Виртуал горим (Виртуал горим);
  • Хамгаалагдсан горим;
  • Урт горим (Урт горим).

X86 архитектурын хувийн компьютерийг хөгжүүлэх эрин үед процессор нь бодит горимд ажилладаг байв. Гэсэн хэдий ч бодит горим нь технологийг цаашид хөгжүүлэх боломжгүй хэд хэдэн онцлог шинж чанартай байсан тул аажмаар өнгөрсөн зүйл болсон: 16 битийн өгөгдлийн автобус ба 20 битийн хаягийн автобус (хаягжуулалтын хязгаарлалт), сегмент хаяглалт. сегментийн хэмжээ 64 килобайт (хаяг ашиглахад тохиромжгүй), хаягийн зайд нэвтрэх хязгаарлалт байхгүй. Одоо байгаа хязгаарлалтыг арилгахын тулд хамгаалалтын горимыг боловсруулсан бөгөөд энэ нь үйлдлийн системийг хөгжүүлэхэд чухал ач холбогдолтой хэд хэдэн функцийг хангасан: "олон даалгавар", хамгаалалтын механизм (давуу эрхтэй командуудад хандах), өөр өөр кодын хандалтыг хянах боломжийг олгодог. хэсгүүд (хөтөлбөрүүд) хоорондоо, загвар виртуал санах ой. Хамгаалагдсан горимд Intel процессорууд x86 архитектурууд нь хамгаалалтын цагираг эсвэл давуу эрх гэж нэрлэгддэг түвшинг хэрэгжүүлдэг. Тэдгээрийн дөрөв нь: 0 (хамгийн давуу эрхтэй), 1, 2 ба 3 (хамгийн давуу эрхтэй). Давуу эрхийн түвшин нь цөмийн горимын кодыг хэрэглэгчийн програмаас болон хэрэглэгчийн программыг бие биенээсээ хамгаалах зорилготой бөгөөд энэ нь авлигад хүргэж болзошгүй юм. Гэсэн хэдий ч Windows үйлдлийн систем нь жагсаасан бүх түвшнийг ашигладаггүй, зөвхөн хоёр нь л үүнд оролцдог: 0 ба 3.
Үүнийг ойлгохын тулд бид Windows-ийн бүрэлдэхүүн хэсгүүдийн харилцан үйлчлэлийн хялбаршуулсан диаграммыг толилуулж байна.

Таны харж байгаагаар Windows үйлдлийн системийн дотоод орчин нь хоёр хэсэгт хуваагдаж, гүйцэтгэх хоёр горимыг дэмждэг.

  • Хэрэглэгчийн горим- тоног төхөөрөмжийн 3-р процессорын хамгаалалтын цагирагтай холбоотой давуу эрхгүй горим;
  • Цөмийн горим нь техник хангамжийн 0-р процессорын хамгаалалтын бөгжтэй холбоотой давуу эрхтэй горим юм;

Энэ функц нь магадгүй Windows-ийн дотоод бүтцийг ойлгоход хамгийн чухал зүйл юм: дэлхийн хэмжээнд үйлдлийн систем нь хэрэглэгчийн горим ба цөмийн горим гэсэн хоёр үндсэн хэсэгт хуваагддаг.

Үнэн хэрэгтээ энэ нь орчин үеийн олон үйлдлийн системүүдийн үндсэн, үндсэн ойлголтуудын нэг учраас үүнийг нэг удаа ойлгож, ухамсарлаж, санах нь зүйтэй.
Хэрэглэгчийн горим ба цөмийн горим нь дараахь ялгаатай байна.

  • Тусгаарлагдсан (давхцаагүй) виртуал хаягийн орон зай: хэрэглэгчийн горимын зай нь доод хэсгийг эзэлдэг (хаяг-аас хүртэл), цөмийн горимын зай нь дээд хэсгийг (хаяг-аас хүртэл) эзэлнэ;
  • Нөөцөд (санах ой, процессор, төхөөрөмж гэх мэт) өөр өөр код нэвтрэх эрхүүд.

Дараах процессууд хэрэглэгчийн горимд ажилладаг:

Дэд систем Тодорхойлолт
Системийг дэмжих үйл явц
  • Winlogon нэвтрэх үйл явц (winlogon.exe)
  • Үйл явц локал сервер lsass баталгаажуулалт (lsass.exe)
  • Үйлчилгээний хяналтын менежер процесс (services.exe)
  • Сеанс менежерийн процесс (smss.exe)
  • Консолын процесс (conhost.exe)
  • Орон нутгийн сесс менежерийн процесс (lsm.exe)
  • . . .
Үйлчилгээний процессууд
  • Үйлчилгээнд зориулсан хост процесс (svchost.exe)
  • Түр хадгалах процесс (spoolsv.exe)
  • WMI үйлчилгээний удирдлагын процесс (winmgmt.exe)
  • . . .
Хэрэглээ
  • Хэрэглэгчийн програмууд (бусад ангилалд ороогүй бүх програмууд).
  • Даалгаврын менежер (taskmgr.exe)
  • Explorer (explorer.exe)
  • Удирдлагын консол (mmc.exe)
  • . . .
Байгаль орчны дэд системүүд
  • Win32 дэд систем (csrss.exe , kernel32.dll , advapi32.dll , user32.dll , gdi32.dll , ...)
  • Линукс дэд систем (lxss.sys, lxcore.sys)
  • POSIX дэд систем (psxss.exe , psxrun.exe , posix.exe , psxdll.dll )
  • OS/2 дэд систем (os2.exe, os2ss.exe, os2srv.exe)
  • WOW/WOW64 дэд систем ( wow64win.dll , wow64.dll , wow64cpu.dll )
  • . . .
Цөмийн функцүүдийн интерфейс
  • Шаардлагатай функцүүдийн хяналтыг цөм рүү шилжүүлэх боломжийг олгодог. ntdll.dll дэмждэг

Цөмийн горимд:

Дэд систем Тодорхойлолт
Гүйцэтгэх тогтолцоо (Гүйцэтгэх засаглал)
  • I/O менежер
  • Процессын менежер
  • Thread Manager
  • Виртуал санах ойн менежер
  • Объект менежер
  • PnP менежер
  • Эрчим хүчний менежер
  • Цонхны менежер
  • . . .
Цөм Ачаалах үе шатанд системд чухал ач холбогдолтой драйверуудыг эхлүүлэх, процессор хоорондын синхрончлол, хуваарь гаргах, процессууд / урсгалууд / тасалдлыг хуваарилах, үл хамаарах зүйлүүд / алдаануудыг зохицуулах / илгээх болон бусад функцууд (ntoskrnl.exe , ntkrnlmp.exe , ntkrnlpa.exemp , , .exe).
Төхөөрөмжийн драйверууд физик/логик/виртуал төхөөрөмжийн драйверууд: файлын систем, сүлжээ, диск болон бусад драйверууд.
Цонх / график дэд систем (Цонх ба график систем) График функцийг дэмждэг цонхны болон графикийн дэмжлэгийн дэд систем. Хэрэглэгчийн интерфэйс(График хэрэглэгчийн интерфэйс, GUI). (win32k.sys)
Техник хангамжийн хийсвэр давхарга (HAL) платформын техник хангамжаас хараат бус байдлыг хангаж, цөмийн бүрэлдэхүүн хэсгүүдийг өвөрмөц байдлаас тусгаарладаг техник хангамж. (hal.dll)

Аливаа үйлдлийн систем нь зүгээр л техник хангамжтай ажиллах чадвартай байх ёстой тул түгээлтийн хэрэгсэл (суулгах хэрэгсэл / системийн файлууд) нь үндсэн техник хангамжийн бүрэлдэхүүн хэсгүүдийн драйверуудыг агуулдаг бөгөөд үүнгүйгээр систем нь техник хангамжид хандах эрхээ алдах болно. ажиллах боломжтой эсвэл огт ажиллахгүй байх нь суулгах процессыг давах болно. Эдгээр "дотоод" драйверууд нь техник хангамжийн хувьслын үе шатууд болон зах зээлийн чиг хандлагаас хамааран хувилбараас хувилбар болгон өөрчлөгддөг суулгагдсан драйверын номын сан гэж нэрлэгддэг хэлбэрээр танилцуулагддаг. Энэ номын сангийн драйверуудыг шаардлагатай бол үйлдлийн системийг суулгах үе шатанд компьютер дээрх тодорхой төхөөрөмжүүдийг илрүүлэх (таних) зэргээс хамааран суулгадаг. Ерөнхийдөө суулгах явцад техник хангамж илрүүлэх код нь компьютер дээр суулгасан төхөөрөмжүүдийг илрүүлж, номын сангаас харьцуулж болох драйверуудыг шалгадаг. Системийн драйверууд байдаг төхөөрөмжүүдийн хувьд суурилуулалтыг автомат (арын) горимд гүйцэтгэдэг. Тиймээс "гарцанд" үйлдлийн системийг суулгасны дараа бид ажиллахад шаардлагатай системийн драйверуудын хамгийн бага багцыг авах боломжтой бөгөөд энэ нь ажиллах боломжтой анхны ажлын орчинг зохион байгуулах боломжийг олгодог. Гэхдээ ихэнх төхөөрөмжүүдийн бүрэн ажиллагаатай байхын тулд төхөөрөмжийн үйлдвэрлэгчээс өгсөн драйверууд шаардлагатай байж болох тул та түгээлтийн хэрэгсэлд суурилуулсан драйверуудаар өөрийгөө хязгаарлах ёсгүй гэдгийг санах нь зүйтэй.

Асуулт хэвээр байна: цөмийн горимын бүх бүрэлдэхүүн хэсгүүд нь зөвхөн HAL давхаргаар дамжуулан техник хангамжтай харьцдаг уу? үл хамаарах зүйл бий юу? Вэб дээр олон эх сурвалжууд график адаптерийн драйверууд нь HAL-ийг алгасаж "шууд" видео картуудтай харьцдаг диаграммуудыг өгдөг. Миний санаж байгаагаар Windows-ийн зарим хувилбаруудад графикууд хамгийн чухал ач холбогдолтой байсан тул тэдгээрийг шууд ажилладаг төхөөрөмжүүдийн тусдаа ангилалд хуваасан. график адаптер, мөн үүнийг хурдасгахын тулд хийсэн GUIсистемүүд.

Тасалдлын хүсэлтийн түвшин (IRQL)

Windows үйлдлийн системийн ажиллагааг тодорхойлдог дотоод үндсэн механизмуудын дунд драйверуудын ажиллах зарчмыг ойлгоход маш чухал сэдэв байдаг бөгөөд үүнийг тойрч гарах боломжгүй юм. Энэ механизмыг нэрлэдэг тасалдлын хүсэлтийн түвшин(Тасалдлын хүсэлтийн түвшин, IRQ түвшин, IRQL) бөгөөд ойлгоход нэлээд хэцүү тул түүний гүнзгийрүүлсэн судалгаа нь танилцуулсан материалын хамрах хүрээнээс хол давсан боловч энэ нийтлэлд бид нэгтгэн дүгнэхийг оролдох болно (цаашид бид түүнд зориулж тусдаа нийтлэл хуваарилах болно). Үнэнийг хэлэхэд, би өөрөө IRQL-ийн тухай ойлголтын талаар эргэлзсээр байгаа тул үе шат бүрт олж авсан мэдлэг дээрээ үндэслэн өөрийн ойлголтыг алхам алхмаар системтэйгээр илэрхийлэх болно.
Тасалдал гэдэг нэр томьёо нь процессорын бодит горимтой үргэлж холбоотой байсаар ирсэн бөгөөд MSDOS үйлдлийн системийн үед бүх зүйл маш энгийн байсан: тасалдлын вектор хүснэгтээр дамжуулан 256 тасалдлын багц байдаг. Эдгээр тасалдалуудын зарим нь гадны техник хангамжийн үйл явдлаар бие даан үүсгэгдсэн техник хангамж байсан бол зарим нь програм хангамжийн кодоос дуудагдах боломжтой байсан. Тасалдлын хүснэгтийн оруулгуудыг дахин тодорхойлж болно, өөрөөр хэлбэл тасалдал зохицуулагч векторыг өөрийн боловсруулалтын горимд хүссэнээр өөрчлөх боломжтой байсан. Тасалдлын хүсэлтийн түвшин гэх мэт ойлголтууд байдаггүй, бүх зүйл энгийн бөгөөд ойлгомжтой байсан. Гэсэн хэдий ч процессорууд болон үйлдлийн системүүдийн хувьсал өөрчлөлтөөр эхлээд хамгаалалттай горим гарч ирсэн бөгөөд дараа нь Windows, тэр мөчөөс эхлэн бүх зүйл хурдан төвөгтэй болж эхлэв.
Гэнэт Windows 95 / NT-ийн хамгийн эхний хувилбаруудад зарим төрлийн хүснэгт гарч ирэв (тасалдлын хүсэлтийн 32 түвшнээс бүрдэх), түвшин нь хамгийн бага 0 (идэвхгүй) -ээс хамгийн дээд 31 (өндөр) хүртэл ангилагдсан:

Нэр Анги Зорилго Intel x86-64 түвшин
ӨНДӨР Техник хангамж Хамгийн дээд түвшин. NMI болон бусад төрөл. 31
ХҮЧ Техник хангамж Цахилгаан тасарсан үйл явдал 30
IPI Техник хангамж Процессор хоорондын дохио. Процессор хоорондын харилцааны дохио. 29
ЦАГ Техник хангамж Системийн таймерын мөчлөг 28
PROFILE Техник хангамж Гүйцэтгэлийн хяналт. Цөмийн профайл таймер (системийн гүйцэтгэлийг хэмжих механизм). 27
ТӨХӨӨРӨМЖ Техник хангамж DIRQL (IRQL төхөөрөмж). Төхөөрөмжийн техник хангамж тасалдсан. 3-26
DISPATCH Програм Хуваарьлагчийн үйлдлүүд/хойшлогдсон процедурын дуудлагууд (DPCs). 2
APC Програм Асинхрон процедурын дуудлага. 1
ИДЭВХҮЙ Програм Идэвхгүй түвшин. Ямар ч тасалдал байхгүй. Энгийн хэрэглэгчийн горимын кодын гүйцэтгэлийн түвшин 0

Таны харж байгаагаар дээрх хүснэгтэд маш сонирхолтой шинж чанар байдаг: програм хангамж болон техник хангамжийн түвшинг хоёуланг нь нэгтгэсэн (0-2 нь програм хангамжийн түвшин, 3-31 нь техник хангамжийн түвшин).

IRQL бол Microsoft-ын хөгжүүлэгчид нэвтрүүлсэн програмчлалын өмч юм. Энэ механизм нь процессороос ямар ч техник хангамжийн дэмжлэггүй байдаг. Энэхүү систем нь техник хангамжийн тасалдал хянагч (PIC) болон өөрийн програм хангамжийн түвшний тасалдлын түвшинг нэг техник хангамжаас хамааралгүй тасалдлын түвшний хүснэгтэд буулгах механизмаар дамжуулан тохиолддог бүх төрлийн тасалдлыг бие даан удирддаг.

Энэхүү мэдэгдлээс харахад загвар нь өөрийн гэсэн програм хангамж бөгөөд түүний түвшин нь ямар ч техник хангамжийн үзүүлэлттэй холбоогүй бөгөөд энэ нь системд техник хангамжийн болон техник хангамжийн бус төрлийн тасалдлыг тэргүүлэх чиглэлүүдийн нэг шатлалд нэгтгэх боломжийг олгодог. Доод (техник хангамж/програм хангамжийн бус) IRQL түвшин (PASSIVE, APC, DPC/DISPATCH) нь үйлдлийн системийн программ хангамжийн дэд системүүдийг синхрончлоход ашиглагддаг: утас солих эсвэл оролт гаралтын дуусгах боловсруулалт зэрэг хуваарийн үйлдлүүдийг гох. Тэдгээрийг нарийвчлан авч үзье:

  • IRQL-ийн 0-р (хамгийн бага) тэргүүлэх чиглэл (PASSIV):Энэ нь хэрэглэгчийн горим болон цөмийн горимд үйлдлийн системд ажил хийгддэг ердийн тасалдлын хүсэлтийн түвшин юм. Код (програм) ажиллаж байна өгөгдсөн түвшин, ямар ч зүйлээр зүгээр л тасалдуулж (урьдчилан сэргийлж) болно: жишээлбэл, IRQ PASSIVE түвшинд ажиллаж буй урсгалуудыг тэдэнд хуваарилсан квант хугацаа дууссаны дараа төлөвлөгч урьдчилан сэргийлдэг.
  • APC болон DPC/DISPATCH IRQL нь төлөвлөгчтэй холбоотой програм хангамж тасалдлын түвшин юм.
  • 1-р түвшний IRQL (APC):Энэ түвшинд APC гэж нэрлэгддэг процедурууд, өөрөөр хэлбэл, тодорхой урсгалын хүрээнд асинхрон бусаар гүйцэтгэдэг процедурууд, өөрөөр хэлбэл асинхрон оролт / гаралтыг зохион байгуулах, эсвэл аливаа (гадаад, глобал) системийн объектууд. Кодод APC функцуудыг (жишээлбэл, WaitForSingleObjectEx) ашиглах нь функцийг шууд гүйцэтгэхэд хүргэдэггүй, харин урсгал нь (түүний хүрээнд функцийг гүйцэтгэдэг) тусгай төлөвт орж, APC програм хангамжийн тасалдал үүсдэг. функцийн дуудлагыг дотоод дараалалд байрлуулна. Дараагийн удаа тэр хэлхээг ажиллуулах цаг болоход APC давхарга дээр төлөвлөсөн APC функцийг гүйцэтгэнэ. Тиймээс APC давхарга дээр ажиллаж байгаа утаснууд нь өөрийн APC давхаргаас хүсэлт хүлээн авдаггүй бөгөөд үүнийг систем нь I/O дуусгах үйл ажиллагаанд ашигладаг.
  • Түвшин 2 IRQL (DPC/DISPATCH):
    • Хойшлогдсон процедурын дуудлагуудыг (DPCs) зохицуулахад ашигладаг: Хойшлогдсон процедурын дуудлагууд нь IRQL DISPATCH түвшинд шилжих хүртэл гүйцэтгэхээр хойшлогдсон буцаан дуудлагын горимууд юм; Ихэвчлэн CPU-ийн цаг чухал биш нэмэлт ажлыг гүйцэтгэхийн тулд DPC-ийг өндөр IRQL-ээс хүсдэг. Энэ бол гүйцэтгэлийн хувьд маш чухал үе шат бөгөөд одоо би яагаад гэдгийг тайлбарлах болно. Төхөөрөмжийн драйверууд нь DIRQL түвшинд удаан хугацаа шаардахгүй, ингэснээр бусад тасалдлыг хааж, улмаар бүхэл бүтэн системийг удаашруулахгүйн тулд өөрсдийн тасалдлын үйлчилгээний горим (ISR) дотор хамгийн бага тооны үйлдлийг хийхийг хичээдэг. .

      IRQL түвшин өндөр байх тусам үйл явцын чадвар буурна. Энэ нь хөгжүүлэгчдийг урамшуулдаг өндөр түвшин IRQL нь зөвхөн хамгийн шаардлагатай үйлдлүүдийг гүйцэтгэх ба бусад бүх үйлдлүүдийг бага түвшинд гүйцэтгэх.

      Хэрэв жолооч процессорын ихээхэн цаг зарцуулдаг нэмэлт ажил шаардлагатай гэдгийг ойлговол DPC-ээс хүсэлт гаргаж, энэ ажлыг түүнд шилжүүлдэг. IRQL нь DISPATCH руу унах үед хойшлогдсон драйверын функцийг буцааж дуудаж, бусад боловсруулалтыг хийдэг. IRQL DISPATCH түвшинд ижил төстэй алгоритмыг хэрэгжүүлснээр драйвер нь DIRQL түвшинд бага цаг зарцуулдаг бөгөөд үүний дагуу өөрийн тасалдлыг боловсруулахад саатал гарах хугацааг багасгаж, улмаар бусад системийн төхөөрөмжүүдэд чөлөөлдөг.

    • Хуваарилагчийн даалгавруудыг гүйцэтгэхэд ашигладаг: Windows NT үйлдлийн системүүд нь урьдчилан сэргийлэх олон ажлыг хэрэгжүүлдэг бөгөөд энэ нь үйлдлийн систем дээр ажиллаж байгаа процесс бүрийг гүйцэтгэхэд хуваарилдаг гэсэн үг юм. тодорхой хугацаа. Thread scheduler болон DPC-ийн IRQL нь 2 байдаг тул энэ нь хэрэглэгчийн урсгалуудын тэргүүлэх чиглэлээс өндөр (0-р түвшинд ажилладаг). Хариуд нь хуваарилагчийн тэргүүлэх чиглэл нь техник хангамжийн тасалдал (төхөөрөмжийн тасалдал) -аас доогуур байдаг, өөрөөр хэлбэл техник хангамжийн тасалдлаар тасалдаж болно.

За, гэхдээ яагаад энэ бүх түвшинг орхиж, "хавтгай" дарааллын загвар гаргах эсвэл эдгээр бүх төрлийн ажлыг ирэхэд нь гүйцэтгэх боломжгүй байсныг би одоо болтол ойлгохгүй байна вэ? Ажлын нөхцөл байдлыг дуурайж үзье:
гэх мэт кодыг төсөөлөөд үз дээ жижиг програм"өвдөг дээр" гэж бичсэн. Тиймээс бид үүнийг гүйцэтгэхээр эхлүүлсэн бөгөөд манай програмын системд процесс үүссэн бөгөөд үүний хүрээнд үндсэн утас ажиллаж эхэлсэн. Ердийн урсгал (хэрэглэгчийн горим эсвэл цөмийн горим) нь хамгийн бага IRQL PASSIVE түвшинд ажилладаг. Утасыг гүйцэтгэх явцад цаг (таймер чип) нь тодорхой хугацаа өнгөрснийг үйлдлийн системд зааж өгөхөд ашигладаг цагийн интервалыг тоолохын тулд өөрийн тасалдлыг үе үе үүсгэдэг. Цагийн тасалдлыг зохицуулах процедурыг IRQL CLOCK түвшинд гүйцэтгэдэг бөгөөд (хэрэв та хүснэгтийг харвал) ихэнх түвшнүүдээс илүү давуу талтай байдаг: хуваарьлагчийг ажиллуулдаг DISPATCH түвшин болон манай програмыг ажиллуулдаг PASSIVE түвшин. Тиймээс таймер нь төлөвлөгч болон манай программын аль алиных нь ажлыг байнга орлуулдаг. Цаг хэмжигчийг дарах бүрт таймер тасалдлын горим нь таймерын үлдсэн хугацааг багасгадаг. Энэ мөчманай хэрэглэгчийн thread time quantum. Гүйцэтгэх урсгалын цагийн зүсэлт тэг болж буурах үед цагийн тасалдлын зохицуулагч нь DISPATCH түвшний тасалдлыг үүсгэдэг бөгөөд ингэснээр дараагийн гүйцэтгэх хэлхээг сонгохоор төлөвлөгчийг ажиллуулдаг. DISPATCH түвшний тасалдлыг үүсгэсний дараа таймер тасалдал зохицуулагч нь кодын гүйцэтгэлийг зогсоож, хяналтыг системийн цөмд буцаана. Цөм нь хүлээх горимд байгаа хүсэлтийн дараалалд хамгийн өндөр ач холбогдол бүхий дараагийн тасалдлыг олдог. Тасалдал бүрийг ээлжлэн засварлана. DISPATCH түвшнээс дээш бүх тасалдлыг засварлах үед DISPATCH түвшний тасалдлын горимыг гүйцэтгэнэ. Энэ тасалдал зохицуулагч нь DPC жагсаалтыг боловсруулж, дараа нь төлөвлөгчийг дууддаг. Хуваарьлагч нь одоогийн урсгалын цаг хугацааны квант дууссан, өөрөөр хэлбэл тэг болж буурсан болохыг илрүүлж, үүний дараа Хуваарьлагч дараагийн гүйцэтгэх хэлхээг сонгох хуваарийн алгоритмыг гүйцэтгэдэг. Систем IRQL PASSIVE түвшинд унасан үед гүйцэтгэхээр тохируулсан хэлхээний код ажиллана.
Тэргүүлэх чиглэлүүд ийм байдлаар хэрэгжиж, үүний дагуу урьдчилан сэргийлэх олон үүрэг гүйцэтгэдэг. Та тасалдлын хүсэлтийн түвшний шатлалыг системээс устгасан гэж төсөөлөөд үз дээ, энэ тохиолдолд систем хэрхэн ажиллах вэ? Энэ нөхцөлд юу, хэзээ гүйцэтгэх нь тодорхойгүй байх бөгөөд систем нь ирж буй бүх даалгавруудыг ээлжлэн гүйцэтгэх бөгөөд энэ нь хэлхээ нь төлөвлөгчийг хялбархан урьдчилан сэргийлж, улмаар урьдчилан сэргийлэх олон үйлдлийг ерөнхийд нь устгах эсвэл бүрмөсөн идэвхгүй болгоход хүргэдэг. үйлдлийн системийн урьдчилан таамаглах боломжгүй үйлдлийн ард. Тиймээс:

IRQL нь Windows-ийн гэр бүлийн үйлдлийн системүүдэд синхрончлол хийхэд ашигладаг техник хангамж-програм хангамжийн тэргүүлэх түвшний түвшин бөгөөд өөрөөр хэлбэл IRQL түвшин нь ажлын мөчлөгийн туршид Windows үйлдлийн системд гүйцэтгэсэн бүх үйлдлийг эрэмбэлэх үндсэн арга юм.

тус тус:

IRQL нь тасалдал болон бусад асинхрон (гэнэтийн) үйл явдлуудын хувьд процессор дээр ажиллаж байгаа кодын тэргүүлэх чиглэлийг заадаг.

Систем дэх IRQL түвшний зорилго нь дараах байдалтай байна.

  1. Маск хийх: Тасалдлын түвшинг нэмэгдүүлснээр PIC хянагч дээрх үндсэн техник хангамжийн тасалдлын түвшинг таслах (маск) хийх боломжтой. Энэ нь доод түвшинд тохиолддог тасалдлыг түр үл тоомсорлох боломжийг олгодог бөгөөд ингэснээр энэ түвшинд техник хангамжийн тасалдлын горимыг гүйцэтгэхэд цаг хугацаа хожих болно.
  2. Техник хангамжийн синхрончлол: олон процессорын систем дэх өөр өөр процессор/цөм дээр ажиллаж байгаа хэлхээ хоорондын өгөгдлийг синхрончлох.
  3. Програм хангамжийн цаг: янз бүрийн APC/DPC горимуудад хэзээ засвар үйлчилгээ хийж болохыг тодорхойлох, хэрэглэгчийн горимын программуудад хэзээ засвар үйлчилгээ хийх боломжтойг тодорхойлох.

Тиймээс дэлхийн түвшинд IRQL механизм нь үйлдлийн системийн дэд программыг дараахь зүйлийг хийх боломжийг олгодог.

  • Дахин нэвтрэхийг удирдах (дахин нэвтрэх)
  • Энэ нь бусад үйлдлээр урьдчилан сэргийлэх (урьдчилан сэргийлэх)гүйгээр үргэлжлүүлэн ажиллах боломжтой эсэхийг шалгаарай.

Процессын синхрончлол нь санамсаргүй дарааллаар хэд хэдэн процесс эсвэл хэлхээнд ашиглах үед нөөцийг (файл, санах ой дахь өгөгдөл) бүрэн бүтэн байдлыг хангах боломжийг олгодог механизм юм.

За, гэхдээ энэ нь жолооч нарт хэрхэн нөлөөлөх вэ? Драйверууд нь хэрэглэгчийн горим болон цөмийн горимд байж болох бөгөөд тэдгээр нь хэрэглэгчийн болон цөмийн горимд ажилладаг гэдгийг бид мэднэ. Үүнээс үзэхэд:

Драйверын код нь янз бүрийн IRQL түвшинд ажиллах боломжтой.

Энэ нь нэлээд чухал хоёр дүгнэлтэд хүргэдэг:

  1. Жолоочийн код нь давуу эрхтэй бөгөөд тасалддаг. Системийн бусад кодын нэгэн адил энэ нь хуваарилагдсан хугацааны төгсгөлийн дараа ямар ч үед тасалдаж болно;
  2. Жолоочийн код тодорхой багцыг ашиглах ёстой системийн функцуудгүйцэтгэж байгаа IRQL түвшингээс хамаарна.

Драйвер код нь бага IRQL-д ажиллаж, зарим объектыг (жишээ нь, файл.txt файл) өөрчилсөн, дараа нь өндөр IRQL-ийн өөр код нь гүйцэтгэлийг гэнэт тасалдуулж, ижил файл.txt файлыг өөр өөр өгөгдөлтэй өөрчилдөг нөхцөл байдлыг төсөөлөөд үз дээ. Хяналт нь манай драйвер руу буцаж ирэхэд тэр файлыг өөрийн өгөгдлөөр үргэлжлүүлэн өөрчлөх бөгөөд ингэснээр өөр эх сурвалжаас ирсэн өгөгдлийг дарж бичих болно. Тиймээс файл нь үл нийцэх төлөвт орох болно. Эдгээр асуудлыг шийдвэрлэхийн тулд янз бүрийн синхрончлолын системийн объектуудыг нэвтрүүлсэн. Цөмийн түвшний код нь тодорхой төрлийн өгөгдлийн төрөл болох мутекс объектуудыг өөрчлөхийн тулд эхлээд түгжээний өмчлөлийг олж авах ёстой.

Жолоочийн тухай ойлголт

Windows үйлдлийн системийн цөм нь төхөөрөмжтэй бие даан ажиллахад зориулагдаагүй.

Үүний дагуу энэхүү мэдэгдлээс гарсан дүгнэлтүүд нь тодорхой байна: систем нь төхөөрөмжүүдтэй харилцахын тулд тусдаа интерфейс шаардлагатай байдаг, тэр ч байтугай хэд хэдэн интерфэйсүүдийн цогц хослол байж болно. Жолоочийн концепцийг хослуулах асуудлыг шийдэхийн тулд боловсруулсан бөгөөд ихэнх загварт ашиглагддаг орчин үеийн системүүд, энэ нь системийн цөмийг ямар ч төрлийн логик / физик төхөөрөмжтэй харилцан үйлчлэлцэх боломжийг олгодог тусгай кодын цөмийн хаягийн орон зайд ажиллахад суурилдаг.
Нөөцийн ерөнхий чиг баримжааг харгалзан бид нийтлэлд зөвхөн Windows үйлдлийн системийн драйверуудын онцлогийг авч үзэх болно. Тэгэхээр төлөө Windows драйверууд, ерөнхийдөө бусад үйлдлийн системийн драйверуудын хувьд дараах мэдэгдэл үнэн байна.

Драйвер (Драйвер) - үйлдлийн систем (хэрэглэгчийн програмууд, цөм болон бусад бүрэлдэхүүн хэсгүүд) нь зарим физик эсвэл логик төхөөрөмжийн функцэд нэвтрэх боломжийг олгодог програм хангамж юм.

ижил, гэхдээ өөрөөр хэлбэл:

Драйвер - хэрэглэгчийн горимын код, цөмийн горимын код, физик/логик/виртуал төхөөрөмжийн функцүүдийн хоорондын интерфейс.

Дээрх тодорхойлолтуудын нэг нь драйверын нэг чухал шинж чанарыг онцлон тэмдэглэв: драйверийг зөвхөн физик төхөөрөмжтэй харьцаж байгаа гэж үзэх нь алдаа юм, учир нь драйвер нь ямар ч техник хангамжийн функцэд хандах эрх өгөх шаардлагагүй тул энэ нь мөн адил үйлчилгээ үзүүлэх боломжтой. зөвхөн програм хангамжийн функцууд. Ийм шийдлүүдийн жишээ бол вирусны эсрэг програм, өгөгдөл шифрлэх систем, хяналтын системээр системд суулгасан драйверууд юм. Ерөнхий алгоритмАливаа драйверын ажиллагаа дараах байдалтай байна: програмууд нь хэрэглэгчийн тусгай интерфэйсийн функцээр (Windows-д энэ нь Win32 API юм) эсвэл I / O хүсэлтээр дамжуулан төхөөрөмжийн драйверын функцэд шууд бус / шууд ханддаг. Драйвер нь эргээд сонирхож буй төхөөрөмжийн функциональ шинж чанаруудад хандах боломжийг олгодог бөгөөд програмын хүсэлт болон төхөөрөмж өөрөө хоорондын харилцан үйлчлэлийн үйл явцыг хянадаг. Мэдээжийн хэрэг, жолооч нь үйлчилгээнд хамрагдсан (боол, өөрийн) төхөөрөмжтэй харилцах бүх зарчмуудыг тодорхойлох (тодорхойлох) ёстой, удирдаж буй объектын талаархи мэдээллийн багц, зааварчилгаа (командын багц), тэдгээрийн тусламжтайгаар систем / хэрэглэгчийн код нь төхөөрөмжийг зөв эхлүүлж, түүнтэй харилцах боломжтой.

Үйлдлийн системийг эхлүүлэх үед драйверуудыг ачаалж байна

Үйлдлийн систем ачаалагдах үед эхний Windows драйвер ачаалагдаж, ажиллаж эхлэх нь маш сонирхолтой байх болно. Гэсэн хэдий ч нарийвчилсан танилцуулгад энэ үйл явц нь энгийн зүйл биш бөгөөд гүнзгий ойлгохын тулд ачаалах олон бүрэлдэхүүн хэсгүүдийн кодыг өөрчлөх шаардлагатай бөгөөд бүх зүйлээс гадна ачаалах гэх мэт олон холбогдох зүйлийг анхаарч үзэх хэрэгтэй. драйверуудын хоорондын хамаарлаас шалтгаалан жолооч нарыг "ачих бүлэг" гэж нэрлэж болох дараалал, драйверуудыг ачаалах нь өөрөө хэд хэдэн үе шатанд хуваагдаж болно. Үүний зэрэгцээ, вэб дээр аль хэдийн хуучирсан үйлдлийн системүүдийн талаар маш их хэмжээний материал байгаа тул татаж авах процессыг шинэчлэхийг хичээх болно. Windows драйверууд(Надад хамгийн ойр байдаг) Windows 7 үйлдлийн системийн жишээн дээр.. Эхлэхийн тулд үндсэн бүрэлдэхүүн хэсгүүдийн талаар ярих нь гэмтээхгүй байх болно. Windows цөмдрайвер ачаалах үйл явцад идэвхтэй оролцдог:

  • Менежер (менежер) оролт / гаралт (Оролт / гаралтын менежер)- оролт / гаралтын процессыг хянадаг гүйцэтгэх дэд системийн нэг хэсэг болох цөмийн горимын модуль нь хэрэглэгчийн хэрэглээний физик, логик төхөөрөмжүүдийн хийсвэр байдлыг хангадаг. системийн бүрэлдэхүүн хэсгүүдХэрэглэгчийн горимын програмуудыг драйверуудтай холбодог. Жолоочтой харилцах үйл явцын үе шатуудыг хянадаг. Оролт / гаралтын менежерийн жолооч нартай бүхэл бүтэн өгөгдөл солилцох нь жолоочийн буцаан дуудлагын процедурыг дуудаж, тэдгээрт драйвер руу залгасан дуудлагын мөн чанарыг тодорхойлсон стандартчилагдсан IRP мэдээллийн бүтцийг дамжуулах замаар хийгддэг;
  • Plug-and-Play Manager (PnP Manager)- үйлдлийн системд төхөөрөмж нэмэх, таних, устгах үүрэгтэй гүйцэтгэх дэд системийн нэг хэсэг болох цөмийн горим ба хэрэглэгчийн горимын модуль. Цөмийн горимын нэг хэсэг нь суулгах (ачаалах) явцад системийн бусад бүрэлдэхүүн хэсгүүд болон драйверуудтай харилцан үйлчилдэг. програм хангамжсистем дэх төхөөрөмжүүдэд үйлчлэхэд шаардлагатай. Хэрэглэгчийн горимын хэсэг нь шинэ драйвер суулгах эсвэл одоо байгаа драйверуудын үйлдлийн параметрүүдийг тохируулах шаардлагатай нөхцөлд хэрэглэгчийн горимын програмуудтай (интерактив хэрэглэгчийн туршлагын хувьд) харилцах үүрэгтэй. Систем дэх техник хангамжийн нөөцийн хуваарилалтыг удирдаж, төхөөрөмжүүдийг хэрхэн таних, тэдгээрийн холболт / салгахад хариу өгөх, шинэ төхөөрөмж илэрсэн үед тохирох драйверуудыг ачаалах;
  • Үйлчилгээний хяналтын менежер (SCM)- үйлчилгээ болон үйлдлийн системийн драйверуудыг үүсгэх, устгах, эхлүүлэх, зогсоох үүрэгтэй системийн процесс. Түүнчлэн: үйл явдлын бүртгэлийг ажиллуулах, алсын зайнаас процедурын дуудлагын (RPC) технологийг дэмжих;

Эдгээр хоёр менежер, өөрөөр хэлбэл I/O менежер болон PnP менежерүүд хоорондоо идэвхтэй харилцдаг.
Одоо бид үйлдлийн системийг ачаалах үйл явцыг тайлбарлах болно, гэхдээ бид үүнийг дассан хэлбэрээр хийхгүй, харин үйлдлийн системийн тайлбарласан бүрэлдэхүүн хэсгүүдийн драйверуудтай ажиллахтай холбоотой гол санааг товч дурдах болно.

  1. Bootmgr(.efi) нь winload(.efi) модулийг ачаалж, түүнд хяналтыг дамжуулдаг.
  2. Winload(.efi) нь бүртгэлийн үүрийг сканнердаж байна HKEY_LOCAL_MACHINE\Систем\үйлчилгээнүүдсистемд суулгасан бүх драйверуудын жагсаалтыг авна. Энэ бүртгэлийн үүр нь зорилтот драйверуудтай таарах түлхүүрүүдийг агуулдаг бөгөөд тэдгээр нь драйверийг ачаалах тодорхой шалгуурыг тодорхойлдог Group , Start , Type , LoadOrderGroup , DependOnGroup , DependOnServices зэрэг драйвертай холбоотой янз бүрийн тохиргоог агуулдаг.
  3. Winload(.efi) нь хөтөч хянагчийн драйверууд, файлын системийн драйверууд гэх мэт үйлдлийн системийг ачаалах/ашиглах эхний үе шатанд чухал ач холбогдолтой драйверуудыг ачаалдаг. Мэдээжийн хэрэг, ийм драйверууд нь бусад драйверуудыг ачаалах үндэс суурийг бүрдүүлдэг тул хамгийн чухал ач холбогдолтой байдаг тул эдгээр болон бусад шалтгааны улмаас хяналтыг цөм рүү шилжүүлэх үед санах ойд байх ёстой. Үүний дагуу тэдгээрийг тусгай төрлийн SERVICE_BOOT_START гэж тэмдэглэсэн. Жолооч нарт зориулсан энэ үе шатхарьяалагдах бүлгүүдээс хамааран татаж эхэлнэ.
  4. Winload(.efi) нь ntoskrnl.exe-ээс цөмийг шууд ачаалж, түүнд хяналтыг дамжуулдаг.
  5. Цөм нь I/O Manager болон PnP Manager-ийг ачаалдаг.
  6. I/O менежер нь дэлхийн каталог үүсгэдэг. Энэ санг дараа нь төхөөрөмжийн объектыг бүртгэхэд ашигладаг.
  7. PnP менежер нь өмнөх алхамд (SERVICE_BOOT_START төрлийн) санах ойд ачаалагдсан драйверуудыг драйвер бүрийн DriverEntry процедурыг дуудаж ажиллуулдаг. Энэ үе шатанд хамааралтай драйверууд бас ачаалагддаг.
  8. PnP менежер нь системийн төхөөрөмжийн модыг бүтээж, түүнийг үндэснээс нь дамжуулж, ачаалагдаагүй байгаа төхөөрөмжийн драйверуудыг ачаална.
  9. PnP менежер нь Start параметрийн утгаас үл хамааран үлдсэн буулгасан төхөөрөмжийн драйверуудыг ачаална. Эдгээр драйверуудын ихэнх нь SERVICE_DEMAND_START төрлийн байна.
  10. PnP менежер нь дэвшилтэт функциональ драйверуудыг ачаалдаг. Эдгээр драйверуудад видео адаптер драйвер, гадаад төхөөрөмжийн драйверууд, TCP/IP стек драйверууд орно. Ийм драйверууд нь SERVICE_SYSTEM_START төрлийн байдаг.
  11. Цөм нь Session Manager дэд системийн үйлчилгээг (SMSS) ачаалдаг бөгөөд энэ нь эргээд Үйлчилгээний хяналтын менежерийг (SCM) ачаалдаг. SCM нь бүртгэлийн үүрийг сканнердаж байна ( HKEY_LOCAL_MACHINE\SYSTEM\Current ControlSet\Services) болон хүлээн авсан мэдээлэлд үндэслэн үйлчилгээ/драйверуудын дотоод мэдээллийн санг холбож, суулгасан үйлчилгээ/драйверуудад үйлчлэх програмчлалын интерфейсийг бүрдүүлнэ. SCM нь "автоматаар эхлүүлэх" PnP бус драйверуудыг (SERVICE_AUTO_START төрлийн) болон тэдгээрээс хамааралтай бүх драйверуудыг ачаалдаг.

Драйверуудыг ачаалах энэ бүх алгоритмаас бид дараах үндсэн дүрмийг ойлгох хэрэгтэй: драйверийг PnP менежер эсвэл SCM ашиглан (драйверийн үе шат / ангиллаас хамаарч) ачаалж болно, гэхдээ I / O менежер идэвхтэй оролцдог. жолоочийн үйл ажиллагааны явцад .

Windows драйверын бүтэц

Бүтцийн хувьд жолооч ямар байж болох вэ? Энэ нь үнэхээр тодорхой байдлаар зохион байгуулагдсан тусгай ангийн хөтөлбөр мөн үү? Би ч бас нэг удаа тэгж бодож байсан, гэхдээ хэрэв та бодож байгаа бол үйлдлийн системийн хөгжүүлэгчид яагаад амьдралаа улам хүндрүүлж, зарим цөмийн бүрэлдэхүүн хэсгүүдийн гүйцэтгэх файлын дүрсний тусгай форматыг зохион бүтээх ёстой гэж? Удаан хугацааны туршид дибаг хийж, зуун удаа нотлогдсон хуучин хувилбарыг тохируулах нь илүү хялбар байдаг.

Драйвер бол ердийн зүйл болох "цөм горимын номын сан" юм DLL файл, PE толгой хэсэг нь (IMAGE_NT_HEADERS бүтэц, OptionalHeader дэд бүтэц) Subsystem = 1 талбарын утгатай байна (IMAGE_SUBSYSTEM_NATIVE).

Дэд системийн төрлийг бүтээх явцад тохируулж болно гүйцэтгэх боломжтой модуль. Төрөлхийн дэд систем нь сонгодог хувилбараас бусад дүрмийн дагуу ажилладаг програмуудын хувьд ердийн зүйл юм: зургийг гүйцэтгэхэд бэлтгэх үе шатанд Win32 дэд системийг эхлүүлэх шаардлагагүй болно. Бусад зүйлсийн дотор үндсэн дэд системийг цөмийн горимын кодонд ашигладаг бөгөөд энэ нь бараг бүх драйверууд юм.

DLL-тэй зүйрлэвэл бид драйверийг тодорхой төрлийн дуудлагыг удирдахад зориулагдсан процедурын багц (гадаад програмууд гэж нэрлэдэг) гэж энгийнээр төсөөлж болно.

Жижигхэн ухралт хийж, объектын хувьд ийм ойлголтын талаар ярилцъя. Үйлдлийн системийн бусад модулиудын нэгэн адил Windows драйверын үйл ажиллагааны бүх үйл явц нь янз бүрийн системийн мэдээллийн бүтцээс хамаардаг. Эдгээр бүтцийг цөмөөр удирддаг бөгөөд урсгал, үйл явдал, оролт/гаралтын хүсэлт, төхөөрөмж болон бусад нэгжүүдийг агуулж болно.

  • Объектууд. Үйлдлийн системийн тодорхой нэгжийн шинж чанаруудын бүртгэлийг агуулсан мэдээллийн блокууд. Объектуудын диспетчер (менежер) удирддаг. Олон объектууд нь тухайн объектыг программд ашиглах боломжтой болгодог тодорхойлогч (дескриптор)-тэй байдаг.
  • Өгөгдлийн бүтэц. Үйлдлийн системийн тодорхой нэгжийн шинж чанаруудын бүртгэлийг агуулсан мэдээллийн блокууд. цөмөөр удирддаг. Объектуудаас ялгагдах боловч (инерцийн улмаас) объект гэж нэрлэдэг

Ийм учраас (маш их дарамттай) Windows үйлдлийн системийн бүх дотоод бүтцийг объект гэж нэрлэдэг.
Одоо драйверийн процедур руу буцаж очиход, драйверын "процедурууд" гэж нэрлэгддэг үйлдлийн системийн дэд бүтцийн объектуудаас ирж буй үйл явдлуудыг боловсруулдаг COM объектууд гэж нэрлэгддэг бөгөөд драйвер нь үйлдлийн системийн цөмийг COM-ээр хангадаг гэж хэлдэг. драйверын хэрэгжүүлсэн хэд хэдэн процедураар тодорхойлогдсон интерфейс. Экспортлох, өөрөөр хэлбэл гаднаас нь нэвтрэхийн тулд жолоочийн процедурыг нийтлэх (мэдэгдэл) нь DriverEntry гэж нэрлэгддэг драйверын үндсэн процедурт (бүх драйверуудын стандарт) бүртгүүлэх замаар хийгддэг.

DriverEntry функцын гол зорилго нь драйвер хөгжүүлэгч нь драйверын объектыг (бүтцийн бичлэгүүд) нэг буюу өөр функцээр хангадаг янз бүрийн драйверын дотоод журмын заагчаар дүүргэх явдал юм. DriverEntry горимд та төхөөрөмжийн объектын нэрийг тохируулах (өөрчлөх) боломжтой бөгөөд дараа нь програмууд төхөөрөмжийн бариулыг нээж, I/O хүсэлтийн пакетуудыг (IRP) илгээхэд ашигладаг.

DriverEntry функц нь үнэндээ глобал эхлүүлэх функц бөгөөд драйверийг ачаалах үед нэг удаа хийгддэг. Энэ функц нь аль болох энгийн байж болно, эсвэл нэмэлт төхөөрөмжийн объект үүсгэх, төхөөрөмжийн санал асуулга, төхөөрөмж(үүд)-ийг тохируулах, эхлүүлэх нэмэлт үе шатууд зэрэг дэвшилтэт функцуудыг (нэмэлт дэд програмууд) агуулж болно.
Өөрийн функцуудыг нийтлэсний дараа драйвер нь үйлдлийн системийн "харагдах" цөм болдог. Аль хэдийн нэлээд төвөгтэй онолыг улам хүндрүүлэхгүйн тулд бид Windows цөмийн үүднээс авч үзвэл аливаа төхөөрөмж нь стандартчилсан тушаалын багцаар ажилладаг, дотоод интерфейсээр дамжуулан нэвтрэх боломжтой хийсвэр "виртуал төхөөрөмж" юм. . Дээр дурдсанчлан Windows үйлдлийн системийн цөмд гүйцэтгэх системийн тусгай модуль байдаг. I/O менежер, энэ нь физик төхөөрөмжийн драйверууд, логик төхөөрөмжийн драйверууд болон файлын системийн драйверууд зэрэг цөмийн горимын бүх драйверуудын харилцан ажиллах нэг интерфейсээр хангадаг. Үүний дагуу цөмийн I/O систем нь драйверуудыг удирддаг эсвэл драйверууд үйлдлийн системд ажиллахын тулд I/O менежерийн интерфейсийг ашигладаг гэж хэлж болно. Нөгөөтэйгүүр, драйвер нь үйлдлийн системээс ирж буй "стандарт тушаалуудыг" түүний удирддаг төхөөрөмж (хэрэв байгаа бол) "ойлгодог" командууд болгон хувиргах (хувиргах) боломжийг олгодог. Оролт/гаралтын менежер нь драйверд хэрэгжүүлж болох горимуудын багцыг (иж бүрдэл) тодорхойлдог, учир нь:

Драйвер нь оролт/гаралтын үйл явцын янз бүрийн үе шатуудыг хангадаг буцаан дуудлагын горимуудыг агуулдаг.

Драйвер ямар функцээр хангах ёстойг илүү гүнзгий ойлгохын тулд жолоочийн үндсэн процедурын ерөнхий тоймыг өгье.

Үнэн хэрэгтээ дээрх диаграммыг харахад хийсвэр Windows драйвер нь ямар төрлийн харилцан үйлчлэл, тухайлбал процедурын бүлгүүдийг хэрэгжүүлэх ёстой нь тодорхой болно. Одоо эдгээр процедурын заримыг жагсаацгаая:

  • Эхлүүлэх - Оролт/Гаралтын менежер нь дараах үйлдлүүдийг гүйцэтгэх зорилготой эхлүүлэх процедурыг (DriverEntry гэж нэрлэдэг) эхлүүлдэг. анхны тохиргоодрайверын объект, бусад бүх драйверын горимуудыг бүртгэх, боолыг тохируулах, хөгжүүлэгчийн нэрийн өмнөөс бусад үйлдлүүдийг хийх.
  • Төхөөрөмж нэмэх - (заавал биш) төхөөрөмжийн объект нэмнэ. Энэ процедурт драйвер нь ихэвчлэн жолоочийн үйлчилгээ үзүүлдэг төхөөрөмж бүрийн хувьд төхөөрөмжийн объектуудыг үүсгэдэг. Ихэвчлэн Plug-and-Play драйверуудад ашигладаг.
  • Боловсруулалт - диспетчерийн журмын багц (янз бүрийн мужуудын боловсруулалт). Төхөөрөмжийг нээх, хаах, унших, бичих, боловсруулах чадлын төлөв, PnP үйл явдал, системийн төлөв, түүнчлэн бусад зарим төрлийн харилцан үйлчлэлийг диспетчерийн горимд тайлбарласан болно. Үнэн хэрэгтээ эдгээр нь үндсэн процедурууд юм, учир нь ердийн оролт / гаралтын ажиллагааг диспетчерийн журмаар боловсруулдаг.
  • Эхлэх (эхлэх) I/O нь төхөөрөмжийн оролт/гаралтыг шууд эхлүүлэх төхөөрөмж рүү оруулах оролт/гаралтын хүсэлтийг боловсруулах хоёр дахь шат юм. Энэ процедурыг төхөөрөмжөөс өгөгдөл дамжуулахад ашиглаж болно.
  • Тасалдлын үйлчилгээний журам - төхөөрөмж тасалдал үүсгэх үед тасалдлын менежер хяналтыг энэ процедурт шилжүүлдэг.
  • Хойшлогдсон процедурын дуудлагыг зохицуулах - ISR-г гүйцэтгэсний дараа DPC-ийн горим тасалдлыг зохицуулах ихэнх хэсгийг авдаг. Хойшлогдсон процедурын дуудлагууд нь ISR процедураас бага IRQL түвшинд (DPC/DISPATCH) ажилладаг. Бусад тасалдлыг хаахаас зайлсхийхийн тулд ижил төстэй алгоритмыг хэрэгжүүлдэг.
  • I/O Completion Routine - Олон түвшний драйвер нь доод түвшний драйвераас IRP боловсруулалт дууссаныг мэдэгддэг I/O Completion Routines-тэй байж болно.
  • Оролт/гаралтын ажиллагааг цуцлах журам - Хэрэв оролт/гаралтын үйлдлүүд тасалдсан тохиолдолд драйвер нэг буюу хэд хэдэн ийм горимыг тодорхойлж болно. Жолооч цуцлах боломжтой оролт/гаралтын хүсэлтийн IRP хүлээн авах үед IRP цуцлах процедурыг оноож, IRP нь одоогийн үйлдлийг цуцлах боломжгүй тохиолдолд процедурыг өөрчлөх эсвэл устгах боломжтой янз бүрийн боловсруулалтын үе шатуудыг дамждаг.
  • Хурдан илгээх горим - Файлын системийн драйверууд гэх мэт кэш менежерийг их ашигладаг драйверууд нь цөмд нийтлэг оролт гаралтын алгоритмуудыг тойрч гарах боломжийг олгохын тулд ижил төстэй горимуудыг хангадаг.
  • Оролт гаралтын менежер драйверийг санах ойноос буулгахын тулд системийн нөөцтэй ажилладаг (чөлөөт/зээлдэг) драйвер бүрт буулгах процедурыг хэрэгжүүлэх ёстой.
  • Унтраах дохиоллын журам - Систем унтрах үед драйверд бүх эзлэгдсэн нөөцийг гаргах боломжийг олгоно.

Windows драйверийг боловсруулах явцад дээр дурдсан процедурыг бүхэлд нь хэрэгжүүлэх шаардлагагүй, драйвер бүр өвөрмөц бөгөөд хөгжүүлэгч нь драйверын дэмжлэгтэй өөрийн програм хангамжийг чөлөөтэй өгөх боломжтой болох нь тодорхой болж байна. PnP менежер эсвэл SCM ашиглан драйверийг системд ачаалах үед I/O менежер нэрийн талбарт драйверын объектыг үүсгэж, драйверийг эхлүүлэх горимыг (ихэвчлэн DriverEntry) дууддаг бөгөөд энэ нь цаашдын эхлүүлэх алхмуудыг гүйцэтгэдэг.

Драйвер объект нь цөмийн санах ойд ачаалагдсан драйверын дүрсийг илэрхийлэх бөгөөд систем нь энэ объектоор дамжуулан драйверийг удирддаг.

Драйверын объект нь жолоочийн код, өгөгдлийг цөмд илэрхийлдэг: бусад зүйлсээс гадна драйвер нь энэ объектоор дамжуулан өөрийн процедурын нэвтрэх цэгүүдийг экспортлодог. Драйверыг эхлүүлэх процедур нь энэ объектын шинж чанаруудад экспортлогдсон бүх драйверийн процедурын нэвтрэх цэгүүдийг бичдэг. Ачаалагдсаны дараа драйвер нь төхөөрөмжүүдийг төлөөлөх, тэр ч байтугай драйверын интерфейсийг бүрдүүлэх төхөөрөмжийн объектуудыг үүсгэж болно. Ихэнх драйверууд иймэрхүү төхөөрөмжийн объектуудыг үүсгэдэг:

  • PnP менежер нь тэдний удирддаг төхөөрөмж байгаа талаар тэдэнд мэдэгдэх үед PnP драйверууд төхөөрөмж нэмэх горимоор дамжуулан төхөөрөмжийн объектуудыг үүсгэдэг.
  • PnP бус драйверууд нь I/O менежер нь эхлүүлэх горимуудыг дуудах үед төхөөрөмжийн объект үүсгэдэг.

"Төхөөрөмж" (төхөөрөмж) төрлийн объект үүсгэх үед драйвер нь оноох шаардлагатай энэ объектНэр. Энэ шинээр үүсгэсэн объектыг дараа нь нэрийн талбарт байрлуулна объект менежер(Объект менежер) нь I / O менежер (менежер) шиг цөмийн гүйцэтгэх дэд системийн нэг хэсэг юм. Объект менежер нь объект хэлбэрээр илэрхийлэгдсэн үйлдлийн системийн бүх нөөцийн мэдээллийн санг хадгалахад зориулагдсан. Объектын нэрийг драйвер өөрөө тодорхой зааж өгөх эсвэл I/O менежер автоматаар үүсгэж болно. Дүрмээр бол төхөөрөмжийн объектууд нь Win32 API-ээр дамжуулан программуудад нэвтрэх боломжгүй объект менежерийн нэрийн зайн \Device лавлахад байх ёстой. Мөн "төхөөрөмж" объектыг програмуудад ашиглах боломжтой болгохын тулд драйвер нь \GLOBAL ?? \Device лавлах дахь энэ объектын нэрийн симбол холбоос. Plug-and-Play болон файлын системийн драйверууд нь ихэвчлэн сайн мэддэг нэртэй (\Device\VMwareKbdFilter гэх мэт) бэлгэдлийн холбоос үүсгэдэг. Зөвхөн жагсаасан бүх үйлдлүүдийн дараа драйвер нь системд "харагдах" болж, хэрэглэгчийн програмууд руу залгах боломжтой болно.

Жолоочийн харилцан үйлчлэл

Хэрэглэгчийн програм систем дэх драйвертай хэрхэн харилцах вэ? Үүнийг хийх хоёр арга бий:

  1. Далд -- ерөнхий Win32 API функцийг дуудах;
  2. Ил тод -- драйвер руу шууд оролт гаралтын хүсэлт;

За, эхний тохиолдолд бүх зүйл маш энгийн хэрэглээний програмзарим энгийн Win32 API функцийг (жишээлбэл CreateFile) дууддаг бөгөөд энэ нь зорилтот объектоос (файл, лавлах) хамааран дуудлагын гинжин хэлхээнд драйвертай солилцооны функцийг дуудаж болно. Үнэн хэрэгтээ энэ тохиолдолд програмын код нь ямар ч драйвертай харилцах даалгаврыг өөртөө тавьдаггүй, зөвхөн процедурын дуудлагын гинжин хэлхээний дагуу, тодорхой үе шатанд гүйцэтгэл нь цөмийн горимд шилжиж, драйверийн функц тэнд дуудагддаг. Энэ бүхэн хөгжүүлэгчээс нуугдмал хэвээр байгаа боловч дибаг хийх хэрэгслийг ашиглан харилцан үйлчлэлийг хянах боломжтой.
Хоёрдахь тохиолдол нь илүү сонирхолтой бөгөөд жолоочийн дуудлага нь шууд бус дуудлага биш (ерөнхий функцийг дуудах замаар) биш харин I / O хяналтын хүсэлт гэж нэрлэгддэг тусгай функцийг (жишээлбэл, DeviceIoControl) шилжүүлэх үед тохиолддог. , энэ нь цаашдаа I / O хүсэлтийн пакет гэж нэрлэгддэг өгөгдлийн блок үүсэхийг эхлүүлдэг.

I/O хүсэлтийн пакет (IRP) нь оролт/гаралтын хүсэлтийг тодорхойлсон мэдээллийг агуулсан Windows цөмийн өгөгдлийн бүтэц юм.

Албан ёсоор IRP нь багц боловч үнэн хэрэгтээ энэ нь цөмийн объект, өөрөөр хэлбэл програм ба драйвер эсвэл хооронд өгөгдөл солилцох боломжийг олгодог I / O менежерт зориулсан багц процедур бүхий өгөгдлийн бүтэц (блок) юм. жолооч ба жолооч. Өмнө дурьдсанчлан, Windows-ийн архитектур нь хэрэглэгчийн горимын програм ба драйверын хооронд шууд харилцан үйлчлэхийг зөвшөөрдөггүй байдлаар бүтээгдсэн тул ийм солилцоо нь IOCTL кодыг програмаар илгээхэд багассан бөгөөд энэ нь аль хэдийн хүргэдэг. IRP хүсэлтийн пакет үүсгэж буй I/O менежер. Энэ бол IRP-г ажиллуулдаг I/O менежер бөгөөд жолооч нартай харилцах үүрэгтэй. Оролт/гаралтын менежер нь хэрэглэгчийн програмаас оролт/гаралтын хүсэлтийг хүлээн авч, дараа нь IRP үүсгэж, тохирох драйвер руу дамжуулдаг.
IRP багц нь хоёр хэсгээс бүрдэнэ.

  • байнгын хэсэг;
  • I/O байршуулах стек.

Тогтмол хэсэгт IRP нь үндсэн болон (үргэлж биш) жижиг функцийн кодыг агуулдаг. Старшие коды: 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_MJ_SYSTEM_CONTROL , IRP_MJ_POWER , IRP_MJ_PNP , IRP_MJ_SHUTDOWN . Багц нь мөн I/O байршуулах стекийг агуулдаг - тодорхой параметрүүдийг агуулсан тусгай IO_STACK_LOCATION бүтэц: энэ нь IRP пакетийг боловсруулах төхөөрөмжүүдийн багц юм. Түүнчлэн, энэ пакет нь стекийн дагуу төхөөрөмжөөс төхөөрөмжид дараалан дамждаг. Нэгээс олон стек байршуулах нь IRP-г олон драйвераар зохицуулах боломжтойг харуулж байна. IRP-ийн "стек эсүүд" нь IRP пакет драйверын стекийг дайран өнгөрөх үед "хувьсах" мэдээллийг хадгалах зориулалттай. IRP нь жолооч бүрийн нийтэлсэн процедурыг дамждаг бөгөөд тус бүр нь "өөрийн" оролт/гаралтын стекийн байршлаас шаардлагатай мэдээллийг олж авдаг. Жолоочийн процедурыг уламжлал ёсоор "буцах журам" гэж нэрлэдэг. Өмнө дурьдсанчлан DriverEtnry-ийн эхлүүлэх функц нь цөмд эдгээр процедурын нэрийг хэлж (нийтлэх) бөгөөд дараа нь цөм өөрөө тодорхой нөхцөл байдалд энэ эсвэл тэр процедурыг дууддаг.
Стандарт програмаас ялгаатай нь драйвер нь өөрийн хаягийн орон зайтай сонгодог процесс биш бөгөөд гүйцэтгэх утасгүй байдаг. Үүний оронд драйверын функц нь дуудагдсан урсгал болон процессын контекст дээр ажилладаг. Драйверын контекст (код гүйцэтгэх зай) нь драйверийг хэн дуудаж байгаагаас хамаарна. Давж заалдах гомдол гаргаж болно:

  1. Хэрэглээний програм (хэрэглэгчийн горимын програм). Энэ тохиолдолд драйверын гүйцэтгэлийн контекст яг тодорхой мэдэгдэж байгаа бөгөөд энэ нь хэрэглээний програмын контекст таарч байна;
  2. Өөр (гуравдагч талын) жолооч. Энэ тохиолдолд гүйцэтгэх контекстийг тодорхойлоход илүү төвөгтэй байдаг, энэ нь мэдэгдэж байгаа эсвэл санамсаргүй байж болно, энэ нь дуудаж буй драйверын функцийн гүйцэтгэлийн контекстээс хамаарна.
  3. Техник хангамж/програм хангамжийн тасалдал. Энэ тохиолдолд үйлдлийн систем дэх ямар ч кодыг гүйцэтгэх үед тасалдал (мөн үүний дагуу драйвер код руу шилжих) тохиолдож болох тул гүйцэтгэлийн контекст санамсаргүй байдаг.

Дахин хэлэхэд, стандарт програмаас ялгаатай нь драйвер нь стандарт Win32 API функцуудыг дуудаж чадахгүй бөгөөд энэ нь зөвхөн Ex.. , Hal.. , Io.. , Ke.. , Ks.. угтвараас эхэлдэг цөмд байгаа функцууд дээр ажиллах боломжтой. , Mm.. , Ob.. , Po.. , Ps.. , Rtl.. , Se.. , Zw.. болон бусад.

Windows драйверуудын төрлүүд (төрлүүд).

Хувьслын явц, үүний дагуу жолоочийн үзэл баримтлалын хүндрэлийн явцад жолооч нарыг зорилгоос хамааран ангилалд (эсвэл төрөл) хувааж эхлэв. Энд гол нь:

  • Ангийн жолооч нар(Ангийн драйвер) - тодорхой ангиллын төхөөрөмжүүдэд зориулж Microsoft-оос боловсруулсан драйверууд.
  • Файлын системийн драйверууд(Файлын системийн драйверууд) - хэрэгжүүлдэг драйверууд файлын системүүдянз бүрийн хэвлэл мэдээллийн хэрэгслээр.
  • Хуучин жолооч нар(Хуучин драйверууд) - "хоцрогдсон" (хуучин үйлдлийн системийн хувилбаруудтай нийцтэй) цөмийн горимын драйверууд нь нэмэлт төхөөрөмжийн драйвергүйгээр боол төхөөрөмжийг шууд удирддаг. Тэд яагаад ийм нэртэй болсон бэ? Учир нь энэ нь Windows NT үйлдлийн системийн эхний хувилбаруудаас хадгалагдан үлдсэн драйверуудын төрөл юм.
  • Автобусны драйвер - Аливаа компьютерийн автобусны ажиллагааг хангадаг драйверууд (ISA, PCI, USB, IEEE1394 болон бусад);
  • Шүүлтүүрийн драйверууд(Шүүлтүүрийн драйвер) - драйверууд өөр драйвераар дамжиж буй өгөгдөлтэй ажиллах замаар түүний логикийг хянах / өөрчлөхөд ашигладаг.
    • Шилдэг шүүлтүүр драйверууд(Дээд шүүлтүүрийн драйверууд) - стек дэх функциональ драйверын дээр байрлах шүүлтүүр драйверуудын дэд төрөл. Бүх хүсэлтүүд дээд шүүлтүүрийн драйверуудаар дамждаг бөгөөд энэ нь функциональ драйвер руу, дараа нь төхөөрөмж рүү очих мэдээллийг өөрчлөх, / эсвэл шүүх боломжтой гэсэн үг юм. Жишээ нь, урсгалыг хянадаг/шүүдэг, унших/бичих хүсэлтийг шифрлэдэг/ тасалддаг шүүлтүүрийн драйвер байж болно. Ийм драйверуудыг галт хананд ашигладаг.
    • Доод шүүлтүүрийн драйверууд(Доод шүүлтүүрийн драйверууд) - стек дэх функциональ драйверын доор байрлах шүүлтүүр драйверуудын дэд төрөл. Дүрмээр бол ихэнх хүсэлтийг функциональ драйвер өөрөө гүйцэтгэж дуусгадаг тул бусад шүүлтүүрийн драйверуудыг бодвол ийм доод шүүлтүүрийн драйверуудаар цөөн хүсэлт дамждаг.
  • Функциональ драйверууд(Функцийн драйвер) - бие даан ажилладаг драйверууд бөгөөд төхөөрөмжтэй холбоотой бүх талыг тодорхойлдог.
  • PnP драйвер (PnP драйвер) - Plug-and-Play технологийг дэмждэг драйвер;
  • Minidriver (минипорт, мини ангиллын)(Miniport драйвер, Minidriver, Miniclass драйвер) - зорилтот төхөөрөмжтэй холбоотой ажлуудыг гүйцэтгэдэг драйверууд бөгөөд төхөөрөмжийг удирдахын тулд ангиллын драйверуудыг ашигладаг. Энэ ангилал нь төхөөрөмжийн тодорхой даалгавруудыг гүйцэтгэдэг эцсийн төхөөрөмжийн драйверуудын үүрэг гүйцэтгэдэг хос драйверуудын нэг хэсэг болж ажилладаг.

Бүрэлдэхүүн хэсгүүдийн түвшингээс хамааран драйверууд нь:

  • Нэг түвшний - I / O боловсруулалтыг нэг гүйцэтгэгдэх модуль (драйвер) дотор хэрэгжүүлдэг.
  • Олон түвшний - I / O боловсруулалтыг хэд хэдэн драйверуудын дунд хуваарилдаг.

Windows дээрх PnP драйверуудыг дараахь байдлаар хуваадаг.

  • Функциональ драйвер
  • Автобусны жолооч (автобусны жолооч)
  • Жолооч-шүүлтүүр (шүүлтүүр-жолооч)

Гүйцэтгэх горимоор Windows драйверуудыг дараах байдлаар ангилдаг.

  • Хэрэглэгчийн горимын драйвер.
  • Цөмийн горимын драйвер.

Жолоочийн загварууд

Үйлдлийн систем бий болсон бүх хугацаанд хөгжүүлэгчид драйверуудыг хөгжүүлэх ажлыг стандартчилах, хялбарчлахыг хичээсэн. Үүний үр дүнд загварууд гарч ирэв.

WDM загвар

Нэгэн цагт Windows драйверийн үзэл баримтлалыг хөгжүүлэх хоёр үндсэн чиглэл байсан:

  1. Windows 95/98 нь VxD (Виртуал төхөөрөмжийн драйвер) загварыг ашигласан;
  2. Windows NT3.51 дээр NT драйверын загвар (NT загварын драйвер, NT драйвер) зэрэгцэн хөгжсөн.

Гэсэн хэдий ч Windows 98/NT4.0 хувилбараас эхлэн хөгжүүлэгчид драйверуудын хөгжлийг нэгтгэх (бүх нийтийн болгох) оролдлого хийсэн бөгөөд үүний үр дүнд дурдсан загваруудыг шинэ WDM загвараар сольсон.

WDM (Windows драйверын загвар, Windows драйверЗагвар) нь Windows үйлдлийн системийн төхөөрөмжийн драйверуудад зориулсан хөгжүүлэлтийн нэгдсэн орчин (хүрээ) юм. Энэ нь жолооч нарт тавигдах кодын стандартчиллын шаардлагыг багасгах зорилгоор бүтээгдсэн.

WDM загвар нь тухайн үеийн хувьсгалт Plug-and-Play болон ACPI технологид дэмжлэг үзүүлэхийн тулд сонгодог Windows драйвер стекийг дахин тодорхойлох алхам байв. Энэхүү загвар нь үйлдлийн системийг дахин эхлүүлэх шаардлагагүй, драйверуудыг стандартын дагуу өргөтгөл (шүүлтүүр) болгон хөгжүүлэх боломжийг олгодог. системийн драйверууд, эрчим хүч хэмнэх, төхөөрөмжийн тохиргоог илүү уян хатан байдлаар удирдах гэх мэт.
WDM загварын хүрээнд аливаа техник хангамжийн төхөөрөмждор хаяж хоёр драйвер дэмждэг:

  • Функциональ драйвер (Функцийн драйвер) - үйлчилж буй төхөөрөмжийн бараг бүх функцийг хариуцдаг: оролт / гаралтын ажиллагаа, тасалдалтай харьцах, төхөөрөмжийн хяналт;
  • Автобусны драйвер - төхөөрөмж болон компьютерийн хоорондох холболтыг хадгалах үүрэгтэй, үнэндээ харилцаа холбооны автобусыг дэмждэг (жишээлбэл, PCI, USB гэх мэт).

WDF загвар

Хөгжлийн явцад WDM загвар нь олон өөрчлөлтийг хийж, ихээхэн өссөн. Windows Vista-аас эхлэн Windows драйверын концепцийг хөгжүүлэх өөр нэг оролдлого хийгдсэн бөгөөд үндсэндээ тухайн үед аль хэдийн байсан WDM загвар нь WDF нэртэй шинэ загвар (WDM-д нэмэлт) бий болсон.

WDF (Windows Driver Foundation, Windows Driver Foundation) нь Windows үйлдлийн системд (Windows 2000 ба түүнээс дээш) зориулсан төхөөрөмжийн драйверуудыг хөгжүүлэхэд туслах хөгжүүлэлтийн орчин (хэрэгслийн багц) юм.

Энэ нь хөгжүүлэгчид WDM загварын хийсвэрлэлийн хангалттай түвшинд хүрч чадаагүй, тухайлбал оролт / гаралтын дэд системийг Plug-and-Play технологи, тэжээлийн удирдлагатай хангалтгүй нэгтгэсэнтэй холбоотой байв. Энэ нь драйвер хөгжүүлэгчид эдгээр оролт/гаралтын хүсэлтүүдийг Plug-and-Play үйл явдлууд болон тэжээлийн хүсэлтүүдтэй синхрончлох асар их ачааллыг үлдээсэн. Жолоочийн загварыг цаашид хялбарчлах шаардлагатай байсан нь ойлгомжтой. WDF нь WDM-ийг сольсон бөгөөд хамгийн орчин үеийн загвар гэж тооцогддог.
WDF нь дараах функцуудыг хэрэгжүүлдэг.

  1. Гүйцэтгэх горимд чухал ач холбогдолгүй зарим драйверын ангиллыг хэрэглэгчийн горимд "устгах" нь цөм дэх нийт гэмтлийн тоог бууруулсан.
  2. Plug-and-Play болон тэжээлийн удирдлагатай оролт/гаралтын дэд системийн харилцан үйлчлэлийн ихэнхийг одоо WDF загварын суурилагдсан механизмаар зохицуулж байна.
  3. Ойлгоход илүү төвөгтэй системийн интерфейсээс хийсвэрлэх боломжийг олгодог WDF загварт шинэ дотоод интерфэйсүүдийг өгөх; WDM / хуучин загварт нарийн төвөгтэй цөмийн архитектурын бүх үндсийг сурахгүйгээр драйвертай харилцах зарим хэсгүүдийн логикийг хэрэгжүүлэх нь нэлээд хэцүү байдаг бол WDF нь олон төрлийн харилцан үйлчлэлийг автоматжуулах боломжийг олгодог; WDM драйверийг боловсруулахад их хэмжээний кодыг WDF процедурын дуудлагаар сольж болно.
  4. "каноник" драйвер үүсгэх чадвар. Гуравдагч этгээдийн хөгжүүлэгчид өөрсдийн драйверт хамаарах шалгуурыг давах боломжийг олгодог загварууд байгаа нь хөгжүүлэлтийн хугацааг багасгадаг.

WDF загварыг хоёр хэсэгт хуваадаг.

  • UMDF (Kernel-Mode Driver Framework) нь цөмийн горимын драйвер хөгжүүлэх орчин юм.
  • KMDF (User-Mode Driver Framework) нь хэрэглэгчийн горимын драйвер хөгжүүлэх орчин юм.

WDF загварт орчныг хэрэглэгчийн болон цөмийн горимд хуваах нь дур зоргоороо байдаг, учир нь энэхүү ялгааны гол зорилго нь тодорхой ангиллын төхөөрөмжүүдийн драйверуудыг хөгжүүлэхэд ангилах явдал юм.



Ачааж байна...
Топ