«Բազմախնդրություն»–ի խմբագրումների տարբերություն

Content deleted Content added
չ →‎Առաջնահերթ բազմախնդրություն/ժամանակի բաշխիչ: կետադրական նշանը ծանոթագրությունից հետո oգտվելով ԱՎԲ
չ Colon֊ը (:, U+003A) փոխարինում եմ հայերեն վերջակետով (։, U+0589)
Տող 1.
Հաշվողական համակարգերում '''բազմախնդրությունը''' մեթոդ է, որի ժամանակ բազմաթիվ առաջադրանքներ, նաև հայտնի որպես [[համակարգչային պրոցես|պրոցեսներ]], համատեղ օգտագործում են մշակման համար անհրաժեշտ բոլոր ընդհանուր ռեսուրսները, ինչպես օրինակ [[կենտրոնական վերամշակման միավորը|CPU]]. Այն դեպքում, երբ համակարգիչն ունի մեկ պրոցեսոր, համարվում է, որ ընդամենը 1 խնդիր է ''կատարվում'' ժամանակի ցանկացած պահին, այսինքն պրոցեսորը ակտիվորեն կատարում է հրահանգներ այդ առաջադրանքի իրականացման համար։
Բազմախնդրությունը ծրագրավորման մեջ լուծում է նաև [[պլանավորում (հաշվարկային)|պլանավորման]] խնդիրները, այսինքն, երբ տվյալ առաջադրանքները կարող են կատարվել ժամանակի ցանկացած պահին, իսկ մնացած սպասման վիճակում գտնվող խնդիրները սպասում են իրենց հերթին։ Պրոցեսորի ակտը, ըստ նշանակության փոփոխության, մի առաջադրանքից մյուսին կոչվում է [[կոնտեքստի փոխանջատում]]:։
Երբ կոնտեքստային փոխանջատումները հաճախ են տեղի ունենում, ապա [[զուգահեռ հաշվարկների|զուգահեռության]] հետ կապված շփոթություն է առաջանում։
Տող 37.
Օպերացիոն համակարգերը մշակվեցին ` օգտվելու ապարատային այս հնարավորություններից և աշխատեցնել մի քանի պրոցեսներ ըստ առաջնայնության։ Օրինակ, առաջնահերթ բազմախնդրությունը իրականացվել է[[Unixի]]<ref>[http://www.ibiblio.org/team/intro/unix/what.html The Digital Research Initiative<!-- Bot generated title -->]</ref> վաղ տարբերակներում 1969 թվականին, և դարձել է ստանդարտ Unix and [[Unix-ի նմանությամբ]] օպերացիոն համակարգերում, ներառյալ [[Linuxը]], [[Solaris (օպերացիոն համակարգ)|Solarisը]] և [[Berkeley Software Distribution|BSD-ն]] իր [[Համեմատություն BSD օպերացիոն համակարգերի|ածանցյալների]] հետ։
 
Ցանկացած ժամանակ պրոցեսները խմբավորվում են 2 կատեգորիաներում։ Նրանք, որոնք սպասում են մուտքի կամ ելքի (հայտնի որպես "[[I/O սահման]]"), և նրանք, որոնք ամբողջությամբ օգտագործում են պրոցեսորը։("[[CPU սահման]]"): Պարզ համակարգերում ծրագրային ապահովումը հաճախ լինում է հարցումային "[[Polling (համակարգչային տերմինալոգիայով)|poll]]", կամ "[[սպասողական|busywait]]", հարցված մուտքի սպասման ժամանակ (ինչպես օրինակ սկավառակը, ստեղնաշարը կամ ցանցային մուտքերը):։ Այս ընթացքում համակարգը չի իրականացնում օգտակար աշխատանք։ Ընդհատումների և առաջնահերթ բազմախնդրության ի հայտ գալով I/O սահմանափակ պրոցեսները կարող են "արգելափակվել", կամ սպասման մեջ դրվել, մինչև անհրաժեշտ տվյալների ի հայտ գալը, թույլ տալով մնացած պրոցեսներին օգտագործել պրոցեսորը։ Երբ պահանջվող տվյալները հայտնվում են, առաջանում է ընդհատում և արգելափակված պրոցեսները կարող են ժամանակին վերադառնալ կատարման։
 
Վաղ առաջնահերթ բազմախնդրային օպերացիոն համակարգը, որը մատչելի էր դարձել սովորական օգտվողների համար [[Sinclair QDOS]]-ն է [[Sinclair QL]]-ի հիման վրա, որը լույս տեսավ 1984 թվականին, բայց շատ քչերը կարողացան գնել այդ մեքենան։ Commodore-ի հզոր [[Amiga]] տեխնոլոգիան, որը հրապարակվեց հաջորդ տարի, առաջին ֆինանսական առումով հաջողակ համակարգիչն էր, որն օգտագործեց այդ տեխնոլոգիան և նրա մուլտիմեդիա հնարավորությունները դարձնում էին նրան անհատական համակարգիչների ժամանակակից բազմախնդրության հստակ նախահայրը։ 1990-ական թվականների սկզբին [[Microsoftը]] առաջնահերթ բազմախնդրությունը դարձրեց իր օպերացիոն համակարգերի հիմնական բնութագրիչը, այն ժամանակ, երբ զարգանում էին [[Windows NT 3.1]]-ը և հետո [[Windows 95]]-ը։ Ավելի ուշ այն ընդունվեց Apple Macintosh [[Mac OS]] 9.x-ի կողմից<ref>[http://developer.apple.com/technotes/tn/tn2006.html Technical Note TN2006: MP-Safe Routines<!-- Bot generated title -->]</ref> որպես լրացուցիչ API, այսինքն դիմումները կարող էին ծրագրավորվել՝ օգտագործելով առաջնահերթ կամ կոոպերատիվ մոդելները և ավելի վաղ դիմումները դառնում էին կոոպերատիվ բազմախնդրային միակ պրոցեսի շրջանակներում։ [[Mac OS X]]-ը, լինելով [[Unix-ին նման]] համակարգ, օգտագործում է առաջնահերթ բազմախնդրությունը, բոլոր առաջնային դիմումների համար, չնայած [[Classic (Mac OS X)|Classic]] դիմումները համատեղ բազմախնդրային են Mac OS 9 միջավայրում, որն աշխատում է ինչպես OS X պրոցեսը (և ենթակա է առաջնայնության, ինչպես մյուս OS X պրոցեսները):։
 
Նման մոդելները օգտագործվում են [[Windows 9x]] և [[Windows NT|Windows NT ընտանիքի]] համակարգերում, որտեղ առաջնային 32-բիտանի դիմումները առաջնահերթ բազմախնդրային են, իսկ ավելի վաղ 16-բիտանի դիմումները [[Windows 3.1x|Windows 3.x]] համատեղ բազմախնդրային են միակ գործընթացի շրջանակներում, չնայած NT ընտանիքում հնարավոր է ստիպել 16 բիտանի դիմումներին աշխատել որպես առանձին առաջնահերթ բազմախնդրային պրոցես<ref>[http://www.smartcomputing.com/editorial/article.asp?article=articles%2F2005%2Fs1606%2F08s06%2F08s06.asp Smart Computing Article - Windows 2000 &16-Bit Applications<!-- Bot generated title -->]</ref>։ Windows-ի 64-բիտանի հրատարակությունները, և [[x86-64]], և [[Itanium]] տարբերակների համար, այլևս չեն օժանդակում ավելի հին 16 կարգանի դիմումներին և այսպիսով ապահովում են առաջնահերթ բազմախնդրություն բոլոր օժանդակ դիմումների համար։
Տող 48.
 
== Բազմահոսքայնություն ==
Քանի որ բազմախնդրությունը մեծապես բարելավեց համակարգիչների արտադրողականությունը, ծրագրավորողները սկսեցին աշխատեցնել ծրագրերը որպես համատեղ պրոցեսների հավաքածուներ (օրինակ մի պրոցեսը հավաքագրում է մուտքային տվյալները, մեկ այլ պրոցես մշակում է մուտքային տվյալները, մյուսը դուրս է գրում արդյունքները սկավառակի վրա):։ Ինչևիցե, պահանջվում են որոշակի սարքեր, որպեսզի թույլատրեն պրոցեսներին արդյունավետ փոխանակել տվյալները։
 
[[Հոսք (համակարգչային գիտություն)|Հոսքերի]] հիմնական գաղափարն այն է, որ պրոցեսների համատեղման ամենաարդյունավետ ճանապարհը տվյալների փոխանակման համար, դրանց ողջ հիշողության տարածքի բաժանումն է։ Այսպիսով, հոսքերը հիմնականում պրոցեսներ են, որոնք իրականանում են հիշողության նույն կոնտեքստում։ Հոսքերը բնութագրվում են որպես ''թեթևքաշային'', քանի որ հոսքերի միջև փոփոխությունները չեն բերում հիշողության կոնտեքստի փոփոխությանը։
Տող 54.
Մինչ հոսքերը պլանավորվում էին ըստ առաջնահերթության, որոշ օպերացիոն համակարգեր ապահովում էին հոսքերի մի տարբերակ, ''[[Fiber (համակարգչային գիտություն)|fiber]]'' անունով, որոնք պլանավորվում էին կոոպերատիվ օպերացիոն համակարգերում։ Նրանք, որոնք չէին ապահովում հոսքերի Fiber տեսակը, ծրագրային դիմումները կարող էին իրականացնել իրենց սեփական fiber հոսքերը՝ օգտագործելով կրկնակի կանչերը, աշխատողի գործառույթներից ելնելով։Fiber-ները ավելի թեթևքաշային են, քան հոսքերը և մի փոքր ավելի հեշտ է աշխատել դրանց հետ, չնայած դրանք հակված են կորցնելու [[բազմապրոցեսորային|բազմաթիվ պրոցեսորներով մեքենաների]] հոսքերի որոշ կամ բոլոր առավելությունները։{{Citation needed|date=August 2007}}
 
Որոշ համակարգեր ուղղակիորեն աջակցում են [[Բազմահոսքայնություն (համակարգչային տեխնիկա)|բազմահոսքայնությանը համակարգչային տեխնիկայում]]:։
 
== Հիշողության պաշտպանություն ==
Տող 66.
 
== Հիշողության փոխանակում ==
[[Վիրտուալ հիշողության|Փոխանակման ֆայլերի]] կամ փոխանակման բաժանմունքների օգտագործումը օպերացիոն համակարգի համար մի ճանապարհ են՝ տրամադրելու ավելի մեծ հիշողություն, քան ֆիզիկապես կարող է հասանելի լինել պահելով հիմնական հիշողությունից մասնաբաժիններ [[երկրորդական պահեստում]]:։ Մինչ բազմախնդրությունը և հիշողության փոխանակումը 2 ամբողջովին իրար հետ կապ չունեցող տեխնիկաներ են, սակայն դրանք շատ հաճախ օգտագործվում են միասին, քանի որ հիշողության փոխանակումը թույլատրում է ավելի շատ առաջադրանքներ բեռնել միաժամանակ։ Սովորաբար բազմախնդրային համակարգը թույլ է տալիս մեկ այլ պրոցեսի կատարվել, երբ ընթացքի մեջ գտնվող պրոցեսը հանդիպում է մի կետի, որտեղ այն ստիպված է սպասել, մինչև [[երկրորդական պահեստից]] կվերաբեռնվի հիշողության մի որոշակի մասնաբաժին։
 
== Ծրագրավորումը բազմախնդրային միջավայրում ==