Sürücü paks ve endeksleri. Cihazların ihtiyaç duyduğu sürücüler ve bunları sürücüler için çağrıldıkları için nasıl yüklenir?

Bildiğimiz gibi, donanım düzeyinde, modern bir bilgisayar, bazı elektronik bileşenler olan fonksiyonel düğümlerden oluşur. Kişisel bilgisayarların çok çeşitli kullanıcıları, bu tür fonksiyonel bloklara bağlıdır: işlemci, bellek, ekran kartı, ses kartı, sabit disk, G / Ç kontrol cihazı (klavye, fare, joystick, USB ortam (flash sürücüler)), yazıcı , tarayıcı ve bazı diğerleri. Fiziksel düzeyde, cihaz verileri, özel lastikler ve protokoller vasıtasıyla birbirleriyle etkileşime girerek, genel durumda, bilgisayarın işleyişini karakterize eden operasyonların etkileşimi simbiyozu bir dizi oluşturur. Ancak bir bilgisayar yalnızca bir dizi elektronik bileşeni temsil ediyor mu? Tabii ki, merkezi işlemcinin ana işlemcisi olan ana işleme modüllerinden biri, makine talimatlarını gerçekleştirmek için tasarlanmıştır, bu, bildiğimiz gibi, bir programdan oluşan bir programdan oluştuğunu, bunun ışığında başka bir şey söylemeye uygun olacaktır. Seviye - Yazılım. Şimdi çok uzak bir geçmişe geri dönelim; Programların bir bilgisayar çağının şafağında (genellikle doğrudan makine kodlarında / düşük seviyeli dillerde yazılmış olanlar), donanım mimarisi nispeten basit olduğu için doğrudan ekipmanla kolayca etkileşime girebilir. Bununla birlikte, zamanla, teknoloji gelişti, donanım ve program seviyeleri birbiriyle ilişkilendirildi ve ilk olarak çok çeşitli cihazların ortaya çıkmasına ve ikincisi, saniyede, içinde ortaya çıkan çok çeşitli yazılım modüllerinin ortaya çıkmasına neden oldu. Gelecek, işletim sistemlerinin ortaya çıkması. İşletim sistemi, bilgisayar endüstrisinin gelişmesinin tarihinde kilit bir dönüm noktasıydı, çünkü diğer şeylerin yanı sıra, bir bağlayıcı rolünü, cihazlar ve programlar arasındaki etkileşimi sağlayan bir tür koordinatör (Dispatcher) rolünü gerçekleştirdi. : Yazılım katmanından (örneğin, kullanıcı programları), bir veya başka bir cihazla veri alışverişinde (örneğin, kullanıcı programları) gelen talepler, yani aslında donanım ve program parçaları arasındaki eşleşme olarak görev yapmıştır. İşletim sistemleri aynı zamanda hala yerinde durmadı ve başlangıçta, işletim sisteminin bilgisayarın enstrümanıyla etkileşimi nispeten basitti, daha sonra yeni donanım yeteneklerinin mimarisi ve tanıtımı, yapı işletim sisteminin. İşletim sistemlerinin geliştirilmesi boyunca, geliştiriciler, piyasadaki mümkün olan maksimum donanım sayısıyla tam teşekküllü etkileşimi sağlayan bir kod oluşturmaya çalıştı. Bununla birlikte, benzer bir yaklaşım, X86, kişisel bilgisayarların mimarisi olarak, ayrı bir yazılım katmanı kavramının ortaya çıkmasına neden oldu, bu da bir veya başka bir sınıf / türü ile etkileşime girmekten sorumlu olan sürücünün adı olan, ayrı bir yazılım katmanı. Sürücünün kavramı, bu kadar başarılı olduğu ortaya çıktı. Fiziksel cihazlar için ana yöne ek olarak, bazı mantıksal / sanal cihaz kategorilerine ekstrapolasyon yapıldı. Bu yazıda, ne olduğunu söyleyeceğiz. windows sürücüsü.

Teori

Sürücü kavramından biraz uzaklaşalım ve genel teoriyi düşünelim. Sistemdeki sürücünün ne olduğunu anlamak için, önce X86-64'ün genel mimarisinin teorisinin asgari bir teorisine maruz kalmanız gerekir. Neden x86, ama bu platform olduğu için: a) deneyler için seçilen, B) istemci bölümündeki en yaygın Windows işletim sistemidir. Bu bölümde dile getirilen özellikler bize doğrudan çalışmanın birçok yönünü doğrudan işletim sistemi ve buna göre, kompozisyonundaki sürücüleri anlayacaktır.

İşlemci Çalışma Modları

Herhangi bir işletim sisteminin iç yapısı, çalıştığı platformun donanım özelliklerine dayanmaktadır. Merkezi bağlantı işlemcidir, X86-64 mimarisi işlemcilerinin çeşitli çalışma modları vardır:

  • Gerçek mod;
  • Sanal mod (sanal mod);
  • Korumalı Mod (Korumalı Mod);
  • Uzun Mod (Uzun Mod).

Şafakta, X86 mimarisinin kişisel bilgisayarlarının gelişmesinin çağında, işlemci gerçek modda çalıştı. Bununla birlikte, gerçek rejim kademeli olarak geçmişe gitti, çünkü teknolojileri daha da geliştirmeyi imkansızlaştıran bir dizi özelliğe sahipti: 16 bitlik bir veri yolu ve 20 bitlik bir adres veriyolu (hizalama kısıtlaması), boyutu ile adresleme segmenti Segmentlerin 64 kilobayt (kullanım adres alanının rahatsızlıkları), adres alanına erişimin sınırlandırılması eksikliği. Mevcut kısıtlamaları geri çekmek için, işletim sistemlerinin geliştirilmesi için bir dizi önemli özellik sağlayan güvenli bir rejim geliştirilmiştir: "çoklu görev", koruma mekanizması (ayrıcalıklı komutlara erişim), çeşitli bölümlerin erişiminin kontrolünü sağlayan Kodun (programlar) birbirine, sanal bellek modeli. Korunan Intel İşlemciler modunda, X86 mimarisi, koruma halkaları veya ayrıcalık seviyeleri olarak uygulanır. Dört tanesi dört: 0 (en ayrıcalıklı), 1, 2 ve 3 (en az ayrıcalıklı). Ayrıcalık seviyeleri, çekirdek modunu kullanıcı programlarından ve kullanıcı programlarından birbirinden korumak için tasarlanmıştır, çünkü bu bir bozulmaya yol açabilir. Ancak, Windows işletim sistemi listelenen tüm seviyeleri kullanmaz, sadece ikisi içinde bulunur: 0 ve 3..
Bunu anlama netliği için, Windows bileşenlerinin etkileşimi için basitleştirilmiş bir şema sunuyoruz:

Gördüğünüz gibi, Windows işletim sisteminin iç ortamı iki parçaya ayrılmıştır ve iki yürütme modunu destekler:

  • Özel mod - Donanım 3rd işlemci koruma halkası ile karşılaştırıldığında, ilansız mod;
  • Çekirdek modu, Donanım 0th işlemci koruma halkası ile karşılaştırıldığında ayrıcalıklı bir moddur;

Bu özellik çoğu, belki de, Windows'un iç yapısını anlamanın önemli bir noktasıdır: küresel olarak işletim sistemi iki ana parçaya ayrılır: kullanıcı modu ve çekirdek modu.

Bir zamanlar ve sonsuza dek gerçekleştirmek ve hatırlamak, çünkü aslında, çok sayıda modern işletim sisteminin temel, temel kavramlarından biridir.
Kullanıcı modları ve çekirdek modu aşağıdaki farklılıklara sahiptir:

  • Yalıtımlı (kesişmeyen) sanal adres alanları: Kullanıcı modu alanı alt kısmı (yazılımdan adres) işgal eder, çekirdek modu alanı bir üst (yazılımla adres) kaplar;
  • Kaynaklara erişim kodunun farklı ayrıcalıkları (hafıza, işlemci, cihazlar vb.).

Kullanıcı modunda aşağıdaki işlemler yapılır:

Altsistem Açıklama
Sistem Destek Süreçleri (Sistem Destek Süreçleri)
  • Winlogon giriş işlemi (winlogon.exe)
  • Yerel kimlik doğrulama sunucusu LSASS (lsass.exe)
  • Servis Yönetimi Yöneticisi Süreci (Servisler.exe)
  • Oturum Yöneticisi Süreci (SMSs.exe)
  • Konsol işlemi (conceost.exe)
  • Yerel oturum yöneticisi süreci (lsm.exe)
  • . . .
Hizmetler / Servis Süreçleri (Hizmet Süreçleri)
  • Hizmetler için ana bilgisayar süreci (svchost.exe)
  • Queue Manager Proses (Spoolsv.exe)
  • WMI Servis Yönetimi Süreci (Winmgmt.exe)
  • . . .
Uygulamalar (Uygulamalar)
  • Özel uygulamalar (kalan kategorilere dahil olmayan tüm uygulamalar).
  • Görev Yöneticisi (Görevmgr.exe)
  • Explorer.exe (Explorer.exe)
  • Yönetim Konsolu (MMC.EXE)
  • . . .
Çevre alt sistemleri (Çevre alt sistemleri)
  • Win32 Subsystem (csrss.exe, kernel32.dll, advapi32.dll, user32.dll, gdi32.dll, ...)
  • Linux alt sistemi (lxss.sys, lxcore.sys)
  • Posix subsystem (psxss.exe, psxrun.exe, posix.exe, psxdll.dll)
  • OS / 2 SUBSYSTEM (OS2.EXE, OS2SS.EXE, OS2SRV.EXE)
  • WOW / WOW64 Subsystem (wow64win.dll, wow64.dll, wow64cpu.dll)
  • . . .
Çekirdek fonksiyonlarına arabirim
  • İhtiyacı olan fonksiyonlar için çekirdeğe kontrol kontrolünü sağlar. Ntdll.dll kütüphanesi tarafından desteklenir

Çekirdek modunda yapılır:

Altsistem Açıklama
İcra Sistemi (İcra)
  • I / O Dispatcher
  • İşlem Yöneticisi
  • Denetleyici akışları
  • Sanal Bellek Yöneticisi
  • Nesne gönderme makinesi
  • PNP Dispatcher
  • Güç gönderici
  • Rüzgar gönderimi
  • . . .
Çekirdek kritik Aşama Sürücü Sürücülerinin Başlatma, İşbirliği Senkronizasyonu, İşlem Planlama ve Gönderme / Akış / Kesme, İşleme / Sevkiyat / Hata / Hatalar ve Diğer Bazı Özellikler (NTOSKRNL.EXE, NTKRNLMP.EXE, NTKRNLPA.EXE, NTKRPAMP.EXE).
Aygıt Sürücüleri Sürücüleri (Aygıt Sürücüleri) fiziksel / Mantık / Sanal Aygıt Sürücüleri: Dosya Sistemleri, Ağ, Disk ve RSD Sürücüleri.
Pencere / Grafik Subsystem (pencereleme ve grafik sistemi) Grafik kullanıcı arayüzü (GUI) işlevleri için destek sağlayan pencereleri ve grafikleri desteklemek için alt sistemler (Grafik Kullanıcı Arabirimi, GUI). (win32k.sys)
Ekipman Soyutlama (Donanım Soyut Katman, Hal) donanım platformundan bağımsızlık sağlar, çekirdek bileşenlerini donanımın özelliklerinden izole eder. (HAL.DLL)

Herhangi bir işletim sistemi sadece donanımla çalışabilmek zorunda kaldığından, dağıtımda (Kurulum / Sistem Dosyaları Seti), sistemin tam anlamıyla tam anlamıyla, tüm problemlerle donanıma erişimi kaybedecesi olmayan kilit donanım bileşenlerinin sürücüleri vardır. Bundan kaynaklanmak: Fonksiyonu yapamayacak ya da hiç olmayacak, kendi kurulumunun prosedürünü geçecek. Bu "dahili" sürücüler, donanımın ve pazar eğilimlerinin evriminin aşamalarına bağlı olarak, sürümün sürümüne göre, versiyonun sürümüne göre modifiye edilmiş bir dahili sürücü kütüphanesi şeklinde sunulur. Gerekirse, bu kütüphanedeki sürücüler, belirli cihazların bilgisayarındaki algılama (kimliğe) bağlı olarak işletim sisteminin kurulum aşamasında ayarlanır. Genel olarak, kurulum sırasında, ekipman algılama modülü kodu, bilgisayarda kurulu cihazların tanımını gerçekleştirir ve kütüphanesinde karşılaştırılabilir sürücülerin kullanılabilirliğini kontrol eder. Sistem sürücülerinin bulunduğu cihazlar için, otomatik (arka plan) modu yüklü. Böylece, "Çıkışta", işletim sistemini yükledikten sonra, çalışan bir ilk çalışma ortamı düzenlemenizi sağlayan minimum gerekli sistem sürücülerini elde edebiliriz. Ancak, dağıtıma katıştırılmış sürücüleri sınırlamanın gerekli olmadığını, çünkü çoğu cihazın tam işlevi için, cihaz üreticisi tarafından sağlanan sürücüler gerekebilir.

Soru açık kalıyor: Çekirdek modunun tüm bileşenleri, yalnızca HAL seviyesi boyunca ekipmanla etkileşime giriyor mu? İstisnalar var mı? Ağda, birçok kaynaktaki, grafik adaptör sürücülerinin video kartlarıyla "doğrudan" Hal'ı atlayarak "doğrudan" olarak etkileşime girdiği şemalar vardır. Hatırladığım kadarıyla, Windows'un bazı versiyonlarında grafikler en yüksek önceliğe verildi, bu nedenle doğrudan bir grafik adaptörüyle çalışan ayrı bir cihaz kategorisinde vurgulandı ve grafik sistem arayüzünü hızlandırmak için yapıldı.

Interrupt sorgu seviyeleri (IRQL)

Windows İşletim Sisteminin çalışmasını belirleyen kilit iç mekanizmalar arasında, sürücünün çalışmasının ilkelerini anlamak, partinin başarılı olmadığı pek mümkün olduğunu düşünmek için oldukça önemlidir. Bu mekanizma denir kesme istekleri seviyeleri Kesme seviyesi, IRQ seviyesi, IRQL) ve anlayış için oldukça karmaşıktır, bu nedenle derinlemesine çalışma, özetlenen materyalin çok ötesine geçti, ancak bu makalede kısa bir açıklama yapacağız (gelecekte bir tane seçeceğiz altındaki bir makale). Açıkçası, ben hala IRQL konseptiyle karıştırıyorum, bu yüzden, adım adım, adım adım, adım adım, aşamaların her birinde elde edilen bilgiyi destekleyerek kendi anlayışımı belirteceğim.
Kiriş terimi, her zaman işlemcinin gerçek çalışma şekli ile ilişkilendirilmiştir, her şeyin yeterince basit olduğu MSDOS işletim sisteminde aktarma: Kiralama vektörleri tablosu aracılığıyla 256 kesme kümesi vardı. Bu kesintilerin bazıları, sırasıyla herhangi bir harici donanım etkinlikleri için bağımsız olarak üretildi, diğerleri programsal olarak, sırasıyla, sırasıyla uygulama kodundan aranabilirdi. Kesme tablosundaki girişler geçersiz kılınabilir, yani kesinti işleyicisi vektörü kendi işleme prosedürüne kendi takdirine bağlı olarak değişebilirdi. Bu tür kavramlar, kesme taleplerinin seviyesi olmadığı için, her şey basit ve anlaşılabilirdi. Bununla birlikte, işlemciler ve işletim sistemlerinin evrimi ile, korunan mod önce göründü ve ardından Windows'u şimdiden açık, tüm başlangıçlar hızla karmaşık.
Kelimenin tam anlamıyla, birdenbire, Windows 95 / NT'nin ilk sürümlerinde, düzeyleri en düşük 0 (pasif) en yüksek 31'e (yüksek) soğutucu olan bazı tablo (32 katedilat taleplerinden oluşan) vardı:

İsim vermek Sınıf Amaç Intel X86-64 Seviyesi
Yüksek Donanım En yüksek seviye. Vaat edilmemiş kesinti ve diğer türler. 31
Güç Donanım Güç kesintisi olayları 30
İpi. Donanım İşbirliği sinyali. İşletmeci etkileşim sinyalleri. 29
SAAT. Donanım Sistem Zamanlayıcı İnceliği 28
Profil Donanım Performans kontrolü. Çekirdek profilleme zamanlayıcısı (sistem ölçüm ölçüm mekanizması). 27
Cihaz. Donanım Dirql (Aygıtlar IRQL). Donanım cihazların kesintileri. 3-26
Sevk etmek Program Zamanlayıcı / ertelenmiş prosedürlerin (DPC) işlemleri. 2
APC. Program Eşzamansız zorluklar prosedürleri. 1
Pasif Program Pasif seviye. Kesintiler yok. Normal kullanıcı modu yürütme seviyesi 0

Gördüğünüz gibi, tabloda çok ilginç bir özellik var: Yazılım ve donanım seviyeleri (0-2 yazılım seviyeleridir ve 3-31 ile donanımdır).

IRQL, Microsoft geliştiricileri tarafından sunulan kendi yazılım özniteliğinizdir. İşlemcinin hiçbir donanım desteği bu mekanizmaya sahip değil. Sistem bağımsız olarak, kesme denetleyicisinin (PIC) ve kendi yazılım seviyelerini tek bir donanım bağımsız kesme düzeyinde bir tabloya kesinti seviyelerini gösterme mekanizması boyunca bağımsız olarak her türlü kesintiyi kontrol eder.

Bu onaydan, modelin kendi, yazılımın ve üzerindeki seviyelerinin, ekipmanın herhangi bir özelliklerine bağlı olmadığı, sistemin donanımını ve donanım dışı olmayan türleri tek bir öncelik hiyerarşisine monte etmesini sağlar. Alt (Donanım / Yazılım Değil) IRQL (Pasif, APC, DPC / Sevk) seviyeleri, işletim sisteminin yazılım alt sistemlerini senkronize etmek için kullanılır: akış akışları gibi çalışan planlama işlemleri veya bitiş / çıkış tamamlamayı işleme. Onlara ayrıntılı olarak bakalım:

  • 0 (düşük) öncelikli IRQL (pasif): İşletim sisteminde hem kullanıcı modunda hem de çekirdek modunda çalışmanın yapıldığı tipik bir kesme isteği seviyesidir. Bu seviyede gerçekleştirilen kod (program), tüm her şey tarafından kesilmiş (ousted) olabilir: Örneğin, IRQ pasif seviyesi ile yürütülen akışlar, onlar için ayrılan bir zamanın ardından bir planlayıcıya tabi tutulur. .
  • IRQL APC ve DPC / Gönderme seviyeleri, zamanlayıcı ile ilişkili kesme programı seviyeleridir.
  • 1. IRQL (APC) seviyesi: Bu seviyede, APC prosedürleri olarak adlandırılan, yani belirli bir akış bağlamında, başka bir deyişle, başka bir deyişle, asenkron giriş çıkışında organize edilmesi veya herhangi bir serbest bırakılması için uygulama / bekletme prosedürleri gerçekleştirilir. , Global) Sistem nesneleri. Koddaki APC işlevlerini (örneğin, WaitForSingleObjectEx) kullanarak, akış yerine (fonksiyonun yürütüldüğü bağlamında) fonksiyonun anlık yürütülmesine yol açmaz (işlevin yürütüldüğü bağlamında) özel bir duruma girer ve bir APC yazılımı İşlev çağrısı iç sıraya konur. Bir dahaki sefere, bu akımı gerçekleştirmeye geldi, planlanan APC işlevi APC seviyesinde gerçekleştirilir. Sırasıyla APC düzeyinde akışlar, sistemin son / çıkış sonlandırma işlemleri için kullandığı aynı ARC seviyesinden istek almazlar.
  • 2. IRQL (DPC / Sevk):
    • ertelenmiş prosedürleri işlemek için kullanılır (ertelenmiş prosedür çağrısı, DPC): Ertelenmiş prosedürler aramaları, IRQL gönderim seviyesine geçerken şu an yürütmek için ertelenen geri arama alt yordamlarıdır; Genellikle, DPC, IRQL seviyelerinden, harcanan işlemcinin zamanın kritik olmadığı ek işler uygulamak için talep edilir. Bu performans aşaması için oldukça önemlidir ve şimdi nedenini açıklayacağım. Cihaz sürücüleri, Dirql seviyesinde uzun süre işgal etmemek için kendi kesme işlemi rutinlerinde (ISR) içindeki minimum olası işlem sayısını gerçekleştirmeye çalışıyorlar, böylece kesintilerin geri kalanını engellemez ve sonuç olarak fren yapmaz , tüm sistem.

      IRQL seviyesi ne kadar yüksek olursa, sürecin olasılığı o kadar az olur. Geliştiricileri yalnızca en gerekli operasyonları gerçekleştirmek için yüksek düzeyde IRQL düzeyinde teşvik eder ve diğer tüm eylemler düşüktür.

      Sürücü, tamamlayıcı çalışmanın gerekli olduğunu anlarsa, önemli bir işlemci zamanı alan, daha sonra DPC ister ve bu görevi kendisi için değiştirir. IRQL seviyesi gönderime düştüğünde, işlemin kalan kısmını gerçekleştiren ertelenmiş bir sürücü işlevi olarak adlandırılır. Benzer bir algoritmayı IRQL sevk düzeyinde uygulamak, sürücü Dirql seviyesinde daha az zaman geçirir ve buna göre, kendi durdurulma işleminin gecikme süresini azaltır, böylece diğer sistem cihazları için de serbest bırakır.

    • zamanlayıcının görevlerini yerine getirmek için kullanılır: Bildiğiniz gibi, Windows NT satırı işletim sistemleri bir çoklu görevle uygulanır, bu da işletim sisteminde çalışan her işlemin belirli bir süre gerçekleştirmek için tahsis edildiği anlamına gelir. IRQL Stream Planlayıcısı ve DPC 2 olduğundan, kullanıcı iş parçacıklarının önceliğinden daha yüksektir (seviye 0'da çalıştırılabilir). Buna karşılık, zamanlayıcının önceliği, donanım kesintilerinin önceliğinden düşüktür (cihazlardan kesilir), yani donanım kesintileri tarafından kesilebilir.

Peki, ama neden tüm bu seviyeleri reddetmenin imkansız olduğunu ve "düz" bir kuyruk modeli yapmanın imkansız olduğunu ya da geldiğimiz gibi tüm bu görevleri yerine getirmeyi anlamadım. İş durumunu simüle edelim:
"Diz üstünde" yazılmış küçük bir program gibi herhangi bir kodu hayal edin. Bu yüzden, sırasıyla icra için başlattık, programımız için süreç, ana akışın başladığı bağlamında sistemde kuruldu. Tipik bir akış (kullanıcı modu veya çekirdek modu), IRQL pasifinin en düşük seviyesinde yürütülür. Tüm akış süresi boyunca, saat (zamanlayıcı çipi) periyodik olarak, işletim sistemini belirli bir süre geçişi üzerine belirtmek için kullanılan zaman aralıklarını belirtmek için kendi kesintilerini üretir. Saat kesme işlem prosedürü IRQL saat seviyesinde (tabloda bakıldığında), çoğu seviyenin önceliğinden daha yüksek olan IRQL saat seviyesinde gerçekleştirilir: ve zamanlayıcının yürütüldüğü sevkiyat seviyesi ve programımızın bulunduğu pasif seviyeyi yapıldı. Böylece, zamanlayıcı çalışmayı ve programlayıcıyı ve programımızı sürekli olarak yerine getirir. Her bir ticker iletken, zamanlayıcı kesintisini işleme prosedürü şu anda şu anda gerçekleştirilen kuantum kuantumunu azaltır. Şu anda, yürütme akışının zamanının sıfıra düştüğü zaman, saat kesme işlem programı, sevk değerinin bir kesintisini oluşturur, böylece zamanlayıcının yürütmek için bir sonraki akışı seçmesine neden olur. Gönderim seviyesinin kesintisinin üretilmesi üzerine, zamanlayıcı kesilmesini işleme prosedürü, kodunun yürütülmesini sona erdirir ve kontrolün sistemin çekirdeğine iade edilir. Çekirdek, sorgu kuyruğunu, bekleme modunda bulunan en öncelikli seviyede aşağıdaki kesintiyi ayarlar. Her kesme sırayla servis edilir. Gönderim seviyesinin üzerindeki tüm kesintiler servis edildiğinde, gönderim seviyesinin kesintisini işleme prosedürü gerçekleştirilir. Bu kesme işlemi programı DPC listesini işler ve ardından zamanlayıcıyı çağırır. Planlayıcının, mevcut akışın kuantumunun bitkin olduğunu, yani sıfıra indirgendiğini, ardından planlayıcının bir sonraki çalışmayı seçmek için planlama algoritmasını gerçekleştirdiğini tespit etti. Tamamlanan akış kodu, sistem IRQL pasif seviyesine düştüğünde gerçekleştirilecektir.
Burada öncelikler gerçekleşmiştir ve buna göre, çoklu görevin yerinden edilmesi. Şimdi sistemden kaldıracağınızı hayal etmenizi hayal edin, bu durumda sistem nasıl davranacak? Bu durumda, ne zaman ve ne zaman gerçekleştirileceği konusunda anlaşılmaz olurdu, sistem, akışların planlayıcıyı kolayca değiştirebileceği ve dolayısıyla imha edip tamamen yok edebilecekleri kuyruğun sırasına göre sistem tüm görevleri yerine getirecek. Ayakta duran çoklu görev çıkarın, bu, işletim sisteminin öngörülemeyen çalışmasına yol açacaktır. Böylece:

IRQL, Windows ailesi işletim sistemlerinde senkronizasyon için kullanılan donanım programı önceliklendirme seviyesidir, yani IRQL seviyeleri, çalışma döngüsü sırasında Windows işletim sisteminde gerçekleştirilen tüm eylemlerin önceliklerini oluşturmak için kullanılan ana yöntemdir.

sırasıyla:

IRQL, kesintiler ve diğer zaman uyumsuz (ani) olaylara göre bir işlemci üzerinde yürütülen kodun önceliğini gösterir.

Sistemdeki IRQL seviyelerinin atanması aşağıdaki gibidir:

  1. Maskeleme: Kesme seviyesinin iyileştirilmesi, PIC denetleyicisinde donanım kesme seviyeleri geçiren (toasting) kesmenizi sağlar. Bu, bir süredir daha düşük seviyelerde ortaya çıkan kesme işlemlerini görmezden gelir, böylece verilen düzeyde donanımın işlenmesi için prosedürün yapılması için zaman kazanmasını sağlar.
  2. Donanım Senkronizasyonu: Çok işleme sisteminde farklı işlemciler / çekirdeklerde çalışan akışlar arasındaki veri senkronizasyonu.
  3. Yazılım Senk: Kullanıcı modu uygulamalarının ne zaman kullanılabileceğini belirlemek için, çeşitli APC / DPC prosedürlerinin ne zaman kullanılabileceğini belirlemek.

Böylece, küresel düzeyde, IRQL mekanizması işletim sisteminin alt bölümüne izin verir:

  • Kızgınlığı Yönet (Reenate)
  • Öncelikli olarak kesintisiz (yer değiştirme) başka bir eylemler tarafından çalışmaya devam edebileceği garanti edilir.

İşlem senkronizasyonu, birkaç işlem veya iş parçacığı tarafından rastgele sırayla kullanıldığında herhangi bir kaynağın (dosyanın, verilerin bellekteki) bütünlüğünü sağlamanıza olanak sağlayan bir mekanizmadır.

Peki, sürücüleri nasıl etkiler? Sürücülerin sırasıyla kullanıcı modu ve çekirdek modu olabileceğini biliyoruz, kullanıcı modu ve çekirdek modunda gerçekleştirilir. Buradan aşağıdakileri takip eder:

Sürücü kodu farklı IRQL seviyelerinde gerçekleştirilebilir.

Ve dolayısıyla yeterince önemli olan iki çıktı:

  1. Sürücü kodu yer değiştirdi ve kesildi. Sistemdeki diğer herhangi bir kod gibi, seçilen kuantumun sonundan sonra herhangi bir zamanda kesilebilir;
  2. Sürücü kodu, yapıldığı IRQL seviyesine bağlı olarak belirli sistem fonksiyonlarını kullanmalıdır.

Sürücüyü, Sürücü kodu, IRQL seviyesinin düşük seviyesinde gerçekleştirildiğinde, herhangi bir nesneyi (örneğin, dosya dosyası.txt) değiştirirken, daha sonra daha yüksek bir IRQL seviyesindeki başka bir kodu aniden yürütmeyi keser ve aynı file.txt'i değiştirir. diğer verilere. Office şoförümüze döndüğünde, dosyayı verilerini değiştirmeye devam edecek, böylece başka bir kaynaktan alınan verileri düşürür. Böylece, dosya tesadüfi duruma girecektir. Bu tür problemleri çözmek için, çeşitli senkronizasyon sistemi nesneleri tanıtıldı. Çekirdek seviye kodunun belirli veri türlerini değiştirmesi için, karşılıklı istisna nesneleri, önce kilitlerin bulundurması gerekir.

Sürücü kavramı

Windows işletim sistemi çekirdeği, cihazlarla bağımsız etkileşim için tasarlanmamıştır.

Buna göre, bu onayı takip eden sonuçlar açıktır: bireysel arayüzler, cihazlarla cihazlarla etkileşime geçmek için gereklidir, belki de birden fazla arayüzden oluşan karmaşık bir set. Sürücü konsepti, konjugasyon problemini çözmek için tasarlandı ve çoğu modern sistemlerin modellerinde kullanılır, bu, sistem çekirdeğinin herhangi bir mantıksal / türü ile etkileşimini sağlayan özel bir kod çekirdeğinin adres alanında çalışmaya dayanır. fiziksel cihazlar.
Kaynağın genel odağı göz önüne alındığında, makalede, Windows işletim sistemi sürücülerinin özelliklerini özel olarak karşılayacağız. İçin böylece windows sürücüsüGenel olarak, diğer işletim sistemlerinin sürücüleri aşağıdaki ifadelere sadık kalır:

İşletim sisteminin (özel programlar, çekirdek ve diğer bileşenlerin) belirli bir fiziksel veya mantıksal bir cihazın işlevselliğine eriştiği sürücü (sürücü) - yazılım.

aynı, ama başka bir deyişle:

Sürücü, kullanıcı modu kodu, çekirdek modu ve fiziksel / mantıksal / sanal cihaz işlevleri arasındaki arayüzdür.

Yukarıdaki tanımlardan biri, sürücünün önemli bir özelliğini not eder: Sürücüyü yalnızca fiziksel cihazla işbirliği içinde bir şekilde temsil eder, çünkü sürücünün herhangi bir ekipmanın işlevlerine erişim sağlaması gerekmediğinden, yalnızca yazılım işlevsel özellikleri sağlayabilir. Bu tür çözümlerin örnekleri, Antivirüs Sistemine, Veri Şifreleme Sistemleri, İzleme Sistemleri'nde kurulan sürücülerdir. Herhangi bir sürücünün çalışmalarının genel algoritması aşağıdaki gibidir: Özel bir kullanıcı arayüzünün işlevleri aracılığıyla (Windows'ta bu API Win32) veya G / Ç istekleri aracılık eder / doğrudan belirli bir cihazın sürücüsünün işlevlerine bakın. Sürücü, sırayla, ilgilenilen cihazın fonksiyonel özelliklerine erişim sağlar ve ayrıca uygulama istekleri arasındaki etkileşim sürecini ve doğrudan cihaz tarafından kontrol eder. Doğal olarak, sürücü sürücüye (açıklanan) tüm etkileşimin tüm prensipleri (alt, sahibi) cihazı, yönetilen bir nesnede (komut seti), sistem / Kullanıcı kodu cihazı doğru şekilde başlatabilir ve etkileşimiyle başlayabilir.

İşletim sistemini başlatırken sürücüleri indirin

İşletim sisteminin yüklenmesinin ne tür bir aşamasında yüklenmesini başladığını görmek çok ilginç olurdu ve ilk Windows sürücüsünü çalıştırmaya başlar mı? Bununla birlikte, ayrıntılı sunumda, bu süreç yeterince anlayışsızdır ve derin bir anlayış için indirmenin birçok bileşeninin kodunu tersine çevirmeyi gerektirir, herkese ek olarak, benzerleriyle ilgili birçok anı dikkate almanız gerekir: bir yük sırası Sürücüler arasındaki bağımlılık nedeniyle, sürücünün sözde sürücü indirme gruplarına göre gruplandırılabileceği, sürücülerin yüklenmesi, sürücülerin yüklenmesi birkaç adımda ve benzeri bir şekilde ayrılabilir. Aynı zamanda, ağın eski halihazırda işletim sistemlerine göre çok sayıda malzemeye sahip olduğu, bu nedenle Windows Sürücülerini Windows 7 işletiminin örneğini (Ruh'taki en yakın) kullanarak yükleme işlemini güncellemeye çalışacağız. sistem. ve bir başlangıç \u200b\u200biçin, sürücü yük işleminde aktif olarak yer alan ana Windows çekirdek bileşenleri hakkında bilgi vermek zarar vermez:

  • G / Ç Yöneticisi (G / Ç Yöneticisi) Yöneticisi - Yürütme alt sisteminin bir parçası olan Kernel Modu modülü, G / Ç işlemlerini kontrol eden, kullanıcı uygulamaları ve sistem bileşenleri için fiziksel ve mantıksal cihazların soyutlanmasını sağlar, kullanıcı modunun uygulamasını sürücülerle bağlayın. Sürücülerle etkileşim sürecinin aşamalarını kontrol eder. Sürücülerle birlikte veri G / Ç yöneticisinin tüm değişimi, geri arama geri arama prosedürlerine ve sürücünün tüm özünü kullanan standartlaştırılmış IRP veri yapısının iletilmesine erişim yoluyla gerçekleştirilir;
  • Dispatcher (Manager) Tak ve Oynat (PNP Yöneticisi) - İşletim sisteminde aygıtları eklemek, tanımlamak, tanımlamak için sorumlu olan Yürütme alt sisteminin bir parçası olan Kernel Modu Modülü ve Kullanıcı Modu. Çekirdek modunun bir kısmı, sistemde bulunan cihaza hizmet etmek için gereken yazılımın kurulum işlemi sırasında (indirme) diğer sistem bileşenleri ve sürücüleriyle etkileşime girer. Kullanıcı modunun bir kısmı, kullanıcı modunun programlarıyla (etkileşimli kullanıcı etkileşimi için), yeni sürücülerin kurulumunu gerektiren durumlarda (etkileşimli kullanıcı etkileşimi için), mevcut olanlardaki işletim parametrelerinin ayarlanmasından sorumludur. Sistemdeki donanım kaynaklarının dağılımını yönetir, cihazları da tanıyabilir, bağlantılarına cevap verebilir, yeni cihazlar algılandığında ilgili sürücüleri indirebilir;
  • Servis Müdürü (Servis Kontrol Yöneticisi, SCM) - Hizmetler ve işletim sistemi sürücülerini oluşturmak, silmek, başlatmak ve durdurmaktan, başlatmaktan, başlatmaktan ve durdurmaktan sorumlu sistem süreci. Ayrıca: Olay günlüğünün çalışması, uzaktan prosedür arama teknolojisi için destek (uzaktan prosedür çağrısı, RPC);

Bu iki yönetici, yani bir G / Ç yöneticisi ve PNP yöneticisi, birbirleriyle aktif olarak etkileşime girer.
Şimdi işletim sistemini yükleme sürecini tarif edeceğiz, ancak her zamanki formumuzda değil, işletim sisteminin tarif edilen bileşenlerinin çalışmalarıyla ilgili kilit noktalara yönlendireceğiz:

  1. Bootmgr (.efi) Winload (.efi) modülünü indirir ve kontrolüne iletir.
  2. Winload (.efi) Kayıt Bush'u tarar HKEY_LOCAL_MACHINE \\ SYSTEM \\ Services ve yüklü tüm sürücülerin bir listesini alır. Bu Bush'ta, son sürücülerle ilişkili bölümler var, grup, başlangıç, tür, loadordergroup, DEPENDONGROUP, DepNonServices, belirli sürücü yükleme kriterlerini tanımlayan çeşitli sürücülerle ilgili parametreler var.
  3. Winload (.efi) Sürücüler sürücüleri sürücüleri, dosya sistemi sürücüleri gibi işletim sisteminin yüklenmesinin / çalıştırmasının ilk aşaması için kritik olan sürücüleri indirir. Açıkçası, bu tür sürücüler en yüksek önceliğe sahiptir, çünkü diğer sürücüleri yüklemek için bir temel oluştururlar, bu nedenle bunlar ve diğer nedenlerden dolayı çekirdeğin kontrolünü aktarma sırasında bellekte olmalıdır. Buna göre, özel bir service_boot_start türüyle işaretlenmiştir. Bu aşamadaki sürücüler, ait oldukları gruplara bağlı olarak yüklenmeye başlar.
  4. Winload (.efi) Çekirdeği doğrudan NTOSKRNL.EXE dosyasından indirir ve kontrolüne iletir.
  5. Çekirdek İndirme I / O Yöneticisi ve PNP Yöneticisi.
  6. G / Ç Yöneticisi küresel bir dizin oluşturur. Bu dizin ayrıca cihaz nesnelerini kaydetmek için kullanılır.
  7. PNP Yöneticisi, sürücüyü önceden yüklenmiş, önceki aşamada (Service_boot_start türüne sahip), her bir sürücünün doyurucusu prosedürünü arayarak belleğe yüklenmiştir. Bağımlı sürücüler bu aşamaya indirilir.
  8. PNP Yöneticisi, sistemin sisteminin sistemini oluşturur, kökten başlayarak atlar ve henüz indirilmemiş cihaz sürücülerini yükler.
  9. PNP Yöneticisi, başlangıç \u200b\u200bparametresinin değeri ne olursa olsun, kalan boşaltılmış aygıt sürücülerini yükler. Benzer sürücülerin çoğu, servis_demand_start türüne sahiptir.
  10. PNP Manager, gelişmiş fonksiyonel sürücüleri yükler. Bu sürücüler bir video adaptörü sürücüsü, harici aygıt sürücüleri, TCP / IP yığın sürücüleri bulunur. Bu tür sürücüler servis_system_start türüne sahiptir.
  11. Çekirdek, Seans Manager'ı (Session Manager Subsystem Servisi, SMSS) yükler, bu da Yönetici Yöneticisi (SCM) Yöneticisi'ni (SCM) indirir. SCM Kayıt Defteri Bush ( HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Services) Ve alınan bilgilere dayanarak, Servis / Sürücülerin Dahili Veritabanı, yüklü hizmetlere / sürücülere hizmet vermek için bir yazılım arayüzü oluşturur. SCM Yüklemeleri "Auto-Step" PNP olmayan sürücüler (bir servis_auto_start türüne sahip), yanı sıra bağlı oldukları tüm sürücüler.

Tüm bu sürücü yükleme algoritmasını, aşağıdaki temel kuralları anlamamız gerekir: Sürücü, PNP yöneticisini kullanarak (sürücü sınıfına bağlı olarak) veya SCM kullanarak yüklenebilir, ancak sürücünün çalışma sürecinde aktif olarak yer alır. G / Ç Yöneticisi.

Windows Sürücü Yapısı

Sürücü nasıl olabilir? Özellikle özellikle özel bir program sınıfı mı? Ben de, bir zamanlar Naiva'da, inanıyordu, ancak bunu düşünürseniz, neden, hayatlarını zorlaştırmak ve bazı nükleer bileşenler için yürütülebilir bir dosyanın yeni bir özel görüntü formatı icat etmelerine neden olursunuz? Eski, uzun süredir kurulan ve yüzlerce kez kanıtlanmış olanı uyarlamak çok daha kolaydır.

Sürücü, Subsystem \u003d 1 alanının değeri (Image_Subsystem_Native) değeri olan bir PE-unvanı (Image_nt_headers, isteğe bağlı kafa altyapısı) olan her zamanki DLL dosyası olan bir tür "Kernel Modu Kütüphanesi" türüdür.

Yürütülebilir modülü monte ederken alt sistem türü belirtilebilir. Yerel alt sistemin kendisi, başkaları tarafından işlev gören uygulamaların karakteristiğidir, kurallardan farklıdır: Görüntüyü hazırlama aşamasında, Win32 alt sisteminin başlatılmasını gerektirmez. Diğer alt sistemler arasında yerli, neredeyse tüm sürücüler olan Çekirdek Mod kodu için kullanılır.

DLL ile analoji olarak, her biri sürücüye belirli bir erişim türünü işlemek için tasarlanmış olan bir prosedür (harici uygulamalar tarafından aranır) bir dizi prosedür olarak basitleştirebilirsiniz.

Hafif bir rakam yapacağız ve böyle bir şey hakkında bir nesne olarak konuşacağız. Gerçek şu ki, Windows sürücüsünün tamamının yanı sıra diğer işletim sistemi modüllerinin tamamı, çeşitli sistem veri yapılarına bağlıdır. Bu yapılar çekirdek tarafından kontrol edilir ve akışlar, olaylar, G / Ç istekleri, cihazlar ve diğer varlıklar içerebilir.

  • Nesneler. İşletim sisteminin bir veya başka bir özünün özelliklerinin kayıtlarını içeren veri blokları. Nesnelerin yönetilen yöneticisi (Yöneticisi). Birçok nesnenin, nesnenin uygulamalar için uygun hale geldiği tanımlayıcılara (tanımlayıcıları) sahiptir.
  • Veri yapıları. İşletim sisteminin bir veya başka bir özünün özelliklerinin kayıtlarını içeren veri blokları. Çekirdeği yönetti. Nesnelerden farklıdır, ancak (atalet ile) ayrıca nesneler olarak da adlandırılır.

Bu nedenle (büyük bir gerilim ile), Windows işletim sisteminin tüm iç yapıları nesneler denir.
Artık sürücü prosedürlerine geri dönün, aslında, sürücünün "prosedürleri" olarak adlandırılan "prosedürler", olay işletim sisteminin ilgili altyapı nesnelerinden işlenen geri çağrının com-nesneleridir, sürücünün çekirdeğini sağladığını söylüyor. Sürücü tarafından uygulanan prosedür tarafından belirtilen COM arayüz işletim sistemi. İhracat, yani, sürücü prosedürlerinin dıştan daha fazla erişim için yayınlanması (Deklarasyonu), DriverEnry denilen sürücünün ana prosedürüne (tüm sürücüler için standart) kaydedilerek yapılır.

DriverEntry işlevinin temel amacı, sürücü geliştiricisinin sürücünün bir nesnesinin doldurulmasını (yapısı girişlerini), bir veya başka bir işlevsellik sağlayan çeşitli dahili sürücü prosedürlerine yaptığını sağlamaktır. DriverErry \u200b\u200bProsedüründe, daha sonra cihaz tanımlayıcısını açma ve G / Ç sorgu paketlerini (IRP) gönderme uygulamaları tarafından kullanılan cihaz nesnesinin adını (değiştirebilirsiniz) ayarlayabilirsiniz.

DriverEntry işlevi aslında global başlatmanın bir işlevidir ve sürücü yükleme aşamasında bir şey yapılır. Bu özellik, hem son derece basit hem de, örneğin, ek bir aygıt nesneleri, bir cihaz anketi, ek bir cihaz nesneleri, bir cihaz anketi, ek bir cihaz oluşturma ve aygıtların başlatılması gibi gelişmiş işlevsellik (ek alt yordamlar) içerebilir.
Kendi işlevlerinizi yayınladıktan sonra, sürücü işletim sisteminin "görünür" çekirdeği olur. Oldukça zor bir teoriyi karmaşıklaştırmamak için, Windows çekirdeği açısından, herhangi bir cihazın belirli bir soyut "sanal cihaz" olduğu, standart bir komut kümesini çalıştıran ve iç arayüzler aracılığıyla erişilebileceğini varsayıyoruz. Yukarıda belirtildiği gibi, Windows işletim sistemi çekirdeğinde özel bir yönetici sistem modülü bulunur, g / Ç Yöneticisi (Yönetici)Fiziksel aygıt sürücüleri, mantık aygıtları sürücüleri ve dosya sistemi sürücüleri dahil olmak üzere tüm çekirdek modu sürücüleri için tek bir etkileşim arayüzü sağlamak. Buna göre, çekirdeğin G / Ç sistemi sürücüleri yönetir veya sürücülerin işletim sisteminde işlem sağlamak için G / Ç Dispatcher arayüzünü kullandığını söyleyebiliriz. Donuk bir tarafla, sürücü, işletim sisteminden gelen "Standart Komutlar" ın bir dönüşüm (dönüşüm), kendisi tarafından kontrol edilen cihazı (eğer) ve bunun tersi de geçerlidir. G / Ç Yöneticisi, sürücüye uygulanabilecek standart prosedürlerin (SET) ayarını belirler:

Sürücü, G / Ç işleminin farklı aşamalarını sağlayan bir dizi geri arama prosedürü içerir.

İşlevsel özelliklerin bir sürücüyü sağlaması gerekenlerin daha derin bir anlayışı için, genel anahtar yolu prosedür diyagramını verelim:

Aslında, diyagrama bakarken, ne tür etkileşimlerin, yani, prosedür gruplarının soyut bir Windows sürücüsünü uygulaması gerektiği açıklanmaktadır. Şimdi bu işlemlerden bazılarını listeleyelim:

  • Başlatma - G / Ç Yöneticisi, sürücü nesnesinin başlangıç \u200b\u200bkonfigürasyonu için tasarlanan, başlatma prosedürünü (dihazentreri taşıyan) prosedürünü başlatır, tüm diğer sürücü prosedürlerini kaydettirerek, köle cihazını yapılandırın ve geliştiricinin çıkarlarında diğer eylemleri gerçekleştirir. .
  • Bir cihaz ekleme - ekleme (isteğe bağlı) "Cihaz" nesnesi. Bu prosedürde, sürücü genellikle sürücü tarafından servis verilen her cihaz için "cihaz" nesnelerini oluşturur. Genellikle fişli oyun sürücüleri için kullanılır.
  • İşleme - bir dizi gönderme prosedürü (çeşitli durumlar işleme). Cihaza açılma, kapanma, okuma, yazma, güç durumları, PNP olayları ve sistem durumlarının yanı sıra diğer bazı etkileşimlerin yanı sıra gönderim prosedürlerinde açıklanmaktadır. Aslında, bunlar temel prosedürlerdir, çünkü tip G / Ç işlemleri gönderim prosedürleri aracılığıyla işlenir.
  • G / Ç'nin çalışması (başlatma), G / Ç sorgusunun, cihazın giriş çıkışını doğrudan başlatan cihaza yapmanın ikinci aşamasıdır. Bu prosedür, cihazdan / cihazdan veri aktarımını başlatmak için kullanılabilir.
  • Kesme Prosedürü - Cihaz bir kesme oluşturduğunda, kesme yöneticisi bu prosedüre kontrolü aktarır.
  • İşleme Ertelenmiş Prosedürler Prosedürleri - DPC Prosedürü, ISR uygulamasından sonra kesme işleminin işlenmesinde ana çalışmayı üstlenir. Ertelenmiş prosedürler çağrılar, ISR prosedürünün kendisinden düşük IRQL (DPC / Dispatch) 'de gerçekleştirilir. Diğer kesintileri engellemek için benzer bir algoritma uygulanır.
  • I / O - Çok seviyeli bir sürücünün tamamlanması için prosedür, düşük seviye sürücünün IRP işlemesinin tamamlanmasını bildiren G / Ç'yi tamamlama prosedürlerine sahip olabilir.
  • İptal prosedürleri - eğer G / Ç işlemleri kesilebilirse, sürücü bir veya daha fazla benzer prosedür tanımlayabilir. Sürücü, iptal edilebilecek bir G / Ç isteği için bir IRP paketi aldığında, bir IRP iptal prosedürü atar ve IRP paketi, bu prosedürün geçerli işlem iptal edilmediğini değiştirebileceği veya kaldırabileceği farklı aşamalardan geçer. .
  • Hızlı Gönderme Prosedürü - Dosya Sistemleri Sürücüsü gibi Kesha Yöneticisi'ni aktif olarak kullanan sürücüler genellikle, tipik I / O taşıma algoritmalarının çekirdeğinin kapanma olasılığını sağlamak için benzer prosedürler sağlar.
  • Yükleme prosedürü - G / Ç Dispatch Yöneticisi'nin sürücüyü hafızadan kaldırması için sistem kaynakları ile çalışan her bir sürücüde (muaf / işgal) uygulanmalıdır.
  • Tamamlama Uyarı Prosedürü - Sürücünün sistem tamamlandığında işgal ettiği tüm kaynakları serbest bırakmasını sağlar.

Windows sürücüsünü geliştirme sürecinde, yukarıda açıklanan tüm prosedür kümesini uygulamak için bir görev yoktur, her sürücü benzersizdir ve geliştirici, sürücü tarafından desteklenen kendi uygulama kümesini sağlamak için ücretsizdir. Bir PNP Yöneticisi veya SCM kullanan sürücü sisteme yüklenirse, G / Ç Yöneticisi ad alanında bir sürücü nesnesi oluşturur "(sürücü nesnesi) ve başlatma konusunda daha fazla işlem gerçekleştiren sürücü başlatma prosedürüne (genellikle driverterry) neden olur.

Sürücü nesnesi, çekirdek hafızasındaki indirilen sürücünün görüntüsünü temsil eder ve bu nesne aracılığıyla sistem sürücüyü kontrol eder.

Sürücü nesnesi, çekirdeğe kod ve sürücü verilerini sunar: Diğer şeylerin yanı sıra, bu nesne aracılığıyla sürücü, prosedürlerinin giriş noktalarını dışa aktarır. Sürücü başlatma prosedürü, ihraç edilen tüm sürücü prosedürlerinin bu giriş noktasının niteliklerine yazar. Yüklemeden sonra, sürücü cihazları temsil etmek için "Cihaz" nesneleri oluşturabilir veya hatta sürücü arayüzünü oluşturabilir. Çoğu sürücü aşağıdaki gibi "Cihaz" nesneleri oluşturur:

  • PNP sürücüleri, PNP Yöneticisi'nin bunları kendileri tarafından yönetilen cihazın varlığını bildirdiğinde, cihaz ekleme işlemlerini kullanarak "Cihaz" nesnelerini oluşturur.
  • no-PNP sürücüleri, başlatma prosedürlerinin G / Ç yöneticisini ararken "Cihaz" nesnelerini oluşturur.

"Cihaz" (Cihaz) tipi bir nesne oluştururken, bu nesneye bir isim atamak istediğiniz sürücü. Sonra bu yeni oluşturulan nesne ad alanına yerleştirilir nesne yöneticisi (G / Ç Müdürü) gibi, Nesne Yöneticisi), Kernel Executive alt sisteminin bir parçasıdır. Nesne Yöneticisi, nesneler olarak sunulan tüm işletim sistemi kaynaklarının tabanını koruması amaçlanmıştır. Nesne adı, sürücünün kendisi tarafından açıkça belirlenebilir veya otomatik olarak giriş-çıkış yöneticisi oluşturulabilir. Anlaşmaya göre, "Cihaz" nesneleri, Win32 API üzerinden erişilemeyen \\ aygıt ad alanı ad alanı ad alanı adlarına yerleştirilmelidir. Ve "Cihaz" cihazının uygulamalar için kullanılabilmesi için, sürücü \\ global dizininde oluşturmalı? \\ Cihaz dizininde bu nesnenin adına sembolik bağlantı. Eklenti ve oynatma teknolojisini ve dosya sistemi sürücülerini desteklemeyen sürücüler genellikle iyi bilinen bir adla sembolik bir bağlantı oluşturur (Say, \\ Device \\ VMwarekbdFilter). Yalnızca listelenen tüm eylemlerden sonra, sürücü sistemde "görünür" hale gelir ve kullanıcı uygulamaları tarafından aranması için kullanılabilir.

Sürücü ile etkileşim

Bir kullanıcı programı sistemdeki sürücüyle nasıl etkileşime girebilir? Bu durumda iki yolu vardır:

  1. Örtük - Tipik bir işlevi çağırın Win32 API;
  2. Açık - DOĞRUDAN DOĞRUDAN DOĞRUDAN DEĞERLENDİRME;

Peki, ilk vaka ile her şey yeterince basittir, normal bir fonksiyon Win32 API (örneğin, CreateFile) başvuru programında (örneğin, CreateFile), ardından, Hedef nesneye bağlı olarak (Dosya, Dizin) olarak adlandırılır. , Exchange işlevini sürücüyle aramalarının zincirinde tetikleyebilir. Aslında, bu durumda, uygulama kodu, herhangi bir sürücüyle etkileşimde bulunmak için görevini yapmaz, sadece prosedürlerin zincir zorluklarında, belirli bir aşamada, yürütme çekirdeği moduna girer ve sürücü işlevi orada çağrılır. Bütün bunlar geliştiriciden gizleniyor, ancak hata ayıklama maddeleriyle etkileşimi izlemek mümkündür.
İkinci durum daha ilginçtir, sürücünün dolaylı bir arama (tipik bir işlevi çağırarak) olarak görüldüğünde ve sözde G / Ç sorgusunun özel bir işlevi (örneğin, CihaziOkontrol) kullanarak iletimin (/ O kontrol talebi), ayrıca bir G / Ç istek paketi adı verilen bir veri bloğunun oluşumunu başlatır.

G / Ç Sorgu Paketi (IRP, G / Ç istek paketi), G / Ç isteğini açıklayan bilgileri içeren bir Windows çekirdek veri yapısıdır.

Resmi olarak IRP bir pakettir, ancak aslında bu, bu, bir G / Ç yöneticisi için bir dizi prosedürle olan bir işlem (blok), yani program ve sürücü arasında veri alışverişi sağlayan veya sürücü arasında veri alışverişi sağlayan çekirdek nesnedir. ve sürücü. Daha önce de belirttiğimiz gibi, Windows mimarisi, kullanıcı modu ve sürücü programını doğrudan etkileşime girmeyecek şekilde yasaklanacak şekilde inşa edilmiştir, bu nedenle böyle bir değişimin zaten oluşumuna yol açan IOCTL kod programının gönderilmesine indirgenir. Sorgu paketine IRP G / Ç. I / O yöneticisi, sürücülerle etkileşimden sorumlu olan, IRP paketleriyle çalışır. G / Ç Yöneticisi, kullanıcı programından bir giriş çıkışını ortaya çıkarır, ardından bir IRP oluşturur ve karşılık gelen sürücüye iletir.
IRP paketi iki bölümden oluşur:

  • sabit parça;
  • g / Ç yığını.

IRP'nin kalıcı kısmı, Junior işlev kodunu bir kıdemli ve (her zaman değil) içerir. Kıdemli Kodlar: 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. Paket ayrıca bir G / Ç yığını içerir - belirli parametreleri içeren özel bir IO_stack_location yapısı: Bu, bu IRP paketini işleyen bir dizi cihazdır. Ve yığında, bu paket, cihazdan cihaza sırayla iletilir. Birden fazla yığın yerleştirme, IRP'nin birkaç sürücü tarafından işlenebileceğini söylüyor. IRP "yığın hücreleri" ve IRP paketi üzerindeki "değişken" bilgisini depolamak için tasarlanmıştır. IRP paketi, her bir sürücünün yayınlanmış prosedürlerinden, her biri G / Ç yığın hücresini "onun" hücresinden alır. Sürücü prosedürleri geleneksel olarak "geri arama) prosedürleri denir. Daha önce de belirttiğimiz gibi, driveretinry sürücüsü başlatma özelliği, çekirdeği (yayınlar) bu prosedürlerin adlarını (yayınlar) bildirir ve çekirdeğin kendisi belirli koşullar altında bir veya başka bir prosedüre neden olur.
Personel programından farklı olarak, sürücü adresi alanı ile klasik bir işlem değildir ve bir uygulama akışı yoktur. Bunun yerine, sürücü işlevi akışın bağlamında ve arandığı işlem yapılır. Sürücünün bağlamı (kod yürütme alanı), sürücüye kimin bir temyiz (çağrı) ürettiğine bağlıdır. İtiraz başlatılabilir:

  1. Uygulama Programı (Kullanıcı Modu Programı). Bu durumda, sürücünün yürütülmesinin bağlamı tam olarak bilinmektedir ve uygulama programının bağlamıyla çakışıyor;
  2. Başka (üçüncü taraf) sürücü. Bu durumda, yürütme bağlamı daha karmaşıktır, hem bilinen hem de rastgele olabilir, arayanın işlevinin yürütülmesinin bağlamına bağlıdır.
  3. Donanım / yazılım kesinti. Bu durumda, yürütme bağlamı rastgeledir, çünkü kesme (ve buna göre, sürücü koduna geçiş), işletim sisteminde kesinlikle herhangi bir kod yaparken oluşabilir.

Yine, standart programın aksine, sürücü Standart Win32 API fonksiyonlarını arayamaz, yalnızca EX Ex ile başlayanlar .., Hal .., Io .., Ke .., Ks .. , Mm .., .., Po .., PS .., RTL .., SE .., zw .. ve bazıları.

(Tipler) Windows Sürücüleri

Gelişme sürecinde ve buna göre, sürücü kavramının komplikasyonları, sürücüler hedefe bağlı olarak kategorilere (veya tiplerine) ayrılmaya başlamıştır. İşte bunların ana şunudur:

  • Sınıf sürücüleri (Sınıf Sürücüsü) - Belirli bir cihaz sınıfı için Microsoft tarafından geliştirilen sürücüler.
  • Dosya Sistemi Sürücüleri Dosya Sistemi Sürücüleri) - Çeşitli medya türlerinde dosya sistemlerini uygulayan sürücüler.
  • Miras kalan sürücüler Legacy sürücüleri - "eski" (OS eski sürümlerine sahip uyumlu yapılar) Çekirdek Modu sürücüleri, doğrudan herhangi bir ek aygıt sürücüsü olmadan köle cihazını doğrudan kontrol edin. Neden böyle bir isim giyiyorlar? Çünkü, Windows NT çizgisinin ilk sürümlerinden kalan sürücülerin türüdür.
  • Otobüs Sürücüsü Sürücüleri - Herhangi bir bilgisayar lastiğinin işlevselliğini sağlayan sürücüler (ISA, PCI, USB, IEEE1394 ve diğerleri);
  • Filtre sürücüleri (Filtre Sürücüsü) - Sürücüleri, başka bir sürücünün mantığını izlemek / değiştirmek için kullanılan verilerle birlikte veri ile çalışarak.
    • Üst filtre sürücüleri (Üst-Filtre Sürücüleri) - Yığındaki işlevsel sürücünün üstünde olan filtre sürücülerinin alt tipi. Üst filtre sürücüleri aracılığıyla tüm istekleri geçer, bu da işlevsel bir sürücüye giden bilgileri değiştirebilecekleri ve / veya filtreleyebilecekleri ve muhtemelen aygıta bulunabilecekleri anlamına gelir. Örnekler, trafiği / filtreler, okuma / yazma isteklerini şifreler / engelleyen bir filtre sürücüsü olabilir. Bu tür sürücüler güvenlik duvarlarında kullanılır.
    • Alt filtre sürücüleri (Alt Filtre Sürücüleri) - Yığındaki işlev sürücüsünün altında bulunan filtre sürücülerinin alt tipi. Benzer alt filtre sürücüleri sayesinde, genellikle bir kural olarak, diğer filtre sürücülerine kıyasla daha az istek, çünkü taleplerin çoğu işlevsel sürücünün kendisini yürütür ve tamamlar.
  • Fonksiyonel sürücüler Fonksiyon Sürücüsü - Sürücüler bağımsız çalışır ve cihazla ilişkili tüm yönleri tanımlar.
  • PNP Sürücüsü (PNP Sürücüsü) - Sürücü Destekleme Tak ve Çalıştır teknolojisi;
  • Miniters (MiniPort, Miniclass) (Miniport Sürücüsü, Minidriver, Miniclass Sürücüsü) - Son cihazla ilişkili görevleri işleyen ve cihazı kontrol etmek için sınıf sürücüsünü kullanan sürücüler. Bu kategorinin belirli bir cihaz görevini gerçekleştirdiği son aygıt sürücüleri olarak hareket ettiği sürücü çiftinin parçalarından biri olarak işlev görür.

Bileşen seviyesine göre, sürücüler şunlardır:

  • Tek seviye - G / Ç işlemesi, bir yürütülebilir modül (sürücü) içerisinde uygulanır.
  • Çok seviyeli - I / O kullanımı çoklu sürücüler arasında dağıtılır.

Windows için PNP sürücüleri ayrılmıştır:

  • Fonksiyonel sürücü
  • Lastik Sürücüsü (Lastik Sürücüsü)
  • Sürücü Filtresi (Filtre Sürücüsü)

Windows yürütme moduna göre, Windows sürücüleri havalıdır:

  • Özel Mod Sürücüsü.
  • Çekirdek modu sürücüsü.

Sürücü modelleri

İşletim sisteminin varlığı boyunca, geliştiriciler sürücülerin gelişimini standartlaştırmaya ve basitleştirmeye çalıştı. Sonuç olarak, modeller ortaya çıktı.

WDM modeli

Bir süre çok uzun zaman önce, Windows sürücünün kavramının geliştirilmesi için iki ana talimat vardı:

  1. windows 95/98'de, VXD modeli (sanal aygıt sürücüsü) kullanıldı;
  2. windows NT3.51'de, NT sürücüsü (NT, NT sürücüsünün tarzındaki sürücü) paralel olarak geliştirmiştir.

Bununla birlikte, Windows 98 / NT4.0 sürümüyle başlayarak, geliştiriciler, geliştiren sürücüleri geliştirmeye (üniversiteye) birleştirmeye çalıştılar, çünkü yeni bir WDM modeliyle aşağıdaki gibi modelleri değiştirdi.

WDM (Windows sürücüsü, Windows sürücü modeli) - Windows işletim sistemi cihazları için birleşik geliştirme ortamı (çerçeve). Sürücü gereksinimleri için standardizasyon kodunu azaltmak için yaratılmıştır.

WDM modeli, devrimci fiş ve ACPI teknolojilerine destek sağlamak için Klasik Windows Sürücü Yığınının geçersiz kılma aşamasıydı. Model, sürücüleri "sinek üzerine" indirmeyi / boşaltmayı mümkün kılar, işletim sistemini yeniden başlatmanız gerekmeden, uzantılar (filtreler) standart sistem sürücülerine sürücüler geliştirmek, cihazların güç tasarrufu ve yapılandırmasını daha esnek bir şekilde kontrol ettirin. ve benzeri.
WDM modelinde, herhangi bir donanım cihazı en az iki sürücü tarafından desteklenir:

  • İşlev Sürücüsü - Servisli cihazın neredeyse tüm fonksiyonel özelliklerinden sorumludur: G / Ç işlemleri, kesme işlemi ve cihaz yönetimi;
  • Otobüs Sürücüsü Sürücüsü - Cihaz ile bilgisayar arasındaki bağlantıyı korumaktan sorumlu, aslında bağlayıcı lastiği (örneğin, PCI, USB ve diğer) destekliyor.

Model wdf.

Tüm gelişme süresi boyunca, WDM modeli, büyük ölçüde derecelendirilmiş birçok değişiklik geçirmiştir. Windows Vista ile başlayarak, Windows sürücüsü kavramını geliştirmek için başka bir girişimde bulunuldu, bunun sonucu WDF olarak adlandırılan yeni model (Eklenti Eklenti) olan sonucu olan WDM modelinin özünde.

WDF (Windows Sürücülerinin, Windows Sürücüsü Vakfı) - Geliştirme Ortamı (Toolkit), Windows İşletim Sistemleri için Aygıt Sürücülerinin Geliştirilmesini Kolaylaştırın (Windows 2000 ve Sonra).

Bu, geliştiricilerin WDM modelinin soyutlamasının yeterli seviyesine ulaşamayacağı gerçeğinden kaynaklanıyordu, yani G / Ç alt sisteminin eklenti ve oynatma teknolojisi ve güç yönetimi ile birlikte yetersiz entegrasyonu. Bu, sürücünün geliştiricisinin bu çok girdi-çıkış isteklerini eklenti ve oynatma olayları ve enerji tüketimi talepleri ile senkronize etme konusunda büyük bir yük bırakması gerçeğine yol açtı. Açıkçası, sürücü modelinin daha da basitleştirilmesi gerekiyordu. WDF WDM'yi değiştirdi ve en modern model olarak kabul edilir.
WDF, aşağıdaki özellikleri uygular:

  1. Kernin içindeki toplam başarısızlık sayısında bir azalma sağlayan kullanıcı modundaki sürücü sınıflarının yürütme modunda kritik olmayan bazı kritik olmayanların "ulaşılması".
  2. G / Ç Subsisteminin eklentisi ve güç kontrolü ile birlikte etkileşiminin işlenmesinin çoğu şimdi dahili WDF model mekanizmalarıyla gerçekleştirilir.
  3. Sistem arayüzlerini anlamaya bırakmanıza izin veren yeni iç WDF model arayüzleri sağlamak; WDM / Legacy modelinde, tüm temel çekirdek mimarisini incelemeden, sürücüyle etkileşimin bazı bölümlerinin mantığını uygulamak oldukça zordur, WDF, birçok etkileşimi otomatikleştirmenize olanak sağlar; Bir WDM sürücüsü geliştirirken çok sayıda kod artık WDF prosedürleri ile değiştirilebilir.
  4. "Kanonik" bir sürücü oluşturma yeteneği. Üçüncü taraf geliştiriciyi sağlayan şablonların varlığı, sürücüsüne özgü kriterleri geçersiz kılma olasılığıdır, böylece geliştirme süresini azaltır.

WDF modeli iki yöne ayrılmıştır:

  • UMDF (çekirdek modu sürücü çerçevesi) - Çekirdek mod sürücü geliştirme ortamı.
  • KMDF (Kullanıcı Mode Driver Framework) - Kullanıcı Modu Sürücü Geliştirme Çarşamba.

WDF modelindeki kullanıcı ve çekirdek modlarının bölünmesi yeterince koşulludur, çünkü bu ayrımın asıl amacı, bazı cihaz sınıfları için sürücülerin geliştirilmesini sınıflandırmaktır.

Bilgisayarınızı kendiniz topladıysanız, bileşeni ayrı ayrı satın alıyorsanız, bu durumda bir bilgisayar için tüm sürücüler üreticinin tek bir sitesinde, hazır bir bilgisayarı satın alırken nasıl kolay olacağını (bu konuda da) bulunamaz. "Bir dizüstü bilgisayar satın alındıysa veya hazır bir sabit bilgisayara sahipse sürücüleri nasıl bulacağınızı" söylemiştir. "). Ne de olsa, bir tür üreticiye ait olacak hazır olmayan bir bilgisayar satın aldınız, bir siteden indirebileceğiniz kendi modelim ve şoförüm olur. Bilgisayar yedek parçalardan kendiniz monte edildiğinde, artık bir tür modele uygun olmayacağı ve bazı üreticilere ait olmayacağı anlamına gelir, çünkü zaten yaratılmanızdır :) Bu nedenle, sürücünün herkes için ayrı ayrı imzalanması gerekecektir. Bilgisayarın toplandığı cihazlar. Hazır (zaten toplanmış) bir bilgisayar satın aldıktan sonra bazı "bezlerin" yerini almaya karar verdiğinizde budur.

Şimdi, bağımsız olarak yapılandırılmış bir bilgisayarın, İnternet üzerinden el ile yapılan tüm sürücüleri nasıl bulacağını göstereceğim.

Makalede hangi sürücülerin söylendiği hakkında:

Böylece, kendiniz tüm bileşenleri seçtiniz, bir bilgisayar topladı, pencereler kurdu ve sürücülerin tüm cihazlar için yüklenmeyeceğini ve hatta herhangi biri için bile yüklenmeyeceğini görebilirsiniz. Tüm sürücülerin standart cihazlar yöneticisi yardımcı programından yüklenip yüklenmeyeceği hakkında. Nasıl yapılır, ayrı bir makalede konuştum.

Ve sürücüleri bu durumda kurmak için birkaç seçenek vardır.

Not!
Ağ kartları için otomatik olarak yükleme yapmadıysanız, bu bilgisayardan internetteki bu bilgisayardan çıkmanıza izin vermezse, dikkate alınan tüm eylemler, internet erişiminin olduğu diğer bilgisayarlardan üretilmesi gerekecektir. Tüm sürücüleri indirdikten sonra, bunları istediğiniz bilgisayara, örneğin bir flash sürücü veya disk üzerinden aktarmanız gerekir.

Seçenek Numarası 1. Manuel sürücü Devid.drp.su web sitesi aracılığıyla cihaz koduna göre arama

Bu seçeneği en iyi şekilde görüyorum. Yöntem, cihaz kodunun tanımıdır ve çeşitli sitelerdeki bu koddaki internetteki sürücüleri arayın.

Diyelim ki bu resim hakkında gördüğümüz cihaz yöneticisinde:

Şunlar. Sürücüler, birden fazla cihaz için bilgisayarda yüklü değildir. Bununla birlikte, Cihaz Yöneticisi'nden belirlemek için, hangi cihazların sorunsuz bir sürücünün olmadığı için, çünkü isimlerde her şey bulanıktır. Sadece kabaca anlayabilirsiniz. Örneğin, bir "Ethernet denetleyicisi", kablolu bir internete bağlamak için büyük olasılıkla bir ağ kartıdır. "Ağ Denetleyicisi" muhtemelen Wi-Fi adaptörüdür, yani. Wi-Fi üzerinden internet erişimi için ağ kartı.

Ancak, her cihazın kendi benzersiz sayısına sahiptir, cihaz yöneticisinin bir keresinde bize gösterebileceği gibi. Numarayı bulduktan sonra, cihazın sürücüsünü internet üzerinden bulabileceğiz.

Bir çift örneği, cihaz koduyla manuel olarak nasıl bulacağınızı düşünün:

Başlangıçta, Basit İletişim PCI Denetleyicisi için sürücüyü uygunsuz olarak bulacağım.

    Sürücüyü bulmak istediğimiz cihaz kodunu belirleyin.

    Cihaz kodunu belirlemek için, Aygıt Yöneticisi'nde sağ tıklayın ve görünen menüden "Özellikler" seçeneğini seçin:

    Açılan pencerede, "Ayrıntılar" sekmesini ve ardından "Özellikler" yazısının altında, Giriş'i seçin:

    Her şeyden önce, alt (4.) satırlarından kodla arama yapmaya çalışıyoruz. Kodla 4. satırın altına sağ tıklayın ve "Kopyala" seçeneğini seçin.

    Devid.drp.su'daki koddaki sürücüyü bulmaya çalışıyoruz..

    Kodu kopyaladıktan sonra siteyi açın:

    Devid.drp.su.

    Hadi sürücüyü bulmaya çalışalım. Bu site neredeyse tüm olası sürücüleri toplayan DriverPack çözüm programını ifade eder. Burada bir sürü olasılıkla herhangi bir cihaz için bir sürücü bulabilirsiniz.

    Siteyi açarak, yapmanız gereken ilk şey, önceki adımda kopyalanan en büyük uzun çizgiye yapıştırılır ve bu koddaki her şeyi "&" sembolünden ve sonuna kadar siler.

    Örneğin, kodu kopyaladınız:
    PCI \\ VEN_8086 & dev_0166 & CC_0300.

    Yani "&" Karakterleri kaldırdıktan sonra Kod kalmalısınız:
    PCI \\ VEN_8086 & dev_0166

    Bir sistemin ne olduğunu bilmiyorsanız, Windows Aramasını açın ve "Sistem Bilgisi" nü girin, ardından listeden görünen programı seçersiniz:

    Açılan programda, sol pencerede, "Sistem Bilgisi" seçeneğini seçin ve sağdaki "OS Adı" satırı, Windows'unuzun sürümünü görüntüler (örneğimde "Windows 10" altında ve "Türü) "Çizgi - Blossomy: X64 veya X86:

    Bu verilere dayanarak ve sistemin Tipini ve Bittyness'i Devid.drp.su'da belirtin.

    Cihaz kodu belirtildikten ve Windows sürümü seçildikten sonra, "Arama Sürücüleri" düğmesini tıklayın.

    Sonuç olarak, belirttiğiniz ekipmana uygun bir sürücü listesi ve Windows sürümünüz için sayfada görünecektir. "İndir" düğmesini kullanarak, sürücülerden birini bilgisayara yükleyin.

    Not!
    Birden fazla aynı sürücü görüntülenirse (yukarıdaki resimde olduğu gibi), sürücüyü sürücü sürücüsüne sahip olan sürücüyü sürücü sürüm sütununda indirin.

    "İndir" düğmesine tıklayarak, sürücü bilgisayarınıza önyüklenir ve yalnızca ayarlayacaktır. Sürücüleri yüklemek için, hiç zor bir şey yoktur ve bu anı ayrı bir makalede dokundum.

    Not!

    Örneğin, sürücüler listesinde farklı sürücülerin görüntüleneceğidir.

    Bu, ekipman kodunun birkaç cihaza benzer olabileceği anlamına gelir. Bu durumda, istenen sürücü yükleninceye kadar önerilen tüm seçenekleri indirip kurmayı deneyebilirsiniz.

Gördüğünüz gibi, sürücünün bulmak zor değildi. Şimdi daha açık hale gelmesi için başka bir örneği düşüneceğim :) Cihaz yöneticisinde "Ethernet denetleyicisi" olarak gösterildiği cihaz için bir sürücü bulacağım.

Sağ fare düğmesiyle cihaza tıklayın, Açık Özellikler:

Pencerede, "Ayrıntılar" sekmesini seçin, listeden "ekipmanın kimliğini" seçip 4. satırdaki kodu kopyalayın:

Web sitesini açıyorum, orada kopyalanan bir numarayı belirtirim, içindeki her şeyi kaldırıyorum, "&" sembolünden değişiyor. Sonra, Windows sürümünü seçiyorum ve bir arama yapıyorum:

Cihazım için, indirip yükleyebileceğim sürücünün sadece bir versiyonu görüntülendi.

Bu kadar!

Bununla birlikte, hala bazen, Sitede DeviD.Drp.SU sitesinde, sizin tarafınızdan belirtilen ekipman kodundaki sürücüler yoktur. Bu durumda, aşağıda düşündüğümüz bir alternatif var.

Alternatif Sürücü Cihaz Kodunu Ara

Tanınmış sitedeki sürücüler DeviD.Drp.SU'ya ihtiyacınız olan cihazın bulunmadığı için, böyle kolay bir şekilde uygulayabilirsiniz:

    Cihaz kodunu belirleyin. Benzer şekilde, ekipman kodunu (4.) satırını kopyalayın:

    Çeşitli sitelerde bir sürücü arıyoruz.

    Şimdi Google.com web sitesine gidiyoruz ve kopyalanan kodu doğrudan Arama Dizesine yerleştiriyoruz, ardından "&" sembolünü koddan kaldırdığınız ve her şeyden sonra aşağıdaki gibidir, örneğin:

    PCI \\ VEN_8086 & dev_1C3A & CC_0780 \u003d PCI \\ VEN_8086 & dev_1C3A

    Arama düğmesini tıklayın ve isteğimize uygun sitelerin bir listesini görüntüler:

    Şimdi Siteleri sırayla açmanız, ilk önce (üstten) başlayarak siteye sürücüleri indirebilirseniz izlemeniz gerekir.

    Hemen istediğiniz sürücüyü bulacağınız tüm sitelerde olmadığına dikkat etmeye değer, çünkü bazılarının Windows sürümünüz için bir sürücüye sahip olmayacağı ve bazı genel olarak sürücüler yerine herhangi bir labud bulunmayacaktır.

    Yukarıdaki görüntünün örneğinde, sürücülerin gerçekten en sık olduğu ve sorunsuz bir sorun olmadan bu siteleri daire içine aldım. Bu siteler:

    Aramaya daha derinden alırsanız, istediğiniz sürücüyü indirebileceğiniz diğer siteleri bulabilirsiniz. Ancak forumlardaki sürücüleri aramamalısınız, çünkü en uzun yoldur. İhtiyacınız olan sürücünün nerede verildiğini anlamak için üst üste tüm mesajları okumak zorunda kalacaksınız.

    Ve şimdi farklı sitelerden sürücü indirme birçok örneğini düşünün.

    Driver.ru'dan sürücü indirme örneği:

    Siteye arama sonuçlarından aldığınızda, çoğu, çoğu cihazınızla uyumlu olan sayfada daha önce görüntülenecektir.

    Burada, siteyi gösteren ve istenen sürücü yükleninceye kadar yüklemeyi deneyin. Uyumsuz tüm sürücüler yüklü değil ya da sadece işe yaramazlar, bu yüzden bir şey kurmaktan korkmaması mümkün değil.

    Sürücünün tasarlandığı Windows sürümüne dikkat etmeyi unutmayın.

    Aklında tut!
    Windows 8, Windows 8.1 ve Windows 10 için sürücüler çok sık uyumludur ve örneğin, özellikle Windows 8.1 için sürücüleri bulamadıysanız, Windows 8 için sürücüleri yüklemeyi deneyin. Ya da Windows 10 için sürücüleri bulamadıysanız , Windows 8.1 veya Windows 8'den ayarlamayı deneyin. Ayrıca, Windows 7 sürücülerinin Windows 8, 8.1 ve Windows 10 ile uyumlu olacağı da olur. Sürücüleri farklı sistemlerden yüklemeyi deneyebilirsiniz.

    Bu sitedeki indirme işleminin bir örneğini düşünün. İstediğiniz sürücüyü bulduktan sonra, alttaki indirme düğmesine tıklayın:

    Bir sonraki pencerede, bir robot olmadığını onaylamanız gerekir, belirtilen yere bir kene koyun (aşağıdaki resme bakın). Ardından aşağıdaki "İndir" düğmesini tıklayın:

    Son olarak, bir sonraki sayfada, indirme bağlantısının en üstünde dosya adı olarak uzantılı olarak göreceğiz:

    Üzerine tıklayın ve dosyayı indirin.

    Üyeler.driverguide.com'dan sürücüleri indirme örneği:

    Siteye arama motorundan tıklayarak, sayfa muhtemelen uyumlu sürücülerin listesini cihazınızla birlikte gösterir:

    İndirme düğmesine tıklayarak, çok sayıda reklamın gözlere girdiği yeni bir sayfa açılır.

    Dikkat!
    Sitede birçok reklam varsa, dikkatli olun, dikkatli olun, aksi takdirde, bilgisayara virüsleri ve diğer uçuşları alabilirsiniz!

    Bir sonraki pencerede, pencere merkezde görünecektir, gerçek bir kişi olduğunuzu onaylamak için bir program değil :) Pencerenin içeriğini beklemeniz ve "Göster" düğmesini tıklamanız gerekir:

    Yeni bir pencere açılacak, tekrar içerik indirmelerini birkaç saniye bekliyoruz. Kod yazısının yanında görünür: "Enter". Bu kodun tam olarak aşağıdaki dizgede olduğu gibi yeniden yazması gerekir ("Cevabınız") ve "Sayfaya Dön" i tıklayın:

    "Devam" düğmesinin şimdi görüneceği ilk sayfaya döneceksiniz. Tıklamak, sürücüyü bilgisayara yüklemeye başlayacaktır:

Bu, cihaz kodundaki sürücüleri manuel olarak bulmaya çalışmanın bu kadar alternatif bir yoludur. Tabii ki, bu seçenek için, sürücüye sadece 2 siteden indirmeye ve büyük miktarlarını gösterdim. Ancak tüm siteleri indirme ilkesi aynıdır. Sadece en fazla arayüz için ve bazen indirme sırası için farklılık gösterir.

Ancak daha fazla sürücüleri ve 1 numaralı sürümde önerilen ana yöntemle kolayca bulabileceğiniz daha eğilimliyim.

Seçenek Numarası 2. Cihazların resmi sitelerinde sürücüleri arayın

1. seçeneğinde cihazlarınız için sürücüleri bulamazsanız, henüz bu şekilde yapılabilir.

Bilgisayardaki her cihazın üreticisini ve modellerini kendileri veya özel programlar (örneğin, Aida64 veya Sysinfo dedektörü) belgeleri ile izlemeniz gerekecektir. Cihaz modelinde internette üretici veya (Resmi web sitesinde sürücü yoksa).

Böyle bir örnek al. Aygıt Yöneticisi'nde, video kartındaki sürücünün sistemde ve bazı anlaşılmaz bir cihaz için yüklü olmadığını görebiliyorum:

Video kartında nasıl belirlenir? Çünkü "Video Adaptörü" bölümündeki cihazlar listesinde, "Standart VGA Grafik Adaptörü" bölümü var, bu, video kartında sürücü olmadığı anlamına gelir, aksi takdirde cihaz ekran kartınızın adına sahip olacaktır. NVIDIA GEFORCE GTX980 olarak.

Eylemlerinizin sırasını düşünelim:

    Cihazın üreticisini ve modelini öğreniyoruz.

    Not!
    Aygıt Yöneticisi'nde "bilinmeyen bir cihazınız" varsa, muhtemelen bazı anakart aygıtı veya anakart için özel bir program için bir sürücü yüklemediniz. Bu nedenle, önce anakartınızın ve programınız için tüm sürücüleri yüklemelisiniz.

    Bireysel bileşenlerden bir bilgisayar topladıysanız, elde ettiğimiz her bir cihaz için belgelerinize sahip olmanız, ihtiyaç duyduğumuzun bir üretici ve model olduğunu belirtti. Belge yoksa, bilgisayarınızın demirini belirleyen programlardan biri modelin bulunmasına yardımcı olacaktır. Aida64 veya Sysinfo dedektörünü tavsiye ederim. İlk ödeme yapılır, ancak 30 gün boyunca ücretsiz olarak kullanabilirsiniz. Ve ikincisi tamamen ücretsiz bir düzenleme var. Seçeceğinizi düşünüyorsanız, geçici olarak seçin - Aida64, bu programın kalitesi hala daha yüksek olacaktır.

    Programın nasıl kurulacağı ve kullanımı AIDA64 makalesinde söylenir:

    Sysinfo dedektörünün nasıl kurulacağı ve kullanılması makalede söylenir:

    Aida64 programı üzerinden cihazları tanımlarsanız Sürücüler olmadan hangi cihazın "Aygıtlar\u003e Windows Aygıtlarının" sol bölümünü seçerek ve ardından "Bilinmeyen" kategorisini açmak için sağda seçerek seçebilirsiniz. Altta, seçilen cihaz hakkında bilgi görünecektir:

    Bu nedenle, örneğimde, bilinmeyen bir cihaza "ASUS ATK-110 ACPI Yardımcı Programı" olarak adlandırılır.

    Yukarıda, bilinmeyen cihazın muhtemelen anakart üzerinde bir şey olduğundan bahsettim, bu yüzden anakartın cihazdaki nasıl hemen nasıl olduğunu tanımlayacağım. Bunu yapmak için "Sistem Kurulu" bölümünü açın ve aynı alt bölümüne gidin. Pencerede sağda anakartın üreticisini ve modelini göreceğiz: ASUS P5KPL-AM EPU.

    Şimdi video kartıyla ilgileneceğiz. Video kartı genellikle AIDA64'te "Ekran" bölümünde\u003e "PCI / AGP Video" aracılığıyla doğru şekilde tanımlanır. Gördüğünüz gibi, program video kartını belirledi: "Nvidia GeForce GT 430":

    Sysinfo dedektörü ile cihazları izliyorsanızBelirsiz sürücüleri olan cihazları 2 yolla görebilirsiniz. İlk - "sapmalar" bölümünde:

    Gördüğünüz gibi, Aida64: ACPI / ATK0110 programı ile aynı cihaz tespit edilir.

    Ve ikinci yol - "PCI-Cihazlar" bölümünde, "Bilinmeyen Aygıtlar" alt bölümünü seçin. Burada program hemen 3 "sorunlu" cihaz ve bunlardan biri, sadece anakart: ASUS P5KPL-AM EPU'yu gördü.

    Üretici ve video kartı modeli, "PCI-Weft" bölümünde görüntülemek için daha iyidir. Ekran kontrol cihazı alt bölümünü bulun:

    Örneğin, NVIDIA kartının üreticisinin ve modelinin GeForce GT 430 olduğu açıktır.

    Öyleyse, gerekli veri bulundu ve şimdi bir sürücüyü arayacağız.

    Cihaz üreticilerinde bir sürücü arıyoruz.

    Anakart üzerindeki bazı cihazlar için büyük olasılıkla yeterli sürücü olmadığı ve özellikle anakart için bir tür program olabileceği bulundu. Kurulun Üreticisi - Asus ve örneğimdeki model P5KPL-AM EPU. Üretici Asus'a bir kez, Site ASUS resmi web sitesinde arayacağız.

    Cihazın resmi web sitesini nasıl aranır ve sürücüleri ondan detaylı olarak indirin. Kısaca, Üreticinin adını yazıp ilk siteyi arama sonuçlarında açmak için Google arama sistemini açmanız gerekir. Sonra, "Servis" veya "Destek" bölümüne gidin ve örneğin cihaz modelini belirtin:

    Sürücülere ek olarak, "Yardımcı Programlar" bölümüne dikkat edin (yukarıdaki resimdeki listede görülebilir), çünkü bazen "tanımlanamayan cihaz", anakart için yüklü olmayan özel bir programdır. Anakart için setin tamamını kurmak daha iyidir, bir sorun olup olmadığını kontrol etmek için sitede sunulur.

    Bu örnekte, anakart sürücülerinin aranması gösterilmiştir. Tüm sürücüleri ve yardımcı programları yüklerseniz, cihaz yöneticisinden "bilinmeyen bir aygıt" uçurulmalıdır.

    Şimdi video kartı için sürücüyü bulun. Aida64 ve Sysinfo dedektör programlarından alınan veriler, ekran kartı üreticisi - NVIDIA ve GeForce GT 430 modeli. NVIDIA üreticisi, bu şirketin tam olarak Google'dan resmi web sitesini aradığı anlamına gelir:

    "Sürücüler" ve içinde "sürücüleri indir" bölümünü hemen görüyoruz. Açık:

    Bir pencere, video kartındaki verileri belirtmek istediğiniz yere açılır. Örneğimde Ürün Türü "GeForce", GeForce GT 430 modeli ise, ürün serisi "GeForce 400 serisi" için uygundur. Gezinmek zor değil. Sonraki, "Ürün ailesi" listesinde, özellikle modelini seçiyoruz - "GeForce GT 430". Ve bilgisayarınızda ve sürücü dilinizde yüklü olan Windows sürümünü seçmek için kalır. Ardından "Ara" yı tıklayın:

    İstediğiniz sürücüyü indirmek için bir sayfa açılacaktır. "Şimdi Şimdi İndir" düğmesini tıklayın:

    Bir sonraki sayfada, sözleşmenin şartlarını kabul ediyoruz ve "Kabul Et ve İndir" düğmesini tıklayın:

Aynı şekilde, üreticisini ve modelini bilerek, herhangi bir cihaz için, şifreyi, ilke olarak indirebilirsiniz. Sadece üreticinin resmi web sitesini bulmak ve orada modeli belirtmek gerekecektir.

Son çare olarak, örneğin, resmi web sitesinde sürücüleri bulamazsanız, bunları diğer sitelerde arayabilir, Google'ın yaklaşık bir talep arayışını belirleyebilir: "ASUS P5KPL-AM EPU için Sürücü". ASUS P5KPL-AM EPU yerine, siz, buna göre, üreticiyi ve sürücüler aradığınız cihazınızın modelini belirtmeniz gerekir.

Sonuç olarak, Windows 8 ve diğerlerini kullanırsanız, büyük olasılıkla sürücülerle ilgili sorun yaşamayacağınızı unutmayın. Bu sistemler çoğu durumda, Windows'u yükledikten hemen sonra tüm sürücüleri otomatik olarak oluşturur. Windows 8.1 ve Windows 10'ı birkaç dizüstü bilgisayarda yeniden yüklemeye çalıştım ve tüm sürücüler her biri için otomatik olarak yüklendi, bunun sonucunda kendilerine bakma ihtiyacı olarak ayarlandı.

Tamamlanacak makaleyi düşünüyorum. Artık istediğiniz sürücüyü cihaz kodunda veya üreticisi ve modelinden bulabilirsiniz. Böyle bir sürücü arama seçeneklerinin, bilgisayarınız için seçtiğinizden veya bitmiş satın alınan bilgisayarda bazı ayrıntıları değiştirirseniz, bu sürücü arama seçeneklerinin gerekebileceğini hatırlatayım.

Özel programları kullanarak bir bilgisayara sürücüleri otomatik olarak yüklemek de mümkündür. Böyle bir fırsat hakkında ayrı bir makalede:

Sana iyi şanslar! Diğer makalelerde görüşürüz :)

Bugün bakacağız:

Kişisel bir bilgisayar için gerekli olan çeşitli nedenler vardır. Her zaman otomatik sürücü seçimi ile programlar kullanılarak yapılmaz.

Ek olarak, PC'niz için ne tür bir ses sürücüsü gereklidir, bilgisayardaki ses cihazlarının bozulmasının nedenlerini bilmeniz gerekir.

Ses kartı tanımlanmadı

İşletim sisteminin kişisel bilgisayarın ses kartı için sürücüyü seçemediklerinde durumları düşünün. Sistemi yeniden yükleme işleminde ve daha fazla yeniden başlatılması sürecinde, bu ses sinyallerinin yokluğuyla belirlenir.

Böyle bir durum yaratmanın nedeni, nadiren bulunur, kişisel bir bilgisayarda yerleşik ses ekipmanı olabilir; Çıkış tarihi, yüklü işletim sisteminden daha eskidir.
Bu durumda, ses sürücüsünü manuel modda yüklemeniz gerekir. PC için gerekli ses sürücüsünü belirlemenin birkaç yolu vardır.

Microsoft, bir ses sürücüsünü tanımlamada yardımcı olur

Bilgisayarın işletim sistemi, istenen ses sürücüsünün belirlenmesinde yardımını sunar. İmleci "Bilgisayarım" klasörüne göndermelisiniz, sağ fare düğmesine (PCM), ardından "Özellikler", ardından "Equipment" düğmesine basın. Bunu kolaylaştırabilirsiniz: "Bilgisayarım" klasörü PCM tarafından bastırılır, Aygıt Yöneticisi bölümüne gidin.

Aygıt Yöneticisi'ndeki bir liste açılır, ses kartını seçin (sürücü yok, yanında bir ünlem işareti). String'i vurguluyoruz, üstte "Güncelleme Sürücüsü" seçeneği var, ardından "Arama Sürücüsü" öğesi, her şey olumlu bir sonuçla gerçekleştiğinde, yükleme penceresi önerilecektir.

Manuel ses sürücüsü arama

Ses sürücüsünün otomatik seçimi işe yaramadığında, herhangi bir arama motoruna (Google, Yandex) döndüğümüz için manuel olarak bulmaya çalışmanız gerekir. Ardından arama çubuğunda, ses cihazınızın adını PC'de girip "+ sürücü" ekleriz, açılan pencerede, bizim için istediğiniz seçin.

Kişisel bir bilgisayar için sürücü nedir? Aygıt Yöneticisi sekmesinde görmek kolaydır. Sürücüyü, kurulu anakartın üreticisinin resmi web sitesinde indirmeniz önerilir (ses kartı içine yerleştirildiğinde). Ayrıca, bu ekipmanı PC için güncelleme konusunda uzmanlaşmış siteden indirmek önerilmiştir.

İndirilen sürücü yapıldıktan sonra, "Aygıt Yöneticisi" sekmesine geri dönün, "Sürücü Araması PC'yi" açın, kaydedildiği yeri belirtin, "SET".

Ses Sürücüsü Programını Yükleme

Bilgisayarın bir ses sürücüsünü manuel olarak ve işletim sistemiyle bulması zor olduğunda, özel bir program araması önerilir. Şu anda, bu amaçlar için çeşitli programlar vardır: sürücü denetleyicisi, SAM sürücüleri, cihaz doktoru, diğer programlar.

Bu türün program arayüzüyle çalışmak, sezgisel bir seviyede anlaşılabilir.

Bilgisayarınız için ses sürücüsünü tanımlamanız gereken farklı durumlar vardır, uzmanlar tavsiye:

  • PC'deki kurulu ses cihazının modelini belirleyin (bilgisayarda okunur). Belki kurulu olmayan ekipman nedeniyle ses yok, BIOS'taki kullanımını yasaklayan.
  • Ses, PC'nin entegre olduğunda, ses sürücüsünü yalnızca "anakart" üreticisinin üreticisinden veya yonga işaretini yazmak için ayrı bir ses kartı kurulumu durumunda indirmeniz önerilir. Arama motoru arama sistemi aracılığıyla istediğiniz sürücüyü bulun.
  • Aida 64 programını kullanmanız önerilir, sadece gerekli ses sürücüsünü değil, aynı zamanda kurulu olan tüm ekipmanları da göstermez, çipin işaretini belirleyebilirsiniz.

İstediğiniz sürücülerin, bilgisayarınıza bağlı herhangi bir cihazı, fazla çaba harcamadan nasıl çalışacağını öğrenin.

Bahçede zaten XXI yüzyılın ve bilgisayarların neredeyse hepsi olmasına rağmen, çoğu tanınmayan teknolojinin tanınmayan mucizeleri olarak görüyor. Dahası, en iyi bilgisayara sahip olduklarına inanan kutsaldır (satıcının şunları söyledi :)), bu tür kullanıcılar üzerine herhangi bir program kurmaz ve kontrol etmeyin ve bilgisayarın iyi çalıştığı doğrudur ...

Ne hakkında konuşuyorum Son zamanlarda bazı yollardakilerle yüzleşmek zorunda kaldığımız gerçeğine, bir bilgisayarı satın aldıktan sonra neredeyse bir buçuk yılın yarısı, normal bir video kartı sürücüsü durmadı !!! Şikayet her zamankidi - "" :) ve neden sürücü yoksa yavaşlamıyorsun? !!

Genel olarak, bugün içindeki tüm gerekli sürücüleri için bilgisayarınızı kontrol edeceğiz ...

Sürücü nedir ve nasıl kurulur?

Sürücü, BT'ye bağlı ekipman ve uzatma kartları ile normal bir bilgisayar etkileşimi sağlayan bir dizi yazılım bileşenidir. Başka bir deyişle, bu, çevreden işlemciye ve geriye doğru komutları iletebilecek özel bir hizmet programıdır.

Sürücü olmadan, bağlı ekipman ya hiç çalışmayacak (yazıcılar, tarayıcılar ve diğer ofis ekipmanları) ya da en uygun modda (video kartları, yonga setleri vb.) Değil. Bu nedenle normal PC çalışması için sistemi yeniden yüklemek için yeterli değil, tüm bileşenleri için sürücüleri bulmak da önemlidir!

Teslim üç versiyonda sağlanabilir:

  1. kurulum dosyası EXE (veya MSI);
  2. kitle seçimi ve kurulum olasılığı ile grafik kabuk;
  3. bilgi ile tamamlanan kütüphaneler ve servis dosyaları kümesi.

İlk sürücü teslimatı seçeneği en sık internette ve satın alınan ekipmana dahil olan kurulum disklerinde bulunur. Diski üzerinde indirmek (veya açmak) ve bir exe dosyasını çalıştırması yeterlidir ve yükleme sihirbazı, adım adım modunda her şeyi yapılandırmak için önce görünecektir. Bu durumda, sürücü kurulumu herhangi bir program kurmaktan daha zor değildir.

İkinci teslimat seçeneği, birkaç farklı sürücü içeren çeşitli düzeneklere sahip disklerde tespit edilebilir (örneğin, anakartın sürücüleri veya sözde PAK sürücüsü). Bu tür birleşimler genellikle bireyi (ya da bir kerede bir kerede) sürücüleri seçmenize ve normal yükleyicilerden daha zor olmayan, ancak büyük bir boyuta sahip olmanızı sağlar.

Sürücüyü en çok açık olmayan bir şekilde yüklemek. Bu tür sürücüler genellikle eski teknoloji için rastlanır ve bir grafik yükleyici içermez, ancak Kütüphane paketini bağlı ekipmanın çalışmasına ilişkin tüm yolların öngördüğü tüm yolların tüm yolları:

Sürücüyü bu şekilde yüklemek için "Bilgisayar Yöneticisi" ("Bilgisayar Yöneticisi" ("Bilgisayar" Simgesi - PCM - "Özellikler" (Eski Sistemler "Ekipmanları" sekmesinde)), bilinmeyen cihazın içerik menüsünü çağırın ve "Güncelleme Sürücülerini Güncelleme) seçeneğini çağırın. ".

Bu yoldan geçmemiz gereken bir pencere açılacak (uygun düğmelere tıklamak için): "Bu bilgisayardaki sürücü aramasını çalıştırın" - "Sürücüyü önceden yüklenmiş" - "Diskten yükleme listesinden seçin", ve ardından "Genel Bakış" düğmesini tıklayın ve ihtiyacınız olan I Inf dosyasının konumunu belirtin:

INF dosyasının seçimini onayladıktan sonra, başarılı bir kurulumda bir mesaj görünecek veya seçtiğiniz dosyanın uymadığını ve başka birini seçmeniz gerekir (varsa). INF dosyalarının hiçbiri size istenen sürücüyü kurmanıza izin vermezse, alternatif bir yazılımı aramanız veya cihazın bilgisayarınızla uyumluluğunu elde etmek için ekipmanı veya sistemini değiştirmek zorunda kalacağınız anlamına gelir.

Şimdilik, şoförün ne olduğunu, neden gerekli olduğunu ve nasıl oluşturulacağını bildiğiniz zaman, sürücülerin nasıl aranacağını anlamanın zamanı geldi.

Cihaz adına göre ara

Herhangi bir cihaz (eğer isimsiz Çince el sanatları değilse) ismine sahiptir. Sisteminizin bu ismini ve sürümünü bilmek, çoğu durumda, arama motoruna girmek için doğru Arama Sorgusunu formüle edebilirsiniz. Örneğin: "Canon IP1500 Windows 7 64-bit" veya "Radeon HD 8700M Windows 8 Sürücüsü" için yazıcı sürücüsü.

Arama sonuçları, ihtiyacınız olan sürücüyü indirebileceğiniz siteleri içerecektir. Ancak, tüm sitelerde ücretsiz indirebilirsiniz! Finansman veya düşük kaliteli yazılım yüklenmesi nedeniyle gereksiz deneyimleri önlemek için, kanıtlanmış bir Rus konuşan portal kullanmanızı öneririm:

Bu site, internetin etrafındaki en eksiksiz sürücü koleksiyonlarından birini 300 TB'den fazla bir hacimle içeriyor! Burada, hem cihaz türüne göre ("ekipman kategorilerinin" ana listesi) ve üreticinin adı (sayfanın üstündeki alfabetik gösterisi) tarafından arayabilirsiniz.

İstediğiniz bileşen içeren sayfa birkaç indirme seçeneğine sahip olacaktır. "Program Tipi" alanlarına dikkat edin ("Sürücü", sadece bir servis yardımcı programını veya eklentisini indirebilirsiniz), "Açıklama" (ayrıca belirli bir dosyaya ihtiyacınız olan), de söylenir. "sistem" olarak. Sürücüyü, açıklamadan sonra referansla indirebilir, robot olmadığını onaylayabilirsiniz :)

Özel havuzlarda sürücüleri aramanın yanı sıra, bazen geliştiriciler sitelerini aramak mantıklı! Örneğin, popüler video kartları altındaki sürücü oldukça sıklıkla güncellenir ve genellikle yalnızca resmi web sitesinde en son sürümü indirebilirsiniz. Bu nedenle, en yaygın saçmalıklardan sürücülerin indirme sayfalarına küçük bir link listesi vereceğim.

Video kartları:

Ses Kartları:

Ofis malzemesi:

Kanıtlanmış kaynaklardan sürücüleri sallayın, uymaz ya da virüs içermeyecekleri için endişelenemezsiniz. Ayrıca, resmi sitelerden indirilmenin avantajı, üçüncü taraf kaynaklardan indirildiğinde, alas, garanti edilemeyen en alakalı ve taze sürücüleri indirmenizin garantisidir.

Cihaz kimliğine göre ara

Adınıza göre sürücüyü arayın Cihazınız oldukça basit bir görevdir. Ancak, cihazın kendisi bilinmeyen bir üreticiden ise, herhangi bir şekilde bilemiyoruz! Böyle bir durumla karşılaşırsanız, alternatif arama yöntemi ekipman tanımlayıcısında size yardımcı olacaktır.

Her cihaz, en azından sistem biriminin içinde, en azından bağlı bir dış kablo, sistemdeki kendi tanımlayıcısına veya kimliğine sahiptir. Zaten bilinen bir cihazda zaten tanıdık "Aygıt Yöneticisi" nde, "Ayrıntılar" sekmesini tıklatarak ve "ID Ekipmanları" veya "ID" alanını "ID Ekipmanları" veya "ID" alanını seçerek istenen bileşenin "özelliklerini" arayarak öğrenebiliriz. -Down List:

Windows Vista ile başlayarak, tanımlayıcı dizesinin değerini içerik menüsünü kullanarak panoya kopyalayabilirsiniz. Kopyalama işlevinin daha erken sürümlerinde, bu nedenle kimliğin manuel olarak yeniden yazması gerekir.

Şimdi, ihtiyacımız olan cihazın tanımlayıcısını bilerek, uzman hizmetleri kullanarak sürücüyü bulabiliriz. Burada, yine de belirtilenlerin yukarıda belirtilen sürücüye yardım edebiliriz.

Bunu yapmak için, sağ üst köşedeki "Ara" düğmesini tıklayın ve liste sayfasındaki alanda, kopyalanan bir cihaz tanımlayıcısı ekleyin, ardından "Arama Kimliği" öğesini bildirmeniz ve giriş alanının altındaki Arama düğmesini tıklatmanız gerekir. Sonuçların sonuçları arasında, sisteminiz için uygun sürücüyü kolayca bulabilir ve indirebilirsiniz.

Benzer şekilde, sürücüleri aramak için birkaç büyük portal. Bunların en iyisi Devid.info ve devid.drp.su. Bu arada, her iki hizmeti, ihtiyaç duyduğunuz sürücüleri otomatik olarak belirlemenize ve yüklemenize izin veren kendi müşterilerine sahiptir. Böyle özel bir yazılım hakkında ve daha fazla konuşun.

Sürücü arama programları

Yukarıda, sürücüleri manuel olarak ararken vakaları kabul ettik. Ancak, bunun için, otomatik modda her şeyi bulmanıza ve indirmenize izin veren özel programlar da vardır. Hepsi iki türe ayrılabilir.

İlk türün programları genellikle (Destiny Megabyte'den önce) Bilgisayarı eski veya tanımlanamayan sürücüler için taramanıza olanak tanıyan istemci modülleridir ve ardından bunları İnternet'ten indirmenize ve birkaç tıklamayla yükleyin. Bu tür programların parlak bir temsilcisine sahibiz:

Ancak, bu tür çözümlerin çoğu bir büyük eksi vardır: ücretsiz olarak sadece birkaç sürücü indirebilirsiniz. Sınırı aşmak için, ya sadece indirmeyi yasakladınız ya da indirme hızını en aza indirirsiniz, böylece sonuncusunda bir premium hesap satın almışsınızdır.

Bu nedenle, bu türün programı yalnızca tek sürücü güncellemeleri için kullanılabilir, ancak Taze kurulu pencerelere kurulumlarının paketleri için değil. Her şeyi hemen istiyorsan, seçimin bir pak şoförü!

PAK Sürücüsü (İngilizce "Sürücü Paketi" - "Sürücüler Seti"), çoğu zaman seçilen sürücüler ve kabuk programlarıyla bir dizi çevrimdışı tabandır. Program PC'nizi tarar, ardından sürücüler satırını yüklemek veya güncellemek için teklif verir. İstenilenleri işaretlemeniz ve seçiminizi onaylamanız gerekir. Otomatik modda kurulum meydana gelir!

Runet'in genişlemelerinde en eksiksiz ve popüler Pakki şoförü:

Bugüne kadar, bu sürücü paketinin maksimum teslimat paketinin boyutu 10 gigabayttan fazladır. Bu, bu kadar 30 terabit bir sürücü üssü olarak ilham vermez. Ancak, yine de, böyle bir sayıda sürücü yeterlidir, böylece sistemi yeniden yükledikten sonra, anakartla birlikte gelen kurulum disklerini aramayın, video kartı ve bilgisayarınızın veya dizüstü bilgisayarınızın diğer bileşenleri.

10 gigabayt indirirseniz. İndirmek istemiyorsanız, yani DriverPack'in Lite sürümünü indirme yeteneği. İhtiyacınız olan sürücüleri tanımlayan yalnızca bir tarayıcı programıdır, çevrimiçi veritabanına bağlanır ve yalnızca ihtiyacınız olanı indirmenize izin verir.

sonuç

Bugün, bir bilgisayar için sürücüleri bulun ve bir dizüstü bilgisayar zor değildir. Bununla birlikte, herhangi bir program gibi, zaman zaman onların çoğu unutma güncellemeleri gerekir. Ve bu arada, güncellemeler yardımcı olabilir!

Böylece, örneğin, ilkbahardan zaman zaman "" bazı DLL kütüphanesiyle ilgili şikayetler ile "" görünmeye başladı. Bir süredir böyle bir pozisyonla birlikte kaybediyorum, ama sonra yorgundum ve soruna çözüm aramaya karar verdim. Her şeyin video kartı sürücüsünün çalışmalarında işaretlendiği ortaya çıktı. Sürücüyü güncelledikten sonra, her şey yerleşmiş ve birkaç ay boyunca "uçuş" normaldir :)

Yukarıdakilerin ahlaki aşağıdaki gibidir: Aniden "Glitches" başlatırsanız, bilgisayarın çalışmalarında veya bir bilgisayar / yeniden yükleme pencereleri satın alma anından itibaren gözlemlenirse, kritik bileşenler için sürücü güncellemesi olup olmadığını kontrol edin. senin bilgisayarın. Mevcutsa, bunları kurmaya çalışın ve belki de, sisteminiz yapılması gerektiği gibi tekrar çalışacaktır!

P.S. Kaynağa açık bir aktif referans belirtirseniz ve Ruslana tüccarının yazarlığını koruyan bu makaleyi serbestçe kopyalayıp alıntı yapmasına izin verilir.

Muhtemelen en az bir kez bir kez işletim sistemini yeniden yükleyen herkes, popüler bir soru ortaya çıktı: İstikrarlı operasyonu için bir bilgisayara hangi sürücülerin yüklenmesi gerektiğini nasıl öğrenebilirim? Bu soru için bu makaleye cevap vermeye çalışacağımız için. Daha fazla ilgilenelim.

Teoride, bir bilgisayarda veya dizüstü bilgisayarda, bunu gerektiren tüm cihazlar için bir yazılım yüklemeniz gerekir. Zamanla, işletim sistemlerinin geliştiricileri, Microsoft Sürücü veritabanını sürekli genişletiyor. Ve Windows XP sırasında el ile hemen hemen tüm sürücüleri takılmalıdır, daha sonra daha yeni işletim sistemi durumunda, birçok sürücü otomatik olarak yüklenir. Bununla birlikte, cihazlar kalır, elle kurulmanız gereken yazılım. Dikkatinize bu sorunu çözmenize yardımcı olacak bir miktar yol getiriyoruz.

Yöntem 1: Resmi Üretici Siteleri

Gerekli tüm sürücüleri yüklemek için, bilgisayarınızdaki tüm panolar için bir yazılım koymanız gerekir. Anakart, ekran kartı ve harici panolar (ağ adaptörleri, ses kartları vb.) Anlamı. Aynı zamanda B. "Aygıt Yöneticisi" Ekipman için sürücülerin gerekli olduğu belirtilmeyebilir. İşletim sistemini kurarken, cihaz için standart yazılım basitçe kullanılır. Bununla birlikte, bu tür cihazların yazılımı orijinali kurulmalıdır. Kurulu tüm yazılımın çoğu anakart'a ve içine entegre cipslere düşer. Bu nedenle, ilk başta anakart için tüm sürücüleri ve ardından video kartı için arayacağız.

  1. Anakartın üreticisini ve modelini öğreniyoruz. Bunu yapmak için tuşlara basın "Win + r" Klavyede ve açılan pencerede, komutu girin "Cmd" Komut satırını açmak için.
  2. Komut isteminde, alternatif olarak komutları girmeniz gerekir:
    WMIC Superboard Üreticiyi Alın
    Wmic Superboard Ürün Alın
    Reçete'yi unutma "GİRİŞ" Her komutu girdikten sonra. Sonuç olarak, üreticinin ekranında ve anakartınızın modelini göreceksiniz.
  3. Şimdi üreticinin internette web sitesini arıyoruz ve ona gidiyoruz. Bizim durumumuzda.
  4. Sitede, bir arama kutusu veya bir büyüteç formunda ilgili düğmeyi arayın. Kural olarak, bu düğmeye tıklayarak arama alanını göreceksiniz. Böyle bir alanda anakartın modeline girmek ve tıklamak gerekir. "GİRİŞ".
  5. Bir sonraki sayfada arama sonucunu göreceksiniz. Anakartınızı listeden seçmelisiniz. Genellikle, Yönetim Kurulu Modelinin adı altında birkaç alt bölüm vardır. Bir bölüm varsa "Sürücüler" veya "İndirilenler", Böyle bir bölümün adına basın ve gidin.
  6. Bazı durumlarda, aşağıdaki sayfa yazılım ile alt bölümlere ayrılabilir. Eğer öyleyse, arıyoruz ve bir alt bölüm seçiyoruz "Sürücüler".
  7. Bir sonraki adım, işletim sisteminin seçimi ve açılır listeden boşalma. Bazı durumlarda, farklı işletim sistemlerini seçerken sürücülerin ayırt edilebileceğini lütfen unutmayın. Bu nedenle, sizinle birlikte, aynı zamanda aşağıda yüklü olan yanlış sisteme bakın.
  8. OS'yi seçtikten sonra, anakartınızın bilgisayarın diğer bileşenleriyle etkileşime girmesi gereken bir yazılımın bir listesini göreceksiniz. Hepsini indirmeniz ve yüklemeniz gerekir. Düğmeye tıklandıktan sonra indirme otomatik olarak oluşur. "İndirme" veya ilgili simge. Arşivi sürücülerle indirdiyseniz, kurulumdan önce, tüm içeriğini ayrı bir klasöre çıkardığınızdan emin olun. Bundan sonra, yazılımı yükleyin.
  9. Tüm yazılımı anakartınız için yükledikten sonra, video kartına gidin.
  10. Tuş kombinasyonuna tekrar basın "Win + r" ve görünen pencerede komutu girin "DXDIAG". Zhmem'e devam etmek "GİRİŞ" veya düğme "TAMAM MI" Aynı pencerede.
  11. Açılan pencerede, teşhis araçları sekmeye gidiyor "Ekran". Burada üreticiyi ve grafik adaptörünüzün modelini bulabilirsiniz.
  12. Bir dizüstü bilgisayarınız varsa, o zaman sekmeye de gitmelisiniz. "Dönüştürücü". Burada ikinci ayrık video kartı hakkında bilgi görebilirsiniz.
  13. Üreticiyi ve ekran kartınızın modelini öğrendikten sonra, şirketin resmi web sitesine gitmeniz gerekir. İşte en büyük grafik adaptör üreticilerinin indirilmelerinin bir listesi.
  14. Video kartınızın modelini ve işletim sisteminizi bu sayfalardaki boşalma ile belirtmeniz gerekir. Bundan sonra yazılımı indirebilir ve yükleyebilirsiniz. Lütfen, resmi sitedeki bir grafik adaptörü için yazılımın yüklenmesi tercih edildiğini unutmayın. Yalnızca bu durumda özel bileşenler kurulacak, bu da video kartının performansını artıracak ve ayrıntılı ayar yapmasına izin verecektir.
  15. Bir grafik adaptörü ve anakart için yazılımı ayarladığınızda, sonucu kontrol etmeniz gerekir. Bunu yapmak için açık "Aygıt Yöneticisi". Düğmelerin kombinasyonuna basın "Kazanmak" ve "R" Klavyede ve açılan pencerede, devmgmt.msc komutunu yazın. Bundan sonra tıklayın "GİRİŞ".
  16. Sonuç olarak, pencereyi göreceksiniz. "Aygıt Yöneticisi". Başlığın yanında, soru veya ünlem işareti olan tanımlanamayan cihazlara ve ekipmanlara sahip olmamalıdır. Eğer tüm bunlarsa, gerekli tüm sürücüleri kurdunuz. Ve eğer bu bileşenler mevcutsa, aşağıdaki yöntemlerden birini kullanmanızı öneririz.

Yöntem 2: Otomatik güncelleme için yardımcı programlar

Tüm yazılımı manuel olarak aramak ve yüklemek için çok tembelseniz, bu görevi kolaylaştırmak için tasarlanmış programlara bakmalısınız. Otomatik arama ve yazılım güncellemeleri için en popüler programlara genel bakış, ayrı bir makalede yapıldık.

Açıklanan yardımcı programlardan herhangi birini kullanabilirsiniz. Ancak driverpack çözümü veya sürücü dehası kullanmanızı öneririz. Bunlar, sürücülerin ve desteklenen ekipmanların en büyük veritabanına sahip programlardır. Size driverpack çözümü nasıl kullanılacağını zaten söyledik.

Öyleyse, sürücü Genius programını kullanarak tüm sürücüleri nasıl bulup yükleyeceğinizi söyleyelim. Yani, başlayalım.

  1. Programı çalıştır.
  2. Kendinizi hemen ana sayfasında bulacaksınız. Burada ortada yeşil düğme "Kontrol Et". Buna cesaretle basın.
  3. Bilgisayarınızı veya dizüstü bilgisayarınızı tarama işlemi başlayacaktır. Birkaç dakika sonra, yazılımı indirmek ve yüklemek istediğiniz tüm cihazların bir listesini göreceksiniz. Belirli bir sürücüyü aramadığımız için, tüm mevcut eşyaları kutlarız. Bundan sonra düğmeye tıklayın "Daha ileri" Program penceresinin alt kısmında.
  4. Bir sonraki pencerede, bu yardımcı programı kullanarak sürücülerin zaten güncellendiği cihazların bir listesini ve bunlar için hala indirip yüklemeniz gereken cihazları göreceksiniz. Son cihaz tipi başlığın yanında gri bir daire ile işaretlenmiştir. Güvenilirlik için, sadece bir düğmeye basın "Hepsini Yükle".
  5. Bundan sonra, program gerekli dosyaları indirmek için sunuculara bağlanmaya çalışacaktır. Her şey yolunda giderse, yazılımın ilerlemesini uygun hatta izleyebileceğiniz önceki pencereye geri döneceksiniz.
  6. Tüm bileşenler indirildiğinde, cihaz adının yanındaki simge, yönlü aşağı ok ile yeşil olacaktır. Ne yazık ki, bir düğmeye her şeyi yükleyin. Bu nedenle, dize gerekli cihazla vurgulayız ve düğmeye tıklayın. "Yüklemek".
  7. İsteğe bağlı olarak, bir kurtarma noktası oluşturun. Bu, bir sonraki iletişim kutusunda sunulacaktır. Kararınızla eşleşen bir yanıt seçin.
  8. Bundan sonra, sürücüyü seçilen cihazın kurma işlemi başlayacaktır, burada standart iletişim kutuları oluşabilir. Sadece lisans anlaşmaları okumaları ve düğmelere basın "Daha ileri". Bu aşamada hiçbir sorun olmamalıdır. Bir veya başka birini yükledikten sonra, sistemi yeniden başlatmayı teklif edebilirsiniz. Böyle bir mesajın yapılması önerilirse. Sürücü başarıyla kurulduğunda, ekipmanla birlikte satırın karşısındaki sürücü Genius programında yeşil bir kene olacaktır.
  9. Böylece, tüm ekipman için yazılımı listeden yüklemeniz gerekir.
  10. Sonunda, bir bilgisayarın ikna edici için tekrar tarayabilmesini sağlayabilirsiniz. Tüm sürücüleri yüklediyseniz, benzer bir mesaj göreceksiniz.
  11. Ek olarak, tüm yazılımların kullanıldığını kontrol edebilirsiniz. "Aygıt Yöneticisi" İlk yolun sonunda tarif edildiği gibi.
  12. Hala tanımlanamayan cihazlar varsa, aşağıdaki yolu deneyin.

Yöntem 3: Çevrimiçi Hizmetler

Önceki yollar size yardımcı olmadıysa, bu seçenek için umut edilmelidir. Anlamı, cihazın benzersiz tanımlayıcısı üzerindeki kılavuzda bizi arayacağımızdır. Bilgileri çoğaltmamak için, dersimizi ile tanışmanızı öneririz.

İçinde, kimliği nasıl bulacağınız ve bununla ne yapacağınız hakkında ayrıntılı bilgi bulacaksınız. Sürücü arayışı için en büyük iki çevrimiçi sürücünün kullanımının yanı sıra.

Yöntem 4: Manuel Sürücü Güncellemesi

Bu yöntem, yukarıdaki tümlerin en verimsizdir. Ancak, yazılımın kurulmasına yardımcı olmak için çok nadir durumlarda olabilir. Bu gerekli olan şey bu.


Bunlar, yazılım kurmak istediğiniz cihazları tanımlamanın en etkili yollarıdır. Önerilen seçeneklerden birinin bu sorunu çözmenize yardımcı olacağını umuyoruz. Cihazlarınız için zamanında yazılımı güncellemeyi unutmayın. Sürücüleri bulmakta veya yüklemek zorluğunuz varsa, yorumları yazın. Birlikte her şeyi düzeltiriz.


Üst.