Ovladač zařízení

Z Wikipedie, otevřené encyklopedie

Ukázka umístění vrstvy ovladače zařízení v architektuře operačního systému.
Ukázka umístění vrstvy ovladače zařízení v architektuře operačního systému.

Ovladač nebo správněji ovladač zařízení (anglicky device driver) je software, který umožňuje operačnímu systému pracovat s hardwarem. Některé ovladače jsou součástí operačního systému, jiné jsou distribuovány s hardwarem (např. na CD-ROM).

Ovladač zajišťuje řízení hardware a zároveň komunikuje se zbytkem operačního systémemu pomocí obecnějších rozhraní, která zajišťuje abstrakci zařízení. Základní vlastností abstrakce je použití stejného nebo podobného rozhranní pro podobná zařízení: třeba abstrakce blokového zařízení umožňuje pracovat stejně s diskem, disketou a CD/DVD mechanikou. CD/DVD mechanika má kromě rozhranní blokového zařízení druhé rozhranní umožňující vypalování, ale program který z ní chce jenom číst soubory o tomto druhém rozhranní nepotřebuje vědět.

Zpravidla bývá rozhraní snažší k používání než přímý přístup na zařízení - například umožňuje spooling a bufferování i u zařízení, které ho nepodporují samy.

Oddělení obsluhy zařízení od jádra operačního systému značně zjednodušuje návrh architektury a snižuje možnost chyby při vývoji. Mikrojádra jdou ještě dál a umísťují ovladače do aplikačního prostoru.

Často se rozhranní k ovladači realizuje jako soubor zařízení (angl. device file). V případě systémů UNIXového typu se jedná o speciální typ souborů a operace na takových souborech jsou preferovanou metodou pro komunikaci mezi aplikací a ovladačem.

Pojmenování ovladač zařízení vzniklo jako označení ovladačů fyzických zařízení. Dnes se výraz ovladač (driver) nebo i ovladač zařízení často přeneseně používá i pro části operačního systému, které poskytují jinou funkcionalitu než přístup k hardware a tedy se nejedná doslova o ovladač zařízení - zvlášť pokud v daném operačním systému neexistuje jiné pojmenování. Typickým příkladem je část implementující některý typ souborového systému.

Existují i případy, kdy není jasné zda k ovladači patří nějaké fyzické zařízení nebo ne: v operačním systému MS-DOS například existuje rozhranní ovladače EMS, které původně sloužilo pro ovladač hardware s rozšiřující pamětí, ale později (na 80386) bylo beze změny použito pro čistě virtuální ovladač pro přístup k hlavní paměti počítače nad limitem 1MB.

[editovat] Rozdělení ovladačů zařízení

Protože existuje velká rozmanitost moderního hardware a operačních systémů, existuje mnoho možností použítí ovladačů. Nejčastější využití ovladačů:

[editovat] Základní abstraktní úrovně pro ovladače zařízení

  • hardware
    • přímé řízení hardware
    • řízení hardware prostřednictvím mezivrstvy firmware (např. BIOS)
    • použití dalšího ovladače (např. ovladač souborového systému volá služby ovladače pevného disku)
    • simulování činosti hardware (virtualní zařízení)
  • software
    • podpora přímého přístupu k možnostem hardwaru (např. grafická knihovna DirectX)
    • rozhraní pro aplikační software (např. TWAIN ovladač pro akvizici obrazu)
    • rozhraní pro implementaci a konverzi jazyka (např. PostScript virtuální tiskárna)