

Operating System Process Scheduling( İşlem Zamanı Hesaplama)
-
ıyı gunler herkese oncelıkle sorun yukarda baslıkta belirttigim gıbı arkadaslar bu dersı alıyorum ve bu hesaplamaları bı anlamadım gıttı :S cok arastırdım gerek Turkce gerek Ingılızce kaynaklara ama duzgun bı anlatım bulamadım mesela bu hesaplamalarda First in first served olayı var ılk gıren ılk cıkar tmm onun hesabını anlamadım ama short job fırs ( kısa ıslem ılk cıkar) ve round robın ıslemceı hesaplamalarını anlamadım bılen bılgısı olan bı anlatabılrıse cok sevınırım yada kaynak verebılırse falan super olr
-
Sana babanın yapmayaağı kıyağı yapıyorum otur iyi çalış yüksek al :))
Daha da kaynak bulamıyorum dersen Allah seni bildiği gibi yapsın :))
http://www.enf.mu.edu.tr/ders_notlari/enf150.htm
http://www.eee.metu.edu.tr/~vision/LectureNotes/EE442/
http://www.eee.metu.edu.tr/~halici/courses/442/
http://people.csail.mit.edu/rinard/osnotes/
http://web.itu.edu.tr/~bkurt/Courses/os/
http://www.ceng.metu.edu.tr/~genc/334/
http://www.cse.buffalo.edu/~bina/cse421/
http://eng.harran.edu.tr/~nbesli/OS/OS.htm
Bak hem türkçeler hemde ingilizceleri var
burda olmayan bilgi yok hem şu an istediklerin hemde o dersin full notları var burda..
Şanslı günündesin :))))))) -
valla allahına gurban hocaam hemen cekıp bakem banada bole bıse lazım dı eyw saolasın cok aradım ama duzgun dıse dolgun bıse bulamadım :S
-
Benim kendi birikimim yok şu neymiş diye aratırken birşey buldum,
bunu nerden çalışırım derken başka birini buldum 2,3 aylık bir birikim diyebilirim zaman içinde birikmiş,
Kendi sık kullanılanlarımdan tek tek ekledim buraya alıntı falan değil yani...
Daha dün hepsine göz atmıştım hepsi sağlam :))
-
ewet hocam bende yavas yavas hepsını somurmeye cekmeye basladım okul baglantısında :D nete gıremıyorum zar zor actım cvp ıcın burayı :D
-
Firs come first served ile round robin birlikte çalışır. FCFS algoritmasına göre processler bir listede (genelde bir linked list) tutulur ve ilk process head node olur. Yeni bir process başlatıldığında listenin sonuna eklenir ve zamanlamaya dahil edilir. Bu FCFS.
Round robin ise, (robin hood dan geliyor ismi) tüm processlere eşit işlemci zamanı ayıran algoritmadır, aslında scheduler process tabanlı değil thread tabanlı çalışır ancak anlatım basit olsun diye process diyelim.
Listenin başındaki processden itibaren tüm processler, kuanta süresi kadar (20-100 ms) çalıştırılır ve bu sürenin sonunda processin tüm bilgileri kendi TSS yapısına kaydedilir, sıradaki processin TSS yapısından bilgiler alınır, yazmaçlara yüklenir, ve sıradaki process kuanta süresi kadar çalışmaya başlar. Bu böyle bir döngü (round) içinde gider sürekli.
Yeni bir process eklendiğinde çember genişler, mesela 10 process varken, her process e sıra çok hızlı bir şekilde gelirken 100 process varken tüm processlere sıra çok yavaş gelir, bu durumda kullanıcı sistemin yavaşladığını düşünür çünkü programlar çok geç yanıt verir.
Ayrıca windows ve unix like sistemlerde de tüm processler linked list de tutulur. Windows da processler arasında dolaşmak için şu fonksiyonlar kullanılır. Process32First ile ilk node elde edilir ve her dönüşte Process32Next çağırılarak sonraki processe erişilir.
Short job first algoritmasının kullanım alanı olduğunu bilmiyorum, tüm processlerin ne kadar işlemci zamanı tüketeceği öncelikle hesaplanır ve en kısa olanlar ilk çalıştırılır, ayrıca bu algoritmanın kullanıldığı sistemde işlemcinin non preemptive olduğunu anlamışsındır heralde.
Round robin in çalıştığı sistemde işlemci preemptive (ele geçiren) dir, bunun anlamı, eğer bir process in çalışma süresi (kuanta) dolmuşsa , işlemci o process i durdurur ve ilklemeler yapıldıktan sonra sıradaki process e geçer.
Peki bunu nasıl yapar. Sistem zamanlayıcı devresi (timer) öncelikle belirli bir kuanta süresine ayarlanır (100 ms diyelim). Bu şu demektir, timer her 100 ms de bir IRQ (interrupt request) yani kesme isteği gerçeleştirir.
İşletim sistemini yazan kişi bu IRQ u handle etmekle yükümlüdür. Ancak timer i process scheduling için kullanmak zorunda değildir. Pekala handler fonksiyonu ekrana "selam" yazan bir fonksiyonda olabilirdi, bu durumda , her 100 ms de timer IRQ isteğinde bulunurdu, dolayısıyla bir interrupt oluşturulurdu, bu interrupt un handle fonksiyonu çalıştırılırdı, ve ekrana selam yazılırdı.
Ancak tüm sistemlerde timer , gereksiz işler için değil process ler arasında geçiş sağlamak için kullanılır. 100 ms de bir timer IRQ gerçekleştirir, bu kesme isteği IRQ devresi tarafından bir donanım kesmesine dönüştürülür , kesme gerçekleşince doğal olarak işlemci çalıştırdığı kodu bırakıp kesme ile ilgilenir, yani interrupt handler fonksiyonu ile. interrupt handler(scheduler) ise, işlemcinin kesmeden önce çalıştırdığı process i kaldırır ve yerine bir sonraki process i ayarlar.
Böylece kesme bittikten sonra işlemci eski koddan değil yeni process in kodundan çalışmaya devam eder, böylece process ler arası geçiş başarıyla sağlanmış olur.
-
tugberk kardesım saolasın acıklamıssın bu kısımlar oke de hesaplama kısımlarında sorun yasıyodum
-
First come first served olayında pek bi zorluk yok ki hoca.
Non-preemtive (kesintisiz) bir algoritmadır. Peki non-preemtive algoritma ne demek? Process çalışması için seçilir. Kendi kodunda bulunan bi I/O isteği ile blocklanana kadar ya da kendi isteği ile CPU'yu terkedene kadar çalışır, diğer processler onu blocklayamaz.
Zamanlama algoritmaları arasında en basit olanıdır. (Kitaplar böyle diyor.)Processler istek sıralarına göre CPU'da çalışırlar. Yani ilk kim geldiyse CPU'yu o alıyor. Geldiklerinde CPU meşgulse bir kuyruğa ekleniyorlar, sırası gelen CPU'yu alıyor. Yukarda kendi I/O kodu ya da kendi isteği ile blocklanırsa da tekrar ready duruma geldiğinde yeni bir process gibi davranıp kuyruğun sonuna geçer, sırası geldiğinde kaldığı yerden devam eder.
Örneğin 3 tane process olsun; P1, P2, P3 ve bu sırayla çalışmak için gelsinler. Şu aşağıdaki görsele bir bakalım

İlk gelen işini bitirene kadar diğerleri bekleyecek, o çıkınca sırayla girecekler. Ama sıra P1, P2, P3 olarak değil de P2, P3, P1 olarak gelseydi o zaman çalışma grafiği ve bekleme zamanları şöyle olacaktı:

Processlerin geliş sırası ve çalışma zamanları önemli anlayacağın.
-
short job schedulıng hesabı falan sorundu onuda halletım saolasın arkadaslar