Գործընթացը կատարվող ծրագիր է, այսինքն՝ ակտիվ ծրագիր: Թելը թեթև գործընթաց է, որը կարող է ինքնուրույն կառավարվել ժամանակացույցի կողմից: Գործընթացները ավելի շատ ժամանակ են պահանջում համատեքստի փոփոխման համար, քանի որ դրանք ավելի ծանր են: Թեմաները ավելի քիչ ժամանակ են պահանջում համատեքստի փոխարկման համար, քանի որ դրանք ավելի թեթև են, քան գործընթացները:
Ի՞նչ է գործընթացն ընդդեմ թելի:
Գործընթացը նշանակում է, որ ծրագիրն իրականացվում է, մինչդեռ շարանը նշանակում է գործընթացի հատված: Գործընթացը թեթև չէ, մինչդեռ թելերը թեթև են: … Գործընթացը հիմնականում մեկուսացված է, մինչդեռ Threads-ը կիսում է հիշողությունը: Process-ը չի կիսում տվյալները, և Threads-ը կիսում է տվյալները միմյանց հետ:
Ո՞րն է տարբերությունը գործընթացի թելի և առաջադրանքի միջև:
Թելերի և գործընթացի միջև տարբերությունն այն է, որ երբ պրոցեսորը անցնում է մի գործընթացից մյուսը, ընթացիկ տեղեկատվությունը պետք է պահպանվի Process Descriptor-ում և բեռնվի նոր գործընթացի մասին տեղեկատվությունը: Մի թեմայից մյուսին անցնելը պարզ է: Առաջադրանքը պարզապես հիշողության մեջ բեռնված հրահանգների մի շարք է:
Ի՞նչ է Գործընթացը և թելերը օպերացիոն համակարգում:
Գործընթացը, ամենապարզ բառերով ասած, կատարող ծրագիր է: Մեկ կամ մի քանի թելեր աշխատում են գործընթացի համատեքստում: Թելը այն հիմնական միավորն է, որին օպերացիոն համակարգը հատկացնում է պրոցեսորի ժամանակը: Թելը կարող է կատարել գործընթացի կոդի ցանկացած մաս, ներառյալ այն մասերը, որոնք ներկայումս իրականացվում են մեկ այլ շղթայի կողմից:
Արդյո՞ք թելերն ավելի արագ են, քան գործընթացները:
պրոցես. քանի որ հիշողության պատճենումը շատ քիչ է պահանջվում (միայն թելերի կույտը), թելերն ավելի արագ են սկսվում, քան գործընթացները: … CPU-ի քեշերը և ծրագրի համատեքստը կարող են պահպանվել գործընթացի թելերի միջև, այլ ոչ թե վերաբեռնվել, ինչպես CPU-ն այլ գործընթացի անցնելու դեպքում:
Քանի՞ թել կարող է ունենալ գործընթացը:
Գործընթացը կարող է ունենալ ամենուր՝ ընդամենը մեկ թելից մինչև բազմաթիվ թելեր: Երբ գործընթացը սկսվում է, դրան հատկացվում է հիշողություն և ռեսուրսներ: Գործընթացի յուրաքանչյուր շարանը կիսում է այդ հիշողությունը և ռեսուրսները: Մեկ թելային գործընթացներում պրոցեսը պարունակում է մեկ թել:
Որո՞նք են նմանություններն ու տարբերությունները գործընթացի և թելերի միջև:
Գործընթացը կատարվող ծրագիր է, այսինքն՝ ակտիվ ծրագիր: Թելը թեթև գործընթաց է, որը կարող է ինքնուրույն կառավարվել ժամանակացույցի կողմից: Գործընթացները ավելի շատ ժամանակ են պահանջում համատեքստի փոփոխման համար, քանի որ դրանք ավելի ծանր են: Թեմաները ավելի քիչ ժամանակ են պահանջում համատեքստի փոխարկման համար, քանի որ դրանք ավելի թեթև են, քան գործընթացները:
Ի՞նչ է թելը օրինակով:
Որպես հսկողության հաջորդական հոսք, շարանը պետք է մշակի իր սեփական ռեսուրսների մի մասը գործող ծրագրի շրջանակներում: Օրինակ, շարանը պետք է ունենա իր կատարման կույտը և ծրագրի հաշվիչը: Թեմայի ներսում աշխատող կոդը աշխատում է միայն այդ համատեքստում: Որոշ այլ տեքստեր օգտագործում են կատարման համատեքստը որպես թելի հոմանիշ:
Ինչու՞ մեզ պետք է բազմաթելեր:
Multithreading-ը թույլ է տալիս միաժամանակ կատարել ծրագրի մի քանի մասեր: Այս մասերը հայտնի են որպես թելեր և թեթև գործընթացներ են, որոնք հասանելի են գործընթացում: Այսպիսով, բազմաշերտությունը հանգեցնում է CPU-ի առավելագույն օգտագործմանը բազմաֆունկցիոնալ աշխատանքի միջոցով:
Ի՞նչ է գործընթացը և դրա կյանքի ցիկլը:
Գործընթացի կյանքի ցիկլը կարող է սահմանվել վիճակի դիագրամով: Որն ունի վիճակներ, որոնք ներկայացնում են գործընթացի կատարման կարգավիճակը տարբեր ժամանակներում և անցումներում: Դա ցույց է տալիս կատարման կարգավիճակի փոփոխությունները: Գործընթացի վերաբերյալ կառավարման տեղեկատվությունը պահպանելու համար օպերացիոն համակարգը օգտագործում է գործընթացի կառավարման բլոկը (PCB):
Որո՞նք են թելերի առավելությունները:
Թելի առավելությունները
- Թեմաները նվազագույնի են հասցնում համատեքստի փոխարկման ժամանակը:
- Թելերի օգտագործումը ապահովում է զուգակցություն գործընթացում:
- Արդյունավետ հաղորդակցություն.
- Ավելի խնայող է ստեղծել և համատեքստի փոխարկիչ թելեր:
- Թելերը թույլ են տալիս օգտագործել բազմապրոցեսորային ճարտարապետությունները ավելի մեծ մասշտաբով և արդյունավետությամբ:
Ի՞նչ է թելը և դրա տեսակները:
Թելը գործընթացի մեկ հաջորդական հոսք է: Թելերն ունեն նույն հատկությունները, ինչ գործընթացի ժամանակ, ուստի դրանք կոչվում են թեթև քաշի գործընթացներ: Թելերը կատարվում են մեկը մյուսի հետևից, բայց պատրանք է տալիս, կարծես դրանք զուգահեռ են կատարվում:
Կարո՞ղ է գործընթացը ունենալ 0 թել:
Պրոցեսորը կատարում է թելեր, ոչ թե գործընթացներ, ուստի յուրաքանչյուր հավելված ունի առնվազն մեկ պրոցես, և պրոցեսը միշտ ունի կատարման առնվազն մեկ շարան, որը հայտնի է որպես առաջնային թել։ … Գործընթացը կարող է ունենալ զրոյական կամ ավելի միաթելային բնակարաններ և զրո կամ մեկ բազմաթելային բնակարաններ:
Ե՞րբ պետք է օգտագործեմ թելեր:
Դուք պետք է օգտագործեք թելեր, եթե և միայն այն դեպքում, եթե ձեր թիրախային ժողովրդագրությունը գործնականում բոլորը կունենան բազմամիջուկ (ինչպես դա տեղի է ունենում աշխատասեղանի/նոութբուքի ներկայիս շուկաներում), և դուք որոշել եք, որ մեկ միջուկը բավարար կատարում չէ:
Ինչո՞ւ է կոնտեքստի փոխարկումն ավելի արագ թելերում:
Մյուս կողմից, երբ մենք անցնում ենք երկու շղթաների միջև, անհրաժեշտ չէ անվավեր դարձնել TLB-ն, քանի որ բոլոր շղթաները կիսում են նույն հասցեի տարածությունը և, հետևաբար, ունեն նույն բովանդակությունը քեշում: … Այսպիսով, երկու միջուկային թելերի միջև համատեքստի անցումը մի փոքր ավելի արագ է, քան երկու գործընթացների միջև անցումը: