CPU Zamanlama Algorithms in OperaAyarlama Sistemleri
CPU Planlama nedir?
CPU Zamanlama baลka bir iลlem beklemedeyken hangi iลlemin yรผrรผtme iรงin CPU'ya sahip olacaฤฤฑnฤฑ belirleme sรผrecidir. CPU planlamasฤฑnฤฑn temel gรถrevi, CPU boลta kaldฤฑฤฤฑnda iลletim sisteminin en azฤฑndan yรผrรผtme iรงin hazฤฑr kuyruฤunda bulunan iลlemlerden birini seรงmesini saฤlamaktฤฑr. Seรงim sรผreci CPU planlayฤฑcฤฑsฤฑ tarafฤฑndan yรผrรผtรผlecektir. Bellekte yรผrรผtme iรงin hazฤฑr olan iลlemlerden birini seรงer.
CPU Planlama Tรผrleri
Burada iki tรผr Planlama yรถntemi vardฤฑr:
รnleyici Planlama
รnleyici Planlamada gรถrevler รงoฤunlukla รถnceliklerine gรถre atanฤฑr. Bazen, daha dรผลรผk รถncelikli gรถrev hala รงalฤฑลฤฑyor olsa bile, daha dรผลรผk รถncelikli bir gรถrevden รถnce daha yรผksek รถncelikli bir gรถrevi รงalฤฑลtฤฑrmak รถnemlidir. Dรผลรผk รถncelikli gรถrev bir sรผre bekletilir ve yรผksek รถncelikli gรถrevin yรผrรผtรผlmesi tamamlandฤฑฤฤฑnda devam eder.
รnleyici Olmayan Planlama
Bu tรผr planlama yรถnteminde CPU belirli bir sรผrece tahsis edilmiลtir. CPU'yu meลgul eden sรผreรง, baฤlamฤฑ deฤiลtirerek veya sonlandฤฑrarak CPU'yu serbest bฤฑrakacaktฤฑr. รeลitli donanฤฑm platformlarฤฑ iรงin kullanฤฑlabilecek tek yรถntemdir. Bunun nedeni, รถnleyici planlama gibi รถzel bir donanฤฑma (รถrneฤin bir zamanlayฤฑcฤฑ) ihtiyaรง duymamasฤฑdฤฑr.
Planlama ne zaman รnleyici veya รnleyici Deฤildir?
Planlamanฤฑn รถnleyici mi yoksa รถnleyici olmayan mฤฑ 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 sรผreรง, รงalฤฑลma durumundan hazฤฑr durumuna geรงiล yapar.
- Belirli bir sรผreรง bekleme durumundan hazฤฑr durumuna geรงer.
- ฤฐลlem yรผrรผtmeyi tamamladฤฑ ve sonlandฤฑrฤฑldฤฑ.
Yalnฤฑzca 1. ve 4. koลullar geรงerlidir; planlamaya รถnleyici olmayan denir.
Diฤer tรผm planlamalar รถnleyicidir.
รnemli CPU Planlama Terminolojileri
- Patlama Sรผresi/Yรผrรผtme Sรผresi: ฤฐลlemin yรผrรผtmeyi tamamlamasฤฑ iรงin gereken sรผredir. Buna รงalฤฑลma sรผresi de denir.
- Varฤฑล zamanฤฑ: bir sรผreรง hazฤฑr duruma girdiฤinde
- Bitirme zamanฤฑ: iลlem tamamlandฤฑฤฤฑnda ve sistemden รงฤฑkฤฑldฤฑฤฤฑnda
- รoklu programlama: Bellekte aynฤฑ anda bulunabilen birden fazla program.
- Meslekler: Herhangi bir kullanฤฑcฤฑ etkileลimi olmayan bir program tรผrรผdรผr.
- Kullanฤฑcฤฑ: Kullanฤฑcฤฑ etkileลiminin olduฤu bir program tรผrรผdรผr.
- Proses: Hem iล hem de kullanฤฑcฤฑ iรงin kullanฤฑlan referanstฤฑr.
- CPU/IO patlama dรถngรผsรผ: CPU ve G/ร etkinliฤi arasฤฑnda geรงiล yapan sรผreรง yรผrรผtmeyi karakterize eder. CPU sรผreleri genellikle G/ร sรผresinden 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ฤฑ, iลletim sisteminin CPU'nun mรผmkรผn olduฤu kadar meลgul kalmasฤฑnฤฑ saฤlamasฤฑ gereken ana gรถrevdir. Yรผzde 0 ila 100 arasฤฑnda deฤiลebilir. Ancak RTOS iรงin bu, dรผลรผk seviyeli sistem iรงin yรผzde 40 ve yรผksek seviyeli sistem iรงin yรผzde 90 aralฤฑฤฤฑnda olabilir.
รretilen: Birim zamanda yรผrรผtรผlmesini tamamlayan iลlemlerin sayฤฑsฤฑ Verim olarak bilinir. Yani, CPU iลlemi yรผrรผtmekle meลgul olduฤunda, o anda iล yapฤฑlฤฑyor ve birim zamanda tamamlanan iลe Verim adฤฑ veriliyor.
Azaltmak
Bekleme sรผresi: Bekleme sรผresi, belirli bir prosesin hazฤฑr kuyruฤunda beklemesi gereken miktardฤฑr.
Tepki Sรผresi: Talebin gรถnderildiฤi andan ilk yanฤฑt alฤฑnana kadar geรงen sรผredir.
Geri Dรถnรผล Sรผresi: Geri dรถnรผล sรผresi, belirli bir iลlemin yรผrรผtรผlmesi iรงin geรงen sรผredir. Belleฤe girmeyi beklerken, kuyrukta beklerken ve CPU รผzerinde yรผrรผtรผlรผrken harcanan toplam sรผrenin hesaplanmasฤฑdฤฑr. ฤฐลlemin teslim sรผresi ile tamamlanma sรผresi arasฤฑnda geรงen sรผre, geri dรถnรผล 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.
รok programlฤฑ iลletim sistemlerinin รงoฤu, bir iลlemin sistemi sonsuza kadar baฤlamasฤฑnฤฑ รถnlemek iรงin bir tรผr zamanlayฤฑcฤฑ kullanฤฑr.
Dispatcher nedir?
CPU'nun prosese kontrolรผnรผ saฤlayan modรผldรผr. Dispatcher'ฤฑn her baฤlam anahtarฤฑnda รงalฤฑลabilmesi iรงin hฤฑzlฤฑ olmasฤฑ gerekir. Daฤฤฑtฤฑm gecikmesi, CPU zamanlayฤฑcฤฑnฤฑn bir iลlemi durdurup diฤerini baลlatmak iรงin ihtiyaรง duyduฤu sรผredir.
Dispatcher tarafฤฑndan gerรงekleลtirilen iลlevler:
- Baฤlam Deฤiลtirme
- Kullanฤฑcฤฑ moduna geรงiล
- Yeni yรผklenen programda doฤru konuma taลฤฑnma.
CPU planlama algoritmasฤฑ tรผrleri
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

รnce gelen alฤฑr
ฤฐlk Gelen ฤฐlk Hizmet, FCFS'nin tam biรงimidir. En kolay ve en basit CPU planlama algoritmasฤฑdฤฑr. Bu tรผr algoritmada, CPU'yu talep eden sรผreรง รถnce CPU tahsisini alฤฑr. Bu planlama yรถntemi bir FIFO kuyruฤu ile yรถnetilebilir.
Proses hazฤฑr kuyruฤuna girdiฤinde PCB'si (Proses Kontrol Bloฤu) kuyruฤun kuyruฤuna baฤlanฤฑr. Yani CPU serbest kaldฤฑฤฤฑnda kuyruฤun baลฤฑndaki prosese atanmalฤฑdฤฑr.
FCFS yรถnteminin รถzellikleri
- รnleyici olmayan ve รถnleyici planlama algoritmasฤฑ sunar.
- ฤฐล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 tam ลekli Kalan en kฤฑsa sรผre'dir. Aynฤฑ zamanda SJF รถnleyici planlama olarak da bilinir. Bu yรถntemde sรผreรง, tamamlanmaya en yakฤฑn olan gรถreve tahsis edilecektir. Bu yรถntem, daha yeni bir hazฤฑr durum iลleminin eski bir iลlemin tamamlanmasฤฑnฤฑ geciktirmesini รถnler.
SRT planlama yรถnteminin รถzellikleri
- Bu yรถntem รงoฤunlukla kฤฑsa iลlerin tercih edilmesinin gerekli olduฤu toplu ortamlarda uygulanฤฑr.
- Bu, gerekli CPU sรผresinin bilinmediฤi paylaลฤฑmlฤฑ bir sistemde bunu uygulamak iรงin ideal bir yรถntem deฤildir.
- Her iลlemi bir sonraki CPU patlamasฤฑnฤฑn uzunluฤu olarak iliลkilendirin. Bรถylece iลletim sistemi bu uzunluklarฤฑ kullanฤฑr ve bu da iลlemin mรผmkรผn olan en kฤฑsa sรผrede planlanmasฤฑna yardฤฑmcฤฑ olur.
รnceliฤe Dayalฤฑ Planlama
รncelikli Planlama รnceliฤe dayalฤฑ olarak sรผreรงlerin planlanmasฤฑ yรถntemidir. Bu yรถntemde zamanlayฤฑcฤฑ, รถncelik sฤฑrasฤฑna gรถre รงalฤฑลacak gรถrevleri seรงer.
รncelik planlamasฤฑ aynฤฑ zamanda iลletim sisteminin รถncelik atamalarฤฑnฤฑ iรงermesine de yardฤฑmcฤฑ olur. Daha yรผksek รถnceliฤe sahip sรผreรงler ilk รถnce yรผrรผtรผlmeli, eลit รถnceliฤe sahip iลler ise dรถnรผลรผmlรผ veya FCFS esasฤฑna gรถre gerรงekleลtirilir. รncelik, bellek gereksinimleri, zaman gereksinimleri vb. temel alฤฑnarak belirlenebilir.
Round-Robin Planlama
Round robin en eski ve en basit planlama algoritmasฤฑdฤฑr. Bu algoritmanฤฑn adฤฑ, her kiลinin sฤฑrayla bir ลeyden eลit pay aldฤฑฤฤฑ yuvarlak-robin ilkesinden gelir. รoฤunlukla รงoklu gรถrevlerde algoritmalarฤฑ planlamak iรงin kullanฤฑlฤฑr. Bu algoritma yรถntemi, sรผreรงlerin aรง kalmadan yรผrรผtรผlmesine yardฤฑmcฤฑ olur.
Round-Robin Planlamanฤฑn รzellikleri
- Round robin, saat odaklฤฑ hibrit bir modeldir.
- ฤฐลlenecek belirli bir gรถrev iรงin atanan zaman dilimi minimum olmalฤฑdฤฑr. Ancak farklฤฑ iลlemlere gรถre deฤiลiklik gรถsterebilir.
- Olaya belirli bir zaman sฤฑnฤฑrฤฑ iรงinde yanฤฑt veren gerรงek zamanlฤฑ bir sistemdir.
รnce En Kฤฑsa ฤฐล
SJF, (รnce en kฤฑsa iล) ifadesinin tam biรงimidir ve bir sonraki yรผrรผtme iรงin en kฤฑsa yรผrรผtme sรผresine sahip iลlemin seรงilmesi gereken bir zamanlama algoritmasฤฑdฤฑr. Bu planlama yรถntemi รถnleyici veya รถnleyici olmayabilir. Yรผrรผtรผlmeyi bekleyen diฤer iลlemlerin ortalama bekleme sรผresini รถnemli รถlรงรผde azaltฤฑr.
SJF Planlamanฤฑn รzellikleri
- Tamamlanacak zaman birimi olarak her iล ile iliลkilendirilir.
- Bu yรถntemde, CPU mevcut olduฤunda, tamamlanma sรผresi en kฤฑsa olan bir sonraki iลlem veya iล ilk รถnce yรผrรผtรผlecektir.
- รnleyici olmayan bir politika ile uygulanฤฑr.
- Bu algoritma yรถntemi, iลlerin tamamlanmasฤฑnฤฑ beklemenin kritik olmadฤฑฤฤฑ toplu tip iลleme iรงin kullanฤฑลlฤฑdฤฑr.
- ฤฐlk รถnce yapฤฑlmasฤฑ gereken ve รงoฤunlukla daha kฤฑsa geri dรถnรผล sรผresine sahip olan daha kฤฑsa iลler sunarak iล รงฤฑktฤฑsฤฑnฤฑ artฤฑrฤฑr.
รok Seviyeli Kuyruk Planlama
Bu algoritma hazฤฑr kuyruฤunu รงeลitli ayrฤฑ kuyruklara ayฤฑrฤฑr. Bu yรถntemde iลlemler, iลlem รถnceliฤi, bellek boyutu vb. gibi iลlemin belirli bir รถzelliฤine dayalฤฑ olarak bir kuyruฤa atanฤฑr.
Ancak bu, iลleri zamanlamak iรงin diฤer algoritma tรผrlerini kullanmasฤฑ gerektiฤinden baฤฤฑmsฤฑz bir zamanlama iลletim sistemi algoritmasฤฑ deฤildir.
รok Seviyeli Kuyruk Planlamanฤฑn รzelliฤi
- Bazฤฑ รถzelliklere sahip iลlemler iรงin birden fazla kuyruk tutulmalฤฑdฤฑr.
- Her kuyruฤun ayrฤฑ planlama algoritmalarฤฑ olabilir.
- Her kuyruk iรงin รถncelikler verilmiลtir.
Zamanlama Algoritmasฤฑnฤฑn Amacฤฑ
Zamanlama algoritmasฤฑ kullanmanฤฑn nedenleri ลunlardฤฑr:
- CPU verimliliฤini artฤฑrmak iรงin zamanlamayฤฑ kullanฤฑr.
- Kaynaklarฤฑ rakip sรผreรงler arasฤฑnda tahsis etmenize yardฤฑmcฤฑ olur.
- รoklu programlama ile CPU'nun maksimum kullanฤฑmฤฑ elde edilebilir.
- Yรผrรผtรผlecek iลlemler hazฤฑr kuyruฤundadฤฑr.
รZET
- CPU planlamasฤฑ, baลka bir iลlem beklemedeyken hangi iลlemin yรผrรผtรผlmek รผzere CPU'ya sahip olacaฤฤฑnฤฑ belirleme sรผrecidir.
- รnleyici Planlamada gรถrevler รงoฤunlukla รถnceliklerine gรถre atanฤฑr.
- รnleyici olmayan planlama yรถnteminde CPU belirli bir sรผrece tahsis edilmiลtir.
- Patlama sรผresi, iลlemin yรผrรผtmeyi tamamlamasฤฑ iรงin gereken sรผredir. Buna รงalฤฑลma sรผresi de denir.
- CPU kullanฤฑmฤฑ, iลletim sisteminin CPU'nun mรผmkรผn olduฤu kadar meลgul kalmasฤฑnฤฑ saฤlamasฤฑ gereken ana gรถrevdir.
- Birim zamanda yรผrรผtรผlmesini tamamlayan iลlemlerin sayฤฑsฤฑ Verim olarak bilinir.
- Bekleme sรผresi, belirli bir iลlemin hazฤฑr kuyruฤunda beklemesi gereken miktardฤฑr.
- Talebin gรถnderildiฤi andan ilk yanฤฑt alฤฑnana kadar geรงen sรผredir.
- Geri dรถnรผล sรผresi, belirli bir iลlemin yรผrรผtรผlmesi iรงin geรงen sรผredir.
- Zamanlayฤฑcฤฑ kesintisi, รถnleme ile yakฤฑndan ilgili bir yรถntemdir.
- Daฤฤฑtฤฑcฤฑ, CPU'nun sรผrece kontrolรผnรผ saฤlayan bir modรผldรผr.
- Altฤฑ tรผr sรผreรง planlama algoritmasฤฑ ลunlardฤฑr: ฤฐlk Gelen ฤฐlk Hizmet (FCFS), 2) En Kฤฑsa ฤฐล ฤฐlk (SJF) Planlama, 3) En Kฤฑsa Kalan Sรผre, 4) รncelik Planlama, 5) Dรถngรผsel Robin Planlama, 6) รok Dรผzeyli Kuyruk Planlama .
- iรงinde ฤฐlk Gelen ฤฐlk Hizmet Yรถntemi, CPU'yu talep eden sรผreรง รถnce CPU tahsisini alฤฑr.
- Kalan En Kฤฑsa Sรผrede sรผreรง, tamamlanmasฤฑna en yakฤฑn gรถreve tahsis edilecektir.
- รncelikli Planlama'da, zamanlayฤฑcฤฑ รถnceliฤe gรถre รงalฤฑลacak gรถrevleri seรงer.
- Yuvarlak sฤฑralama zamanlamasฤฑ herkesin sฤฑrayla bir ลeyden eลit pay almasฤฑ prensibiyle รงalฤฑลฤฑr.
- รnce En kฤฑsa iล'te, bir sonraki yรผrรผtme iรงin en kฤฑsa yรผrรผtme sรผresi seรงilmelidir.
- รok seviyeli planlama yรถntemi hazฤฑr kuyruฤunu รงeลitli ayrฤฑ kuyruklara ayฤฑrฤฑr. Bu yรถntemde iลlemler belirli bir รถzelliฤe gรถre bir kuyruฤa atanฤฑr.
- CPU verimliliฤini artฤฑrmak iรงin zamanlamayฤฑ kullanฤฑr.


