Device Driver
Aygıt Sürücüsü
- Türkçe karşılığı
- sürücü
- Okunuşu
- divays drayvır
Günlük kullanımda iki ad da yaygın.
Kısaca
Device driver, işletim sisteminin belirli bir donanımı denetlemesini sağlayan ve genel işletim sistemi isteklerini aygıta özgü komutlara çeviren yazılımdır.
Device driver (aygıt sürücüsü) nedir?
Bir grafik kartından ağ kartına, SSD'den yazıcıya ya da klavyeye kadar her donanım aygıtının denetlenmesi için kendine özgü alt düzey bir yolu vardır. Device driver bu ayrıntıları bilen ve onları standart bir arayüzün arkasında gizleyen yazılımdır; böylece işletim sistemi ve uygulamalar, hangi modelin kurulu olduğunu bilmeden bir dosyayı okuyabilir, bir paket gönderebilir ya da bir pencere çizebilir.
Çoğu sürücü kernel'ın içinde, çoğu zaman yeniden başlatmadan eklenebilen yüklenebilir kernel modülleri olarak çalışır. Bir sürücü depolama, ağ ya da girdi gibi bir kernel alt sistemine kaydolur, ardından donanımla özel bellek adresleri ve aygıt yazmaçları üzerinden konuşur, veriyi doğrudan bellek erişimi (DMA) ile verimli biçimde taşır ve aygıtın interrupt'larını ele alır. Unix benzeri sistemlerde birçok aygıt /dev altında dosya olarak görünür. Kernel sürücüleri tam ayrıcalıklara sahip olduğu için tek bir sürücü hatası tüm bilgisayarı çökertebilir; işletim sistemlerinin imzalı sürücüler istemesinin ve bazı sürücüleri kullanıcı alanına taşımasının nedeni budur.
Sürücü bir gezi tercümanı gibi çalışır: işletim sistemi ortak bir dil konuşur, her aygıt kendi lehçesini konuşur ve sürücü iki yönde çeviri yapar. Klavyeler ve fareler için USB HID ya da SSD'ler için NVMe gibi ortak donanım standartları, tek bir genel sürücünün birçok üreticinin aygıtını yönetmesine olanak tanır; yeni bir klavyenin genellikle taktığınız anda çalışmasının nedeni budur.
Sürücü çoğu zaman firmware ile karıştırılır. Firmware, aygıtın kendisinde saklanan ve çalışan yazılımdır; sürücü ise işletim sisteminin bir parçası olarak bilgisayarın ana CPU'sunda çalışır ve ikisi iş birliği yapar. Sürücü ayrıca kernel'ın kendisi değil, kernel'a bir eklentidir. Sürücü sözcüğü, bir veritabanının ağ protokolünü konuşan ve donanımla hiçbir ilgisi olmayan sıradan istemci kütüphaneleri olan veritabanı sürücülerinde de geçer.
Önemli noktalar
- Sürücü, genel işletim sistemi isteklerini aygıta özgü komutlara çevirir.
- Çoğu sürücü kernel modunda, çoğu zaman yüklenebilir kernel modülleri olarak çalışır.
- Sürücüler bir aygıtın interrupt'larını ve veri aktarımlarını yönetir.
- Hatalı bir kernel sürücüsü tüm sistemi çökertebilir.
- Firmware aygıtta çalışır; sürücü işletim sisteminde çalışır.
Örnek
# List PCI devices and the kernel driver each one uses
lspci -k | head -n 12
# List loaded kernel modules, many of which are drivers
lsmod | head -n 5
# Show details about one driver module (an Intel network driver)
modinfo e1000e | head -n 5Sık sorulan sorular
Sürücü ile firmware arasındaki fark nedir?
Firmware, aygıtın içine yerleşik olan ve aygıtın kendi çipinde çalışan yazılımdır. Sürücü ise bilgisayarda işletim sisteminin bir parçası olarak çalışır ve aygıta, firmware'i aracılığıyla ne yapacağını söyler.
Kötü bir sürücü neden tüm bilgisayarı çökertebilir?
Çoğu sürücü kernel modunda, belleğe ve donanıma tam erişimle çalışır. Bir sürücüde yanlış bellek adresine yazmak gibi bir hata varsa kernel'ın kendisini bozabilir ve sistemin durması gerekir.
Sürücüleri elle kurmam gerekir mi?
Genellikle hayır. Modern işletim sistemleri çoğu yaygın donanım için sürücülerle birlikte gelir ve diğerlerini otomatik olarak getirir; ancak özel aygıtlar ve en yeni grafik kartları hâlâ ayrı bir sürücü kurulumu gerektirebilir.
İlgili sayfalar
- Kernelİşletim Sistemleri, s. 17Kernel, işletim sisteminin CPU'yu, belleği ve donanım aygıtlarını yöneten ve programların bu kaynaklara nasıl eriştiğini denetleyen çekirdek bölümüdür.
- Interruptİşletim Sistemleri, s. 15Interrupt, CPU'ya bir olayın acil ilgi gerektirdiğini bildiren sinyaldir; CPU mevcut işini duraklatır ve kernel'daki özel bir işleyiciyi çalıştırır.
- User Spaceİşletim Sistemleri, s. 37User space, sıradan programların çalıştığı kısıtlı alandır; kernel space'ten ayrıdır, böylece hatalı ya da kötü niyetli bir uygulama tüm sistemi çökertemez.
- System Callİşletim Sistemleri, s. 32System call, bir programın işletim sistemi kernel'ından bir dosyayı okumak ya da process başlatmak gibi ayrıcalıklı bir işlem yapmasını istediği çağrıdır.
- File Descriptorİşletim Sistemleri, s. 11File descriptor, Unix benzeri bir işletim sisteminin process'e açık bir dosya, socket, pipe ya da başka bir girdi/çıktı kaynağı için verdiği küçük tamsayıdır.
- Bootloaderİşletim Sistemleri, s. 1Bootloader, bilgisayarın firmware'i başladıktan sonra çalışan, işletim sistemi kernel'ını belleğe yükleyen ve denetimi ona devreden küçük bir programdır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin