Ovladač zařízení

Z Multimediaexpo.cz

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ému pomocí obecnějších rozhraní, která zajišťuje abstrakci zařízení. Základní vlastností abstrakce je použití stejného nebo podobného rozhraní 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ě rozhraní blokového zařízení druhé rozhraní umožňující vypalování, ale program který z ní chce jenom číst soubory o tomto druhém rozhraní nepotřebuje vědět. Zpravidla bývá rozhraní snazší 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 rozhraní 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 rozhraní 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.

Rozdělení ovladačů zařízení

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

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í činnosti 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)