Vyšlo v týdeníku Computerworld č. 35/93 v roce 1993
Vytištěno z adresy: http://www.earchiv.cz/a93/a334c120.php3

Driver

Anglický termín driver se používá ve třech dosti odlišných souvislostech.

Uživatelé počítačů se s ním nejčastěji setkávají v takovém kontextu, kdy označuje programy, které mají za úkol bezprostředně ovládat zařízení, moduly či objekty nejrůznější povahy: např. tiskárny, myši, videoadaptéry, zvukové karty, jednotky CD ROM apod. Proto je asi na místě překládat anglický termín "driver" v tomto kontextu jako ovladač.

Ovladače jsou vesměs programy "šité na míru" tomu, co ovládají, a často i tomu, pro koho to dělají. Vystupují jako součást operačního systému či určité konkrétní aplikace a plní takové úkoly, které nemohou být společné pro všechna ovládaná zařízení daného typu. Napsat a odladit ovladač určitého zařízení vyžaduje dosti přesnou znalost vlastností, funkcí a dalších detailů o příslušném konkrétním zařízení i požadavků toho, kdo se zařízením bude skutečně pracovat. Tvůrci nejrůznějších aplikací i celých operačních systémů tedy mohou do svých produktů zahrnout alternativní ovladače takových zařízení, které jim jsou známy a které již jsou mezi uživatelskou veřejností rozšířeny. Nemohou ale anticipovat to, s čím někdy v budoucnu přijdou výrobci příslušných zařízení, a tak musí pamatovat i na možnost dodatečné instalace nových ovladačů. Ty pak ale již musí napsat výrobce konkrétního zařízení a dodávat je spolu se svým výrobkem. Navíc by tento výrobce měl pamatovat i na to, že jeho výrobek (například videoada ptér) může uživatel používat v prostředí různých operačních systémů či s různými aplikacemi, a proto by se výrobce měl snažit dodávat zároveň ovladače pro všechny možné aplikace, které připadají či budou připadat v úvahu. Ale to také není možné - aby jeden výrobce dokázal anticipovat všechny aplikace, které kdy v budoucnu někdo vytvoří.

Nejmarkantnější je tento stav na videoadaptérech pro počítače PC. Koupíte-li si dnes takový videoadaptér, který "umí" něco lepšího než jen standarní rozlišení VGA karty (tj. 640x480 bodů), dostanete k němu řadu ovladačů pro nejnovější verze různých aplikací. Možná mezi nimi bude i ta, kterou skutečně používáte, ale co v okamžiku, kdy si pořídíte novou verzi této aplikace? Ta bude potřebovat zase nový ovladač a vy jej budete muset dodatečně shánět. Nebo co když přijdete na chuť nějaké jiné aplikaci, na kterou výrobce vašeho videoadaptéru nepamatoval?

Tyto problémy, ne nepodobné potížím chudáka Sisyfa, jsou do značné míry způsobeny chováním aplikací pro MS DOS. Ty totiž vychází z předpokladu (bohužel vcelku oprávněného), že mají-li rozumně využít všech možností určitého zařízení (například právě videoadaptéru), musí obejít operační systém a ono zařízení si ovládat přímo a samy - tedy používat vlastní ovladače, šité na míru nejen příslušnému zařízení, ale i samotným aplikacím. Typickým příkladem mohou být různé verze programu AutoCAD a jiných obdobných programů pro navrhování či grafiku, ale také například editory WordPerfect 5.x, MS Word 5.0, spreadsheet Lotus 1-2-3, verze 2.xx, apod.

Naštěstí i zde se blýská na lepší časy. Novější operační systémy (či nadstavby nad operačními systémy, jako např. MS Windows) již jsou schopny zprostředkovat jednotlivým aplikacím takový přístup k příslušným zařízením, který je dostatečně efektivní a umožňuje využít všech jejich potenciálních možností. Aplikace pak nemají důvod operační systém obcházet a zařízení si ovládat samy. Ve víceúlohovém prostředí současných operačních systémů by to na rozdíl od MS DOSu bylo spojeno i s mnoha dalšími obtížemi. Místo toho využívají aplikace služeb operačního systému, a pouze ten se stará o přizpůsobení konkrétnímu zařízení. Pak ovšem již nejsou zapotřebí různé ovladače pro příslušné zařízení, uzpůsobené přímo jednotlivým aplikacím, ale pouze ovladač jediný, uzpůsobený danému operačnímu systému. Například jediný ovladač videoadaptéru pro MS Windows vám zajistí, že kterákoli aplikace pro Windows bude moci plně využít všech jeho schopností.

Vraťme se ale zpět k našemu původnímu tématu - možným významům anglickému termínu driver.

Bylo by jistě nošením dříví do lesa zdůrazňovat, že data a nejrůznější diskrétní signály jsou v počítačích reprezentovány elektricky, nejčastěji úrovní napětí na vodičích. Toto napětí ovšem musí "někdo" (nebo spíše "něco") vytvořit - a právě označení obvodu, který má toto na starosti, je dalším možným významem anglického termínu driver. V češtině je pak v tomto kontextu zřejmě nejvhodnější termín budič, který naznačuje, že příslušný obvod "budí" požadované napětí na příslušném vodiči.

Budič (driver) jako obvod však může mít více různých provedení, způsobů nasazení a účelů. Může jít o samostatný obvod, jehož jediným úkolem je právě a pouze "buzení" elektrických signálů, nebo může jít jen o tu část jinak obecnějšího obvodu (například mikroprocesoru), která má za úkol generovat výstupní signály v potřebné "síle". Téměř vždy je tedy budič chápán jako výstupní budič, který generuje potřebný tvar výstupních signálů. V podstatě lze říci, že každý integrovaný obvod, který má nějak komunikovat se svým okolím, musí obsahovat vhodný výstupní budič, který dá výstupním signálům obvodu potřebnou "sílu" (neboť signály uvnitř integrovaných obvodů bývají výrazně "slabší"). Proč pak ale existují samostatné obvody, které plní pouze funkce budičů?

Důvod je velmi jednoduchý: každý výstupní budič má vždy jen určitou omezenou "sílu" a na ní je pak závislé i to, kolik vstupů dokáže "utáhnout" - tedy kolik vstupů dalších obvodů je možné připojit na výstup budiče. V této souvislosti se hovoří i o tzv. logickém zisku (například logický zisk 10 znamená, že na jeden výstup s tímto logickým ziskem lze připojit až deset vstupů). Logický zisk výstupních budičů, kterými jsou opatřeny různé mikroprocesorové obvody, bývá velmi malý (nezřídka je roven 1, a stačí tedy jen na připojení vstupu jednoho dalšího obvodu). Zde pak musí nastoupit budiče ve formě samostatných integrovaných obvodů, které již mají potřebný logický zisk (a fungují vlastně jen jako výkonové zesilovače). Použití těchto samostatných budičů je nezbytné hlavně v případech, kdy potřebujeme připojit nějaký obvod (mikroprocesor, paměťový obvod apod.) s malým logickým ziskem na systémové sběrnice počítače (viz vydání této rubriky v CW 31/93 na téma "Bus"). Na ty jsou totiž připojeny vstupy mnoha dalších obvodů, takže každý výstup, připojený přímo na sběrnici, musí mít dostatečný výkon (logický zisk). Samostatné budiče, které jsou konstruovány speciálně pro tento účel a zapojovány mezi výstup obvodu s malým logickým ziskem a sběrnici, se pak označují jako budiče sběrnic (bus drivers).

Třetí možný význam anglického termínu driver se opět váže k zesilování signálů, ale tentokráte za jiným účelem. Zatímco u budičů sběrnic jde o zvýšení počtu připojitelných vstupů, u tzv. linkových budičů (line drivers) je cílem zvýšit dosah signálu (například z deseti metrů až na celé kilometry). Zde je ale dobré si uvědomit, že nejde o modem (který by převáděl číslicový signál na analogový a naopak), ale jen o zesilovač, který zvyšuje "sílu" číslicového signálu a který pak může být přenášen na větší vzdálenosti. Typickým příkladem použití linkových budičů by bylo připojení terminálu či propojení dvou počítačů sériovým kabelem na vzdálenost větší, než je obvyklý dosah těchto kabelů (tj. asi 20 metrů).