Մասնակից:Helen D./ավազարկղ

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Jump to navigation Jump to search

Կաղապար:Բարելավում Կաղապար:ՕՀ

Հաշվողական համակարգերում, սարքի դրայվերը կամ ծրագրային ապահովման դրայվերը համակարգչային ծրագիր է, որը թույլ է տալիս բարձր մակարդակի համակարգչային ծրագրերին համագործակցել ապարատային սարքերի հետ:

Դրայվերը սովորաբար հաղորդակցվում է սարքերի հետ կապի ենթահամակարգերի միջոցով, որով միանում են սարքավորումները: Երբ կանչող ծրագիրը վկայակոչում է մի որևէ ամենօրյա դրայվերում, դրայվերի խնդիրները հրահանգում են սարքավորմանը:Երբ սարքը տվյալները հետ է ուղարկում դրայվերին,դրայվերը կարող է կանչել մեքենայական ծրագրերի սկզբնական ծրագրում:Դրայվերները կախում ունեն ապարատներից եւ օպերացիոն համակարգից: Նրանք սովորաբար ապահովում են ընդհատումներ` բեռնաթափման համար անհրաժեշտ ցանկացած ասինխրոն ժամանակից կախված ապարատային ինտերֆեյսների համար:


Նպատակը[խմբագրել | խմբագրել կոդը]

Սարքի դրայվերը պարզեցնում է ծրագրավորումը գործելով որպես թարգմանիչ տեխնիկական սարքի եւ դիմումների կամ օպերացիոն համակարգերի միջև, որոնք օգտագործում են դա: Ծրագրավորողները կարող են գրել բարձրագույն մակարդակի կիրառման կոդը անկախ հատուկ սարքավորումներից:

Նախագծումը[խմբագրել | խմբագրել կոդը]

Սարքի դրայվերները կարող աբստրակցիայի մեջ գտնվել տրամաբանական եւ ֆիզիկական շերտերի միջև: Տրամաբանական շերտեր մշակում են այնպիսի սարքերի տվյալները, ինչպիսիք են Ethernetը կամ սկավառակի կրիչները: Ֆիզիկական շերտերը հաղորդակցվում են հատուկ սարքերում: Օրինակ, հաջորդական պորտվեյնը անհրաժեշտ է կարգավորել ստանդարտ կապի արձանագրություններում, ինչպես, օրինակ, XON / XOFF, որոնք ընդհանուր են բոլոր հաջորդական ապարատներում: Սա կարող է կառավարվել հաջորդական պորտվեյների տրամաբանական շերտով: Ինչևիցե, ֆիզիկական շերտը պետք է հաղորդակցվի տվյալ հաջորդական պորտվեյնի կտորների հետ: 16550 UART, սարքաշարերը տարբերվում են PL-011երից: Ֆիզիկական շերտերը հասցեավորում են այդ Chip-հատուկ տատանումները: Պայմանականորեն, OS հարցումները գնում են նախ տրամաբանական շերտ: Իր հերթին, տրամաբանական շերտը կանչում է ֆիզիկական շերտին իրականացնելու ՕՀ պահանջները ապարատային տեխնիկաներին հասկանալի ձևով: Երբ սարքավորումները պետք է պատասխանեն ՕՀ հարցումներին, այն օգտագործում է ֆիզիկական շերտը հաղորդակցվելու համար տրամաբանական շերտի հետ:

Linux միջավայրերում, ծրագրավորողները կարող են կառուցել սարքի դրայվերներ որպես մասեր kernelից, կամ առանձին - առանձին, որպես բեռնվող մոդուլներ: Makedevը ներառում է ցանկը սարքերի, Linux միջավայրում: ttyS (տերմինալ), LP (զուգահեռ պորտվեյ), HD (սկավառակ), օղակ (loopback սկավառակի սարք), ձայնային (այդ թվում mixer, sequencer, dsp, եւ աուդիո )...[1]

Microsoft Windows .sys ֆայլերը եւ Linux .ko մոդուլները պարունակում են բեռնելի սարքի դրայվերներ:Բեռնելի սարքերի դրայվերների առավելությունն այն է, որ նրանք կարող բեռնվել է միայն այն ժամանակ, երբ անհրաժեշտ է, դրանով իսկ պահպանվելով kernel հիշողության մեջ:


Զարգացումը[խմբագրել | խմբագրել կոդը]

Սարքի դրայվերի գրանցումը պահանջում է խորը հասկանալ ապարատային եւ ծրագրային տվյալների հարթակների գործառույթները: Դրայվերները գործում են բարձր արտոնությամբ միջավայրերում եւ կարող են առաջացնել ձախողումներ, եթե նրանք սխալ են ստանում տվյալները: Ի տարբերություն սրանց, շատ Օգտվողի մակարդակի ծրագրային ապարատներ ժամանակակից օպերացիոն համակարգերում կարող են դադարեցվել առանց մեծապես ազդելու մնացած համակարգերի վրա: Անգամ դրայվերները,որոնք կատարվում են Օգտվողի մակարդակում կարող են ձախողել համակարգը, եթե սարքը սխալ է ծրագրված: Այս գործոնները դարձնում են այն ավելի բարդ ու վտանգավոր ախտորոշելու համար խնդիրները:

Այսպիսով, դրայվերները գրանցելու խնդիրները սովորաբար իրականացնում են ծրագրավորող ինժեներ ները, որոնք աշխատում են տեխնիկական զարգացման ընկերություններում: Սա նրա համար է, քանի որ նրանք ավելի լավ են տեղեկացված իրենց սարքավորումների նախագծման մասին, քան դրսից որևէ մեկը: Ավելին, այն ավանդաբար համարվում է ապարատային արտադրողի պարտականությունը երաշխավորել, որ իրենց հաճախորդները կարող են օգտագործել իրենց ապարատները օպտիմալ ճանապարհով: Սովորաբար, տրամաբանական սարքի դրայվերը(LDD) գրված է օպերացիոն համակարգը վաճառողի կողմից, իսկ ֆիզիկական սարքի դրայվերները (PDD) իրականացվում են սարքի վաճառողների կողմից: Սակայն վերջին տարիներին ոչ վաճառողներին են վերագրվում բազմաթիվ սարքերի դրայվերներ, հիմնականում օգտագործելու համար ազատ եւ բաց կոդով օպերացիոն համակարգերում: Նման դեպքերում կարեւոր է, որ ապարատային արտադրողը տրամադրում է տեղեկատվություն, թե ինչպես է սարքը հաղորդակցվում: Չնայած այդ տեղեկատվությունը կարող է տրամադրված լինել հակադարձ ինժեներականների կողմից: Սա շատ ավելի բարդ է ապարատային տեխնիկայում, քան ծրագրայինում:

Microsoft - ը փորձում է նվազեցնել համակարգի անկայունությունը վատ գրված սարքի դրայվերների պատճառով `ստեղծելով նոր շրջանակի զարգացման դրայվերներ, որ կոչվում են Windows Driver Foundation(WDF): Սա ներառում է User-Mode Driver Frameworkը (UMDF), որը խրախուսում է առանձին տեսակների դրայվերների զարգացումը  — հիմնականում նրանք, որոնք իրականացնում են հաղորդագրություն, ըստ արձանագրության հաղորդակցվելու համար, նրանց սարքերի հետ — ինչպես նաեւ օգտագործողի ռեժիմի դրայվերների հետ: Kernel-Mode Driver Framework (KMDF) մոդելը շարունակում է ապահովել kernel-ռեժիմի սարքի դրայվերների զարգացումը, ինչպես նաև փորձում է ապահովել ստանդարտ իրականացվող գործառույթներում, որոնք հայտնի են խնդիրներ առաջացնելով,այդ թվում I / O գործառնությունների չեղյալ հայտարարումը, կառավարման հզորությունը, ու Plug and Play սարքի աջակցությունը:

Apple-ը ունի բաց կոդով ծրագրի մշակման համար շրջանակ, Mac OS X դրայվերների զարգացման համար, որոնք կոչվում են I / O Kit:

Kernel-ռեժիմը ընդդեմ օգտվողի-ռեժիմի[խմբագրել | խմբագրել կոդը]

Սարքի դրայվերները, մասնավորապես, Կաղապար:Որպես Microsoft Windows ծրագրերում, կարող են կատարվել kernel-ռեժիմում ( Ring 0 x86 CPUներում), կամ օգտագործողի ռեժիմում (Ring 3 x86 CPUներում):[2] Օգտվողի ռեժիմում դրայվերի կատարման հիմնական առավելությունը կայունության բարելավումն է, քանի որ վատ գրված ծրագիրը Օգտվողի ռեժիմում չի կարող ձախողել համակարգը, ըստ ծրագրված kernel հիշողության: [3] Մյուս կողմից, օգտվող / kernel-ռեժիմների տրանզացիաները սովորաբար պարտադրում են զգալի վերին ներկայացումներ, այդպիսով արգելելով օգտագործողի ռեժիմի-դրայվերների ցածր եւ բարձր արտադրողականության պահանջները:

Kernelի տարածք կարելի է մուտք գործել օգտվողի մոդուլով միայն համակարգի կանչերը օգտագործելու միջոցով: Օգտվողի ծրագրերը, ինչպիսիք են UNIX միջավայրը կամ այլ GUIով հիմնված դիմումները օգտվողի տարածքի մաս են կազմում: Այս դիմումները փոխազդում են ապարատային տեխնիկայի հետ kernelի աջակցող գործառույթներով:


Դիմումներ[խմբագրել | խմբագրել կոդը]

Ժամանակակից տեխնիկայի եւ Օպերացիոն համակարգերի բազմազանության պատճառով, դրայվերները գործում են տարբեր միջավայրերում: Դրայվերները հնարավոր է փոխազդեն`

Ընդհանուր մակարդակի աբստրակցիաները սարքի դրայվերների համար ներառում են.

  • Ապարատային տեխնիկայի համար:
    • ուղղակի ինտերֆեյս
    • Գրելը կամ կարդալը սարքի վերահսկողության ռեգիստրից
    • Օգտագործելը մի շարք բարձր մակարդակի ինտերֆեյսների (օրինակ, BIOS Video)
    • Օգտագործելը այլ ավելի ցածր մակարդակի սարքը դրայվերները (օրինակ, ֆայլային համակարգի դրայվերները,որոնք օգտագործում են սկավառակի դրայվերները)
    • Մոդելավորման աշխատանքները ապարատային տեխնիկայի հետ, [փա՞ստ]
  • Ծրագրային ապահովման համար:
    • օպերացիոն համակարգին թույլ տալ անմիջական ելք դեպի ապարատային միջոցներ
    • Իրականացնել միայն պարզունակ ձևով
    • Իրականացումը ինտերֆեյսի ոչ - դրայվերային ծրագրային ապահովման դեպքում (օրինակ, Twain)
    • Իրականացումը մի որևէ լեզվի, երբեմն բավականին բարձր մակարդակի (օրինակ, ետգրություն)

Ընտրելով եւ տեղադրելով ճիշտ սարքի դրայվերներ` տվյալ ապարատային տեխնիկայի համար, հաճախ կարեւոր բաղադրիչ է համակարգչային համակարգի կազմաձեւման համար: [փա՞ստ]


Վիրտուալ սարքի դրայվերներ[խմբագրել | խմբագրել կոդը]

Վիրտուալ սարքի դրայվերները ներկայացնում են սարքի դրայվերների որոշակի տարբերակ: Նրանք օգտագործվում են մրցելու տեխնիկայի սարքերի հետ, մասնավորապես, վիրտուալացման միջավայրերում, օրինակ երբ DOS ծրագիրը կատարվում է [[Microsoft Windows] համակարգչում, կամ երբ մի որևէ հյուր օպերացիոն համակարգ է առաջադրվում, օրինակ, Xen հյուրընկալողը: Հյուր օպերացիոն համակարգին տեխնիկայի հետ երկխոսության հնարավորություն տալու փոխարեն, վիրտուալ սարքաշարերի դրայվերները վերցնում են հակադիր դեր, եւ հետամուտ են լինում տեխնիկային, որպեսզի հյուր օպերացիոն համակարգը, եւ դրա դրայվերները,որոնք կատարվում են վիրտուալ մեքենայի ներսում, կարողանան մուտք գործել իրական տեխնիկա: Հյուր օպերացիոն համակարգի միջոցով մուտք դեպի ապարատային տեխնիկա կատարելը ուղարկվում է վիրտուալ սարքի դրայվեր մի շարք օպերացիոն համակարգերում, ինչպես օրինակ, ֆունկցիայի կանչերը: Վիրտուալ սարքը դրայվերը կարող է նաեւ ուղարկվել մոդելավորված պրոցեսորի մակարդակի իրադարձություններին, ինչպես ընդհատումները վիրտուալ մեքենաներում:

Վիրտուալ սարքերը կարող են նաև գործել ոչ վիրտուալ միջավայրում: Օրինակ վիրտուալ ցանցային ադապտերը օգտագործվում է վիրտուալ անհատական ցանցերում, իսկ վիրտուալ սկավառակի սարքը օգտագործվում է iSCSIում: Լավագույն օրինակը վիրտուալ սարքի դրայվերների "Daemon Tools"ն է:

Բաց դրայվերներ[խմբագրել | խմբագրել կոդը]

Solaris նկարագրությունները լայնորեն կիրառվող սարքի դրայվերներում`

  • fas: արագ/լայն SCSI վերահսկիչ
  • hme: արագ (10/100 Mbit/s) Ethernet
  • isp: Դիֆերենցիալ SCSI վերահսկիչնեչ և SunSwift քարտ
  • glm: (Gigabaud Link Module[6]) UltraSCSI վերահսկիչներ
  • scsi: Փոքր համակարգչային պահեստավորված ինտերֆեյս(SCSI)
  • sf: soc+ կամ սոց. Fiber ալիքային Arbitrated շրջան (FCAL)
  • soc: SPARC Storage Array (SSA) վերահսկիչներ
  • social: Պահեստավորված օպտիկական կարգավորիչներ FCAL (soc+)

APIներ[խմբագրել | խմբագրել կոդը]


Նույնացուցիչներ[խմբագրել | խմբագրել կոդը]

PCI կամ USB շինաների սարքերը, որը նույնականացվում է երկու ID - ի հետ, որը բաղկացած է 4 թվերից եւ / կամ տառերից Aից F: ID սարքը նույնականացնում է արտադրողի / վաճառողի հատուկ սարքերը:


PCI սարքը հաճախ ID զույգի համար հիմնական Chip է համարվում, եւ նաեւ ենթահամակարգ ID զույգի, որը նույնականացնում է վաճառողին, որը կարող է տարբեր լինել Chip արտադրողից:


Տես նաև[խմբագրել | խմբագրել կոդը]

Հղումներ[խմբագրել | խմբագրել կոդը]

  1. «MAKEDEV — Linux Command — Unix Command»։ Linux.about.com։ 2009-09-11։ Վերցված է 2009-09-17 
  2. «User-mode vs. Kernel-mode Drivers»։ Microsoft։ 2003-03-01։ Վերցված է 2008-03-04 
  3. «Introduction to the User-Mode Driver Framework (UMDF)»։ Microsoft։ 2006-10-10։ Վերցված է 2008-03-04 
  4. «CCISS»։ SourceForge։ 2010։ Վերցված է 2010-08-11։ «Drivers for the HP (previously Compaq) Smart Array controllers which provide hardware RAID capability.» 
  5. Russell Steve; et al. (2003-10-21)։ «Abbreviations and acronyms»։ Server Consolidation with the IBM eserver xSeries 440 and VMware ESX Serve։ IBM International Technical Support Organization։ էջ 207 ։ ISBN 0738426849։ Վերցված է 2011-08-14 
  6. «US Patent 5969841 - Gigabaud link module with received power detect signal»։ PatentStorm LLC։ Վերցված է 2009-09-08։ «Բարելավված Gigabaud Link Module (GLM) նախատեսված է իրականացնելու երկուղղորդված տվյալների փոխանցումներ ընդունող սարքի և սերիական փոխանցման միջին սարքերի միջև» 

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]

Կաղապար:Operating System


Category:Linux drivers Category:Operating system technology Category:Computing terminology hy:Driver