CPU Zamanlama Algorithms in OperaAyarlama Sistemleri
โก Akฤฑllฤฑ รzet
CPU zamanlamasฤฑ, iลletim sisteminin bir sonraki รงalฤฑลtฤฑracaฤฤฑ hazฤฑr iลlemi belirler.ping ฤฐลlemci meลgul ve ฤฐlk Gelen ฤฐlk Hizmet, En Kฤฑsa ฤฐล รnce, รncelik ve Sฤฑrayla ฤฐลleme gibi algoritmalar aracฤฑlฤฑฤฤฑyla performansฤฑ iyileลtiriyor.
CPU Planlama nedir?
CPU Zamanlama CPU zamanlama, bir iลlem beklemede iken hangi iลlemin CPU'yu kullanacaฤฤฑnฤฑ belirleme iลlemidir. CPU zamanlamasฤฑnฤฑn temel gรถrevi, CPU boลta kaldฤฑฤฤฑnda iลletim sisteminin, yรผrรผtme iรงin hazฤฑr kuyrukta bulunan iลlemlerden en az birini seรงmesini saฤlamaktฤฑr. Seรงim iลlemi, bellekte yรผrรผtmeye hazฤฑr olan iลlemlerden birini seรงen CPU zamanlayฤฑcฤฑsฤฑ tarafฤฑndan gerรงekleลtirilir.
CPU Planlama Tรผrleri
ฤฐลte iki tรผr planlama yรถntemi:
รnleyici Planlama
รncelikli planlamada, gรถrevler รงoฤunlukla รถnceliklerine gรถre atanฤฑr. Bazen, daha dรผลรผk รถncelikli bir gรถrev hala รงalฤฑลฤฑyor olsa bile, daha yรผksek รถncelikli bir gรถrevi daha dรผลรผk รถncelikli bir gรถrevden รถnce รงalฤฑลtฤฑrmak รถnemlidir. Daha dรผลรผk รถncelikli gรถrev bir sรผre bekler ve daha yรผksek รถncelikli gรถrevin yรผrรผtรผlmesi tamamlandฤฑฤฤฑnda devam eder.
รnleyici Olmayan Planlama
Bu tรผr zamanlama yรถnteminde, CPU belirli bir iลleme tahsis edilir. CPU'yu meลgul eden iลlem, baฤlam deฤiลtirerek veya sonlanarak CPU'yu serbest bฤฑrakฤฑr. รncelikli zamanlama gibi รถzel donanฤฑma (รถrneฤin, zamanlayฤฑcฤฑya) ihtiyaรง duymadฤฑฤฤฑ iรงin รงeลitli donanฤฑm platformlarฤฑnda kullanฤฑlabilen tek yรถntemdir.
Planlamada รถncelikli (preemptive) veya รถncelikli olmayan (nonpreemptive) durumlar ne zaman geรงerlidir?
Planlamanฤฑn รถncelikli mi yoksa รถnceliksiz mi olduฤunu belirlemek iรงin ลu dรถrt parametreyi gรถz รถnรผnde bulundurun:
- Bir sรผreรง รงalฤฑลma durumundan bekleme durumuna geรงer.
- Belirli bir iลlem, รงalฤฑลma durumundan hazฤฑr durumuna geรงer.
- Belirli bir iลlem bekleme durumundan hazฤฑr durumuna geรงer.
- Bir iลlem yรผrรผtmesini tamamlar ve sona erer.
Yalnฤฑzca 1 ve 4 numaralฤฑ koลullar geรงerliyse, planlamaya รถnceliksiz planlama denir. Diฤer tรผm planlama durumlarฤฑ รถncelikli planlamadฤฑr.
CPU Planlamasฤฑyla ฤฐlgili รnemli Terminolojiler
- Patlama Sรผresi/Yรผrรผtme Sรผresi: Bir iลlemin yรผrรผtรผlmesini tamamlamasฤฑ iรงin gereken sรผre. Buna รงalฤฑลma sรผresi de denir.
- Varฤฑล zamanฤฑ: Bir iลlemin hazฤฑr duruma geรงtiฤi zaman.
- Bitirme zamanฤฑ: Bir iลlemin tamamlanฤฑp sistemden รงฤฑktฤฑฤฤฑ zaman.
- รoklu programlama: Bellekte aynฤฑ anda bulunabilecek รงok sayฤฑda program.
- Meslekler: Kullanฤฑcฤฑ etkileลimi gerektirmeyen bir program tรผrรผ.
- Kullanฤฑcฤฑ: Kullanฤฑcฤฑ etkileลimi iรงeren bir program tรผrรผ.
- Proses: Hem iล hem de kullanฤฑcฤฑ iรงin kullanฤฑlan referans.
- CPU/IO patlama dรถngรผsรผ: ฤฐลlemci ve giriล/รงฤฑkฤฑล (I/O) faaliyetleri arasฤฑnda geรงiล yapan iลlem yรผrรผtmesini karakterize eder. ฤฐลlemci sรผreleri genellikle I/O sรผrelerinden daha kฤฑsadฤฑr.
CPU Planlama Kriterleri
Bir CPU planlama algoritmasฤฑ aลaฤฤฑdakileri en รผst dรผzeye รงฤฑkarmaya ve en aza indirmeye รงalฤฑลฤฑr:
Maksimuma รงฤฑkarmak
CPU kullanฤฑmฤฑ: CPU kullanฤฑm oranฤฑ, iลletim sisteminin CPU'nun mรผmkรผn olduฤunca meลgul kalmasฤฑnฤฑ saฤlamasฤฑ gereken temel gรถrevdir. Bu oran %0 ile %100 arasฤฑnda deฤiลebilir. Ancak, gerรงek zamanlฤฑ iลletim sistemleri (RTOS) iรงin bu oran, dรผลรผk seviyeli bir sistemde %40'tan yรผksek seviyeli bir sistemde %90'a kadar deฤiลebilir.
รretilen: Birim zamanda tamamlanan iลlem sayฤฑsฤฑ, verimlilik olarak bilinir. Dolayฤฑsฤฑyla, CPU bir iลlemi yรผrรผtmekle meลgul olduฤunda, iล yapฤฑlฤฑyor demektir ve birim zamanda tamamlanan iลe verimlilik denir.
Azaltmak
Bekleme sรผresi: Bekleme sรผresi, belirli bir iลlemin hazฤฑr bekleme kuyruฤunda beklemesi gereken sรผredir.
Tepki Sรผresi: Bu, talebin gรถnderildiฤi andan ilk yanฤฑtฤฑn verildiฤi ana kadar geรงen sรผredir.
Geri Dรถnรผล Sรผresi: ฤฐลlem tamamlama sรผresi, belirli bir iลlemin yรผrรผtรผlmesi iรงin geรงen sรผredir. Belleฤe eriลmek iรงin bekleme, kuyrukta bekleme ve iลlemcide yรผrรผtme iรงin harcanan toplam sรผredir. ฤฐลlemin gรถnderilme zamanฤฑ ile tamamlanma zamanฤฑ arasฤฑndaki sรผre, iลlem tamamlama sรผresidir.
Aralฤฑk Zamanlayฤฑcฤฑsฤฑ
Zamanlayฤฑcฤฑ kesintisi, รถnleme ile yakฤฑndan ilgili bir yรถntemdir. Belirli bir iลlem CPU tahsisini aldฤฑฤฤฑnda, bir zamanlayฤฑcฤฑ belirli bir aralฤฑฤa ayarlanabilir. Hem zamanlayฤฑcฤฑ kesintisi hem de รถnleme, bir iลlemi CPU patlamasฤฑ tamamlanmadan CPU'yu geri dรถndรผrmeye zorlar.
รoฤu รงok programlฤฑ iลletim sistemi, bir iลlemin sistemi sonsuza dek meลgul etmesini รถnlemek iรงin bir tรผr zamanlayฤฑcฤฑ kullanฤฑr.
Dispatcher nedir?
Daฤฤฑtฤฑcฤฑ, iลlemcinin kontrolรผnรผ iลleme saฤlayan bir modรผldรผr. Daฤฤฑtฤฑcฤฑ hฤฑzlฤฑ olmalฤฑdฤฑr, bรถylece her baฤlam deฤiลtirme iลleminde รงalฤฑลabilir. Daฤฤฑtฤฑm gecikmesi, iลlemci zamanlayฤฑcฤฑsฤฑnฤฑn bir iลlemi durdurup diฤerini baลlatmasฤฑ iรงin gereken sรผredir.
Daฤฤฑtฤฑmcฤฑ tarafฤฑndan gerรงekleลtirilen iลlevler:
- Baฤlam deฤiลtirme.
- Kullanฤฑcฤฑ moduna geรงiliyor.
- Yeni yรผklenen programda doฤru konuma taลฤฑnma.
CPU Planlama Tรผrleri Algorithms
Esas olarak altฤฑ tรผr vardฤฑr sรผreรง planlama algoritmalarฤฑ:
- ฤฐlk Gelen ฤฐlk Servis (FCFS)
- En Kฤฑsa ฤฐล รncelikli (SJF) Planlama
- Kalan En Kฤฑsa Sรผre
- รncelikli Planlama
- Yuvarlak Robin Planlama
- รok Dรผzeyli Kuyruk Planlama
รizelgeleme Algorithms
รnce gelen alฤฑr
FCFS'nin aรงฤฑlฤฑmฤฑ ลudur: รnce gelen alฤฑrBu, en kolay ve en basit CPU zamanlama algoritmasฤฑdฤฑr. Bu algoritma tรผrรผnde, CPU'yu talep eden iลlem, CPU tahsisini ilk รถnce alฤฑr. Bu zamanlama yรถntemi, FIFO kuyruฤu ile yรถnetilebilir.
Bir iลlem hazฤฑr kuyruฤuna girdiฤinde, PCB'si (ฤฐลlem Kontrol Bloฤu) kuyruฤun sonuna baฤlanฤฑr. Bu nedenle, CPU boลaldฤฑฤฤฑnda, kuyruฤun baลฤฑndaki iลleme atanmalฤฑdฤฑr.
FCFS Yรถnteminin รzellikleri
- Bu, รถnceliklendirme gerektirmeyen bir zamanlama algoritmasฤฑdฤฑr.
- ฤฐลler her zaman ilk gelene ilk hizmet esasฤฑna gรถre gerรงekleลtirilir.
- Uygulamasฤฑ ve kullanฤฑmฤฑ kolaydฤฑr.
- Ancak bu yรถntemin performansฤฑ zayฤฑftฤฑr ve genel bekleme sรผresi oldukรงa yรผksektir.
Kalan En Kฤฑsa Sรผre
SRT'nin aรงฤฑlฤฑmฤฑ En Kฤฑsa Kalan Sรผre'dir. Ayrฤฑca SJF (รถncelikli planlama) olarak da bilinir. Bu yรถntemde, iลlem, tamamlanmasฤฑna en yakฤฑn olan gรถreve atanฤฑr. Bu yรถntem, daha yeni hazฤฑr durumdaki bir iลlemin daha eski bir iลlemin tamamlanmasฤฑnฤฑ geciktirmesini รถnler.
SRT Planlama Yรถnteminin รzellikleri
- Bu yรถntem รงoฤunlukla kฤฑsa sรผreli iลlere รถncelik verilmesi gereken toplu iลlem ortamlarฤฑnda uygulanฤฑr.
- Gerekli iลlemci sรผresinin bilinmediฤi paylaลฤฑmlฤฑ bir sistemde bu yรถntemi uygulamak ideal deฤildir.
- Her iลlem, bir sonraki CPU patlamasฤฑnฤฑn sรผresiyle iliลkilidir; bu nedenle iลletim sistemi, iลlemi mรผmkรผn olan en kฤฑsa sรผrede planlamak iรงin bu sรผreleri kullanฤฑr.
รnceliฤe Dayalฤฑ Planlama
รncelikli Planlama Bu, รถnceliklere dayalฤฑ olarak sรผreรงleri planlama yรถntemidir. Bu yรถntemde, planlayฤฑcฤฑ, รผzerinde รงalฤฑลฤฑlacak gรถrevleri รถnceliklerine gรถre seรงer.
รnceliklendirme planlamasฤฑ, iลletim sisteminin รถncelik atamalarฤฑnฤฑ gerรงekleลtirmesine de yardฤฑmcฤฑ olur. Daha yรผksek รถnceliฤe sahip iลlemler รถnce yรผrรผtรผlรผrken, eลit รถnceliฤe sahip iลler sฤฑrayla veya ilk gelen ilk รงฤฑkar (FCFS) esasฤฑna gรถre yรผrรผtรผlรผr. รncelik, bellek gereksinimlerine, zaman gereksinimlerine ve diฤer faktรถrlere gรถre belirlenebilir.
Round-Robin Planlama
Yuvarlak robin En eski ve en basit zamanlama algoritmalarฤฑndan biridir. Bu algoritmanฤฑn adฤฑ, her kiลinin sฤฑrayla bir ลeyden eลit pay aldฤฑฤฤฑ "dรถnรผลรผmlรผ daฤฤฑtฤฑm" ilkesinden gelir. รoฤunlukla รงoklu gรถrev sistemlerinde zamanlama iรงin kullanฤฑlฤฑr. Bu yรถntem, sรผreรงlerin aรงlฤฑk olmadan yรผrรผtรผlmesini saฤlamaya yardฤฑmcฤฑ olur.
Round-Robin Planlamanฤฑn รzellikleri
- Round robin, zamanlama prensibine dayalฤฑ hibrit bir modeldir.
- Bir gรถrevin iลlenmesi iรงin ayrฤฑlan zaman dilimi minimum dรผzeyde olmalฤฑdฤฑr. Ancak, bu sรผre farklฤฑ sรผreรงler iรงin deฤiลiklik gรถsterebilir.
- Belirli bir zaman sฤฑnฤฑrฤฑ iรงinde her iลleme yanฤฑt veren, zaman paylaลฤฑmlฤฑ bir sistem gibi davranฤฑr.
รnce En Kฤฑsa ฤฐล
SJF (Shortest Job First), en kฤฑsa yรผrรผtme sรผresine sahip iลlemin bir sonraki iลlem olarak seรงildiฤi bir zamanlama algoritmasฤฑdฤฑr. Bu zamanlama yรถntemi รถncelikli veya รถnceliksiz olabilir. Yรผrรผtรผlmeyi bekleyen diฤer iลlemlerin ortalama bekleme sรผresini รถnemli รถlรงรผde azaltฤฑr.
SJF Planlamanฤฑn รzellikleri
- Her iล, tamamlanmasฤฑ gereken belirli bir sรผre birimiyle iliลkilendirilmiลtir.
- Bu yรถntemde, iลlemci mรผsait olduฤunda, tamamlanma sรผresi en kฤฑsa olan bir sonraki iลlem veya gรถrev รถnce yรผrรผtรผlรผr.
- Bu, รถnleyici olmayan bir politika ile uygulanmaktadฤฑr.
- Bu algoritma, iลlerin tamamlanmasฤฑnฤฑ beklemenin kritik olmadฤฑฤฤฑ toplu iลlem tรผrleri iรงin kullanฤฑลlฤฑdฤฑr.
- รnce daha kฤฑsa sรผren ve genellikle daha kฤฑsa iลlem sรผresine sahip iลleri yรผrรผterek iล verimliliฤini artฤฑrฤฑr.
รok Seviyeli Kuyruk Planlama
Bu algoritma, hazฤฑr kuyruฤu birkaรง ayrฤฑ kuyruฤa ayฤฑrฤฑr. Bu yรถntemde, iลlemler, iลlem รถnceliฤi, bellek boyutu vb. gibi belirli bir รถzelliฤine gรถre bir kuyruฤa atanฤฑr.
Ancak bu, baฤฤฑmsฤฑz bir zamanlama algoritmasฤฑ deฤildir; iลleri zamanlamak iรงin baลka algoritma tรผrlerini kullanmasฤฑ gerekir.
รok Seviyeli Kuyruk Planlamasฤฑnฤฑn รzellikleri
- Benzer รถzelliklere sahip sรผreรงler iรงin birden fazla kuyruk tutulmalฤฑdฤฑr.
- Her kuyruฤun kendine ait ayrฤฑ bir zamanlama algoritmasฤฑ olabilir.
- Her kuyruฤa รถncelik atanฤฑr.
Zamanlama Algoritmasฤฑnฤฑn Amacฤฑ
Zamanlama algoritmasฤฑ kullanmanฤฑn nedenleri ลunlardฤฑr:
- CPU verimliliฤini artฤฑrmak iรงin zamanlamayฤฑ kullanฤฑr.
- Rekabet eden sรผreรงler arasฤฑnda kaynaklarฤฑ daฤฤฑtmanฤฑza yardฤฑmcฤฑ olur.
- รoklu programlama ile iลlemcinin maksimum verimliliฤine ulaลฤฑlabilir.
- Gerรงekleลtirilecek iลlemler hazฤฑr bekleme kuyruฤunda tutulur.




