folder Tahribat.com Forumları
linefolder Programlama Genel
linefolder Operating System Process Scheduling( İşlem Zamanı Hesaplama)



Operating System Process Scheduling( İşlem Zamanı Hesaplama)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ILKER06
    ILKER06's avatar
    Kayıt Tarihi: 15/Ağustos/2005
    Erkek

    ı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


    Hayattaki en güzel şeyler : Ya kanun dışı, ya ahlak dışı ya da şişmanlatıcıdır.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ShyRain
    ShyRain's avatar
    Kayıt Tarihi: 01/Nisan/2007
    Erkek

    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 :)))))))


    Computer Engineer/SyStem Analyst/ Coder ShyRain
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ILKER06
    ILKER06's avatar
    Kayıt Tarihi: 15/Ağustos/2005
    Erkek

    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


    Hayattaki en güzel şeyler : Ya kanun dışı, ya ahlak dışı ya da şişmanlatıcıdır.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ShyRain
    ShyRain's avatar
    Kayıt Tarihi: 01/Nisan/2007
    Erkek

    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 :))


    Computer Engineer/SyStem Analyst/ Coder ShyRain
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ILKER06
    ILKER06's avatar
    Kayıt Tarihi: 15/Ağustos/2005
    Erkek

    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


    Hayattaki en güzel şeyler : Ya kanun dışı, ya ahlak dışı ya da şişmanlatıcıdır.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tugberk
    Tugberk's avatar
    Kayıt Tarihi: 04/Ekim/2009
    Erkek

    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.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ILKER06
    ILKER06's avatar
    Kayıt Tarihi: 15/Ağustos/2005
    Erkek

    tugberk kardesım saolasın acıklamıssın bu kısımlar oke de  hesaplama kısımlarında sorun yasıyodum


    Hayattaki en güzel şeyler : Ya kanun dışı, ya ahlak dışı ya da şişmanlatıcıdır.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    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

    http://img97.imageshack.us/img97/8438/fcfs.png

    İ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ı:

    http://img21.imageshack.us/img21/270/fcfs2.png

    Processlerin geliş sırası ve çalışma zamanları önemli anlayacağın.


    Sen hiç kaval çaldın mı?
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ILKER06
    ILKER06's avatar
    Kayıt Tarihi: 15/Ağustos/2005
    Erkek

    short job schedulıng hesabı falan sorundu onuda halletım saolasın arkadaslar


    Hayattaki en güzel şeyler : Ya kanun dışı, ya ahlak dışı ya da şişmanlatıcıdır.
Toplam Hit: 3311 Toplam Mesaj: 9