Հիմնական տարբերություն – կանխարգելիչ ընդդեմ ոչ կանխարգելիչ պլանավորման OS-ում
Գործընթացը կատարվող ծրագիր է: Համակարգիչը պետք է միաժամանակ կատարի բազմաթիվ առաջադրանքներ: Հետևաբար, պրոցեսորը պետք է ստանա գործընթացներ և կատարի դրանք: Երբեմն անհրաժեշտ է լինում իրականացնել որոշ գործընթացներ, քան մյուս գործընթացները: Այդ պահին գործարկման գործընթացը ընդհատվում է, և պրոցեսորը հատկացվում է նոր գործընթացին: Առաջադրանքի ավարտից հետո պրոցեսորը վերաբաշխվում է նախորդ գործընթացին: Այս մեխանիզմի համաձայն պլանավորումը հայտնի է որպես կանխարգելիչ պլանավորում: Եթե ընթացիկ գործընթացը չի կարող ընդհատվել, և պարտադիր է իրականացնել ընթացիկ գործընթացը, ապա այն հայտնի է որպես ոչ կանխարգելիչ պլանավորում:Այս հոդվածը քննարկում է օպերացիոն համակարգում կանխարգելիչ և ոչ կանխարգելիչ պլանավորման տարբերությունը: Կանխարգելիչ պլանավորումը գործընթացի պլանավորման մեխանիզմ է, որի միջոցով գործընթացը կարող է ընդհատվել մեկ այլ գործընթացի կողմից իր կատարման կեսին: Ոչ կանխարգելիչ պլանավորումը գործընթացի պլանավորման մեխանիզմն է, որի միջոցով մեկ գործընթաց սկսում է իրականացվել միայն նախորդ գործընթացի ավարտից հետո: Դա OS-ում կանխարգելիչ և ոչ կանխարգելիչ պլանավորման հիմնական տարբերությունն է:
Ի՞նչ է կանխարգելիչ պլանավորումը ՕՀ-ում:
Round Robin Scheduling-ը կանխարգելիչ ժամանակացույցի օրինակ է: Յուրաքանչյուր գործընթաց ստանում է պրոցեսորի փոքր քանակությամբ ժամանակ: Սովորաբար դա 10-ից 100 միլիվայրկյան է: Տվյալների այս փոքր միավորը հայտնի է նաև որպես ժամանակի քվանտ։ Այս ժամանակը լրանալուց հետո գործընթացը նախապես դրվում է և ավելացվում է պատրաստի հերթի վերջում: Ենթադրենք, որ կան 4 գործընթացներ, ինչպիսիք են P1, P2, P3 և P4: CPU-ի պայթելու ժամանակը միլիվայրկյաններով հետևյալն է. Ժամանակի քվանտը 20 է։
Նկար 01. Շրջանակային ժամանակացույցի օրինակ
P1 գործընթացն աշխատում է մինչև 20: Մնացել է ևս 33 մվ: Այնուհետև P2-ը կատարում է: Քանի որ ժամանակի քվանտը 20 է, իսկ P2-ի պահանջվող ժամանակը 17 մս է, P2-ը կաշխատի 17 մվ-ի համար: Այսպիսով, P2 գործընթացը ավարտված է: Այնուհետև հնարավորություն է տրվում P3-ին։ Այն կաշխատի 20 ms. Մնացածը՝ 48 մս։ Այնուհետև P4-ը կաշխատի 20 մվ: Ամբողջ գործընթացը ավարտելու համար այն ունի 4 ms: Կրկին, P1-ը կաշխատի 20 մվ: Գործընթացը ավարտելու համար ունի ևս 13 ms:Փոփոխությունը տրվում է P3-ին։ Այն կաշխատի 20 մվ, և ունի ևս 28 մվ՝ ամբողջությամբ ավարտելու համար: P4-ը կատարում է: Այն ունի ընդամենը 4 մվ: Հետևաբար, P4-ն ավարտում է կատարումը: P2-ը և P4-ն արդեն ավարտվել են: Մնացած գործընթացները P1 և P3 են: Շանսը տրվում է P3-ին։ Այն ուներ 13 ms ավարտելու համար, ուստի այն ավարտում է: Այժմ մնում է միայն P3 գործընթացը: Այն ունի 28 ms ավարտելու համար: Այսպիսով, P3-ը կաշխատի 20 մվ: Մնացածը՝ 8մս։ Մնացած բոլոր գործընթացներն արդեն ավարտվել են: Հետևաբար, P3-ի մնացած 8ms-ը կրկին կաշխատի: Նմանապես, յուրաքանչյուր գործընթաց հնարավորություն է ստանում իրականացնել:
Ի՞նչ է ոչ կանխարգելիչ պլանավորումը ՕՀ-ում:
First Come First Served (FCFS) ժամանակացույցը կարող է ընդունվել որպես ոչ կանխարգելիչ պլանավորման օրինակ: Գործընթացը, որն առաջինն է պահանջում, նախ հատկացվում է պրոցեսորին: Այս պլանավորումը հեշտությամբ կառավարվում է «Առաջին մուտքի առաջին դուրս» (FIFO) հերթով: Եթե կան P1, P2 և P3 պրոցեսներ, ապա առաջինը հնարավորություն է տրվում P1-ին: Ավարտելուց հետո P2-ը կկատարվի:Երբ P2-ն ավարտվի, P3-ը կգործարկվի: Ենթադրենք, որ կան 3 պրոցեսներ, ինչպիսիք են P1, P2 և P3, CPU-ի պայթյունի ժամանակները միլիվայրկյաններով հետևյալ կերպ:
Նկար 02. FCFS պլանավորման օրինակ
Համաձայն վերոհիշյալի, P1-ը կկատարվի: Ավարտվելուց հետո P2 գործընթացը կատարվում է 3ms-ով: Այժմ մնացած գործընթացը P3 է: Այնուհետև այն կկատարվի: P1-ի սպասման ժամանակը զրոյական է: Գործընթացը P2 պետք է սպասեր 24 մվ, իսկ P3 պրոցեսը պետք է սպասեր 27 մվ: Եթե գործընթացները հասել են P2, P3 և P1 հերթականությամբ, ապա P2-ն առաջինը կավարտվի:Հաջորդ P3-ը կավարտվի, և վերջապես, P1-ը կավարտվի:
Ո՞րն է նմանությունը ՕՀ-ում կանխարգելիչ և ոչ կանխարգելիչ պլանավորման միջև:
Եվ կանխարգելիչ և ոչ կանխարգելիչ պլանավորումը ՕՀ-ում մեխանիզմներ են համակարգչում գործընթացները ժամանակավորելու համար:
Ո՞րն է տարբերությունը OS-ում կանխարգելիչ և ոչ կանխարգելիչ պլանավորման միջև:
Կանխարգելիչ ընդդեմ ոչ կանխարգելիչ պլանավորման OS-ում |
|
Կանխարգելիչ պլանավորումը գործընթացի պլանավորման մեխանիզմն է, որի միջոցով գործընթացը կարող է ընդհատվել մեկ այլ գործընթացի կողմից դրա կատարման կեսին: | Ոչ կանխարգելիչ պլանավորումը գործընթացի պլանավորման մեխանիզմ է, որի միջոցով մեկ պրոցեսը սկսում է իրականացվել միայն նախորդ գործընթացի ավարտից հետո: |
Գործընթացի ընդհատում | |
Կանխարգելիչ պլանավորման դեպքում գործընթացները կարող են ընդհատվել: | Ոչ կանխարգելիչ պլանավորման դեպքում գործընթացները կարող են ընդհատվել: |
CPU-ի օգտագործում | |
Կանխարգելիչ պլանավորման դեպքում պրոցեսորի օգտագործումը ավելի բարձր է, քան ոչ կանխարգելիչ պլանավորումը: | Ոչ կանխարգելիչ պլանավորման դեպքում CPU-ի օգտագործումը նվազագույն է կանխարգելիչ պլանավորման համեմատ: |
Ճկունություն | |
Կանխարգելիչ պլանավորումը ճկուն է: | Ոչ կանխարգելիչ պլանավորումը ճկուն չէ: |
Ամփոփում – կանխարգելիչ ընդդեմ ոչ կանխարգելիչ ժամանակացույց OS-ում
Կան մի քանի գործընթացներ, որոնք աշխատում են համակարգչում: Երբ յուրաքանչյուր գործընթաց իրականացվում է, պրոցեսորը հատկացվում է տվյալ գործընթացին:Երբեմն անհրաժեշտ է լինում դադարեցնել ընթացիկ գործընթացի իրականացումը և առաջնահերթությունը տալ մեկ այլ գործընթացի։ Գործընթացների պլանավորման մեխանիզմները կարող են լինել կանխարգելիչ կամ ոչ կանխարգելիչ: Կանխարգելիչ պլանավորումը գործընթացի պլանավորման մեխանիզմ է, որի միջոցով գործընթացը կարող է ընդհատվել մեկ այլ գործընթացի կողմից իր կատարման կեսին: Ոչ կանխարգելիչ պլանավորումը գործընթացի պլանավորման մեխանիզմն է, որի միջոցով մեկ գործընթացն սկսում է իրականացվել միայն նախորդ գործընթացի ավարտից հետո: Սա է տարբերությունը OS-ում կանխարգելիչ և ոչ կանխարգելիչ պլանավորման միջև:
Ներբեռնեք Preemptive vs Nonpreemptive Scheduling-ի PDF-ը OS-ում
Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ. Տարբերությունը OS-ում կանխարգելիչ և ոչ կանխարգելիչ պլանավորման միջև