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

Садржај обрисан Садржај додат
м r2.6.5) (Робот мења: id:Pemacu peranti
Нема описа измене
Ред 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}-“ („Опрема за улаз/излаз“) која је лишена ауторског права и служи за писање драјверавезника за -{[[MekMac OS X|Мек ОС -{X]]}-]].
 
==Примјена==
ДрајвериВезници се данас користе у повезивању програма вишег нивоа и широке лепезе рачунарске опреме. Ту се убрајају:
* [[Штампач]]и
* [[Графичка картица|Графичке картице]]
Ред 29:
* [[Звучна картица|Звучне картице]]
* Магистрале на матичној плочи
* Мишеви, тастатуре, -{[[USBУСБ]]}- уређаји, итд.
* Медијуми за смјештај података: ([[компакт диск]]ови, [[чврститврди диск]]ови ([[ATA]], [[SATA]], [[SCSI]])
* Различити [[датотечни систем]]и
* [[Скенер]]и, [[дигитални фотоапарат]]и, камере итд.
 
Одабир одговарајућих драјверавезника за саставне дијелове рачунарског система је обично кључни дио подешавања тог рачунарског система.
 
==Виртуелни драјверивезници==
Посебна врста драјверавезника су тзв. виртуелни драјверивезника. Они се користе у окружењима гдје се [[симулацијаСимулација|симулира]] рад неког другог окружења, нпр. рад Линуксалинукса под оперативним системом Виндоузвиндоус. Умјесто да се том симулатору дозволи приступ рачунарској опреми, ствара се посебна виртуелна машина и виртуелни драјверивезници за њу, тако да симулатор „мисли“ да приступа правој опреми преко драјверавезника, док ти виртуелни драјверивезници заправо захтијевају приступ опреми преко правих драјверавезника. На овај начин се чува безбједност оперативног система-домаћина и анализира рад оперативног система-госта.
 
==Извори==
Ред 43:
 
==Спољашње везе==
*[http://www.updrivers.com/ UpDrivers.com] - бесплатни драјверивезници за Виндоузвиндоус {{en}}
*[http://www.dynamiclink.nl/frames/sys.htm DynamicLink.nl] Потпун– потпун и абецедно уређен списак свих 1536 „.sys“ драјверавезника за Виндоузвиндоус] {{en}}
*[http://www.rcnp.osaka-u.ac.jp/unix/DOCUMENTATION/HTML/AA-PUBVD-TE_html/TITLE.html rcnp.osaka-u.ac.jp]- Писањеупутство драјвераза (упутство)писање везника {{en}}
 
[[Категорија:Оперативни системи]]