Categories: sisteme shfrytezimi

Kur duhet bërë skedulimi i proceseve?

Me të drejte mund të shtrohet pyetja se në cilat momente duhet bë rë skedulimi. Janë disa situata kur duhen marrë vendime skedulimi.
Së pari, kur një proçes krijohet merret një vendim skedulimi, duhet të ekzekutohet proçesi fëmijë apo duhet të vazhdojë ekzekutimin proçesi i ri. Përderisa të dy proçeset janë në gjendjen gati për ekzekutim, është normale që nuk është problem nëse mund të zgjidhet një ri nga këto dy proçese apo tjetri.
Një vendim skedulimi merret gjithashtu në momentin kur një proçes përfundon. Ky proçes nuk mund të ekzekutohet më, kështu që duhet zgjedhe një tjetër proçes për tu ekzekutuar. Ky proçes do merret natyrisht nga rradha e proçeseve që janë në gjendjen gati për ekzekutim. Nqs asnjë proçes nuk është në gjendje të tille, atëherë nis ekzekutimin një proçes i sistemit i tillë për këtë moment.
Moment tjetër skedulimi është kur një proçes është bllokuar në pritje të një paisjeje I/O, ose në një semafor. Në këtë moment duhet zgjedhë për ekzekutim një tjetër proçes.

Shpesh arsyeja e bllokimit të një proçesi A është se ai pret të marrë të dhëna nga një proçes B. Për këtë një vendim i mire do ishte që pas bllokimit të proçesit A të niste ekzekutimin pikërisht proçesi B. Mirëpo problemi është se skeduluesi nuk ka një informacion për këtë.

Një moment i katërt është kur ndodh një interrupt për I/O. Nqs interrupt ndodh vjen nga një paisje I/O e cila ka përfunduar punën, atëherë rinis proçesi i cili më parë duhet të jetë bllokuar nga kjo paisje dhe që tani është në gjendjen gati për ekzekutim. Është në dorë të skeduluesit të vendosë për të nisë punën pikërisht ky proçes, apo të zgjedhe për ekzekutim një tjetër proçes nga radha e proçeseve të gatshme.

Algoritmet e skedulimit ndahen në dy kategori. Një algoritëm quhet nonpreemptive nëse merr një proçes për ekzekutim dhe e lejon të vazhdoje derisa të bllokohet (duke kërkuar të dhëna nga ne paisje I/O) ose derisa të lëshojë vete kontrollin e CPU-se. Ky algoritëm nuk do ndaloje një proçes edhe sikur ai të jetë duke u ekzekutuar për orë të tera. Asnjë vendim skedulimi nuk merret në mes të një clock interrupt-t. Pasi është kryer një clock interrupt, gjithmonë rinis proçesi që po ekzekutohej para se të behej kjo interrupt.

Një algoritëm është preemptive kur proçesi lejohet të ekzekutohet në një interval kohe i fiksuar. Nqs në fund të këtij intervali proçesi është ende duke u ekzekutuar, atëherë ai ndërpritet nga skeduluesi dhe zgjidhet një tjetër proçes për të nise ekzekutimin. Kur kryhet një clock interrupt kontrolli i kalon CPU-se dhe skeduluesit. Nqs nuk ka një clock atëherë skedulimi sipas një algoritmi nonpreeptive.

Bazuar në librin Modern Operating Systems, me autor A.Tanenbaum

Sidita Duli

Share
Published by
Sidita Duli

Recent Posts

Studime për Inteligjencë Artificiale (AI) dhe Data Science: program studimi Bachelor

Vitet e fundit kanë nisur programe të reja studimi, Bachelor dhe Master, me fokus Inteligjencë…

4 muaj ago

Studime për Informatikë: lëndët dhe tregu i punës

Dega e studimit Informatike është aktualisht mjaft e kërkuar nga maturantët dhe nga tregu i…

5 muaj ago

Shkenca kompjuterike: profili dhe tregu i punes

Një nga programet e studimit më të kërkuara aktualisht janë Shkenca Kompjuterike. Po cili është…

5 muaj ago

Perdorimi i Notion ne vitin 2023

Këtë vit kam nisë të mbaj shënime dhe të organizoj projektet freelance me një aplikacion…

1 vit ago

Java dhe MySQL

Komponent kryesor i një aplikacioni në Java është lidhja dhe ndërveprimi me një bazë të…

1 vit ago

10 gjuhët e programimit për vitin 2023

Në këtë blog po përmbledh gjuhët e programimit më të preferuara, të cilat kryesojnë listën…

1 vit ago