Управљачки програм — разлика између измена

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м разне исправке; козметичке измене
Нема описа измене
Ред 1:
'''Управљачки програм''' или '''везник''' ({{јез-енгл|driver}}) је рачунарски програм који омогућава комуникацију између програма вишег нивоа ([[оперативни систем|оперативног система]], [[апликација]] итд.) и [[хардвер|рачунарске опреме]]. Једноставно речено, управљачки програми омогућавају оперативном систему да користи одређену рачунарску опрему, коју обичан корисник уопште не би могао да користи.
 
Управљачки програм обично комуницира с уређајима преко [[Магистрала (рачунарство)|магистрале]] или рачунарског подсистема на који је дати уређај прикачен. Када одређени програм захтијевазахтева извршење неке наредбе од везника, везник захтијевазахтева извршење те наредбе од одговарајућег уређаја. Када уређај да одговор, тај одговор се прослијеђујепрослеђује позивајућем програму.
 
Управљачки програми су различити за различите врсте рачунарске опреме и различите оперативне системе.
 
== НамјенаНамена ==
Везници поједностављују програмирање тако што за све различите врсте одређеног типа уређаја (нпр. за све [[штампач]]е или све [[монитор]]е итд.) пружају јединствен скуп наредби које програмер мора да познаје, без улажења у посебности дате врсте уређаја. Јер, свака врста одређеног типа уређаја може захтијеватизахтевати посебне наредбе за своје правилно извршавање или посебне врсте параметара. Да би се избјеглоизбегло писање различитих програма за различите врсте уређаја, везници преузимају на себе терет различитости а [[програмер]] може да користи јединствени скуп наредби за комуникацију с везником. Везници прихватају ове наредбе и преводе их у одговарајуће наредбе за дату врсту уређаја. Тако, на примјерпример, програмери могу да користе наредбу <code>write</code> за писање и <code>read</code> за читање са сваког [[Тврди диск|тврдог диска]], а везник за одређену врсту тврдог диска ће те наредбе превести у оне које та врста разумијеразуме.
 
== Структура ==
У структури везника разликујемо два апстрактна слоја: логички и физички. Логички слој рукује одређеним типом уређаја, попут [[Мрежна картица|мрежних картица]], тврдих дискова итд. Физички слој рукује одређеном врстом датог типа уређаја. На примјерпример, логички слој драјвера за [[Серијски порт|серијске портове]] рукује, између осталог, протоколом <code>XON/XOFF</code>, који је заједнички за све врсте серијских портова. Физички слој истог везника, међутим, комуницира с одређеном врстом серијског порта. На примјер, наредбе за серијски порт с чипом -{16550 UART}- се разликују од наредби серијског порта с чипом -{PL-011}-; физички слој обрађује те разлике. По договору, захтјевизахтеви програма вишег нивоа прво стижу у логички слој. Потом се логички слој обраћа физичком слоју, који дате захтјеве преводи у разумљиве за дату врсту рачунарске опреме. У обрнутом случају, подаци од уређаја пролазе прво кроз физички слој, преко логичког слоја до датог програма вишег нивоа.
 
[[Линукс]]ови драјвери су уграђени у [[језгро оперативног система]]. Ако су доступни технички детаљи о одређеној врсти уређаја, развојни тим језгра Линукса гарантује да ће написати одговарајуће везнике за линукс, без новчане надокнаде<ref>[http://www.kroah.com/log/2007/01/29/#free_drivers Грег Кроа-Хартман, „Слободан развој линуксових везника“] (23. мај 2007) {{en}}</ref><ref>[http://www.linuxworld.com.au/index.php/id;58590129;fp;16;fpid;0 Дон Марти, „Пројекат развоја линуксових везника доноси плодове“] (23. мај 2007) {{en}}</ref><ref>[http://linuxdriverproject.org/twiki/bin/view „Линуксови везници“] (14. јун 2007) {{en}}</ref>. На тај начин произвођачи рачунарске опреме не морају да пишу везнике своје опреме за линукс.
 
Поред тога што везници могу да учествују у грађи језгра, они могу да представљају и засебне цјелинецелине. [[Мајкрософт виндоус|Виндоусове]] датотеке с наставком <code>.sys</code> и линуксове датотеке с наставком <code>.ko</code> представљају везнике у облику засебних цјелина, који се могу учитати за вријемевреме рада оперативног система. Њихова предност је што се могу учитати по потреби, и уклонити из меморије када више нису потребни, што штеди меморијски простор језгра.
 
== Развој ==
Писање везника за одређени уређај захтијевазахтева одлично разумијевањеразумевање начина функционисања тог уређаја, као и оперативног система за који се везник пише. Везници имају висок ниво дозвола у свом радном окружењу и могу проузроковати велику штету за рачунарски систем ако се не напишу добро и ствари крену наопако<ref>[http://www.linux-tutorial.info/modules.php?name=Tutorial&pageid=255 Linux-Tutorial.info] {{en}}</ref>, за разлику од већине програма вишег нивоа, нарочито апликација, чија се упутства у случају опасности могу обуставити без веће штете по оперативни и рачунарски систем. Чак и везници у тзв. корисничком режиму рада могу задати озбиљну штету оперативном и рачунарском систему уколико су лоше програмирани. Због ових проблема, везнике углавном пишу инжењери који раде у фирмама које производе рачунарску опрему, јер имају више података о посебностима рада одређеног уређаја у односу на већину људи ван фирме. Обично се логички слој везника за неки тип опреме пише од стране произвођача датог оперативног система, док физички слој пишу произвођачи дате врсте уређаја. У скорије вријемевреме, међутим, с порастом коришћења слободних оперативних система и програма, све већи број добровољаца пише везнике за разне врсте опреме. Да би се то остварило, битно је да произвођач одређеног уређаја пружи детаљне податке о начину његовог функционисања. Иако ови подаци могу бити откривени тзв. обрнутим инжењерингом, тај поступак је много спорији него код програма.
 
[[Мајкрософт]] је покушао да смањи ризик при коришћењу лоше написаних везника, стварањем шаблона за писање истих, званог „Темељ за виндоусове везнике“ ({{јез-енг|Windows Driver Foundation, WDF}}). Овај шаблон садржи подшаблон за везнике у корисничком режиму рада ({{јез-енг|User-Mode Driver Framework, UMDF}}), који налаже да се на основу њега пишу одређене врсте везника, првенствено оне који су засновани на размјениразмени порука, и подшаблон за везнике у режиму рада језгра ({{јез-енг|Kernel-Mode Driver Framework, KMDF}}), који пружа рјешењарешења за проблеме који се често дешавају у овом режиму, укључујући отказивање улаза/излаза, управљање електричном енергијом и проблеме с уређајима који се прикључују рачунарском систему за вријемевреме његовог рада.
 
[[Епл]] има шаблон „-{I/O Kit}-“ („Опрема за улаз/излаз“) која је лишена ауторског права и служи за писање везника за -{[[Mac OS X]]}-.
 
== ПримјенаПримена ==
Везници се данас користе у повезивању програма вишег нивоа и широке лепезе рачунарске опреме. Ту се убрајају:
* [[Штампач]]и
Ред 30:
* Магистрале на матичној плочи
* Мишеви, тастатуре, [[УСБ]] уређаји итд.
* Медијуми за смјештајсмештај података: ([[компакт диск]]ови, [[тврди диск]]ови ([[ATA]], [[SATA]], [[SCSI]])
* Различити [[датотечни систем]]и
* [[Скенер]]и, [[дигитални фотоапарат]]и, камере итд.
 
Одабир одговарајућих везника за саставне дијеловеделове рачунарског система је обично кључни дио подешавања тог рачунарског система.
 
== Виртуелни везници ==
Посебна врста везника су тзв. виртуелни везника. Они се користе у окружењима гдјегде се [[Симулација|симулира]] рад неког другог окружења, нпр. рад линукса под оперативним системом виндоус. УмјестоУместо да се том симулатору дозволи приступ рачунарској опреми, ствара се посебна виртуелна машина и виртуелни везници за њу, тако да симулатор „мисли“ да приступа правој опреми преко везника, док ти виртуелни везници заправо захтијевајузахтевају приступ опреми преко правих везника. На овај начин се чува безбједностбезбедност оперативног система-домаћина и анализира рад оперативног система-госта.
 
== Извори ==