Kamis, 06 Oktober 2011

Penjadwalan proses


Penjadwalan proses
Prinsip-prinsip penjadwalan
                                            Keadilan: tiap proses mendapatkan alokasi CPU yang adil
                                            Efisiensi: penggunaan CPU semaksimal mungkin
                                            Waktu respons: minimal
                                            Waktu tunggu: minimal
                                            Throughput: maksimisasi pemrosesan proses
                      Strategi penjadwalan
                                            Run to completion
                                            Preemptive
                      Teknik Round Robin
                                            List proses
                                            Semua proses memiliki hak yang sama
                                            Tiap proses dialokasikan sepotong selang waktu (quantum) utk eksekusi
                                            Jika dalam 1 quantum eksekusi belum selesai ® dikeluarkan dari status aktifnya (preempted)
                                            Selanjutnya proses tsb ditempatkan di akhir list
                                            Eksekusi berlanjut dng proses pd antrian pertama
                                             
          Penjadwalan dengan prioritas
        Memasukkan unsur prioritas proses
        Tiap proses memiliki prioritas tertentu, dan penjadwalannya menurut urutan prioritasnya
        Sering diimplementasikan dengan kelas-kelas prioritas dan teknik round robin
        Prioritas proses diturunkan selama eksekusi dilakukan ® supaya proses dng prioritas rendah memiliki kesempatan dieksekusi juga
        Contoh penjadwalan dng prioritas
          Proses dng prioritas pertama diekseskusi selama 1 quantum, prioritas kedua selama 2 quantum, prioritas ketiga 4 kuantum, dst.
          Setelah eksekusi menghabiskan n quantum yg dialokasikan, proses diturunkan ke prioritas berikutnya
          Proses sepanjang 100 quantum memerlukan 7x pergantian (swap) saja
          Teknik Pengutamaan Proses Tercepat
        Cocok untuk batch job dng waktu eksekusi yg diketahui sebelumnya
        Menempatkan proses-proses pendek pada urutan awal
        Memperpendek waktu tunggu
        Optimal untuk proses-proses yg sudah “siap” dieksekusi
          Penjadwalan berbasis pemakai
        Jika ada n pemakai pd satu saat ttt, maka tiap orang akan menerima 1/n alokasi CPU
        Perlu informasi:
          Brp banyak waktu CPU yg telah dikonsumsi seorang pemakai sejak login ® x
          Brp lama pemakai ybs login ke sistem ® y
        “Jatah” pemakai z = y/n, dan rasio antara jatah dng kenyataan r = z/x
        Penjadwalan mengikuti nilai r: proses-proses milik pemakai dengan nilai r yg lebih rendah dieksekusi dahulu

Deadlock
          Deadlock: sekumpulan proses yg menunggu event yg hanya bisa dimunculkan oleh salah satu dr proses anggota
        Tidak ada proses yg bisa berlanjut, melepaskan resources, atau diaktifkan kembali
        Berawal dari situasi supply resources lebih kecil drpd demand
          Empat kondisi pemicu deadlock
        Kondisi mutual exclusion. Sebuah resource sdg digunakan oleh 1 proses, atau sdg bebas
        Kondisi hold and wait. Proses-proses yg sdg memakai resources diijinkan meminta resources baru
        Kondisi non-preemptive. Resource yg sdg digunakan hanya bisa dilepaskan oleh proses yg memakainya (pelepas-an tdk bisa dipaksa oleh pihak lain)
        Kondisi circular wait. Ada rantai dr 2 atau lebih proses, msg-msg menunggu resource yg dikuasai proses berikutnya dalam rantai tsb.
          Pemodelan penggunaan resource
        A menguasai resource R   A           R
        Menggunakan graf alokasi resource
        A meminta resource R      A           R
        Dpt digunakan utk analisis deadlock
          Strategi dlm menghadapi deadlock
        Abaikan saja ® algoritma “onta” (prinsip pragmatisme)
        Pendeteksian dan pemulihan
        Pencegahan, dng cara menegasikan kondisi-kondisi pemicu
        Menghindari, dng cara alokasi resource scr hati-hati
          Algoritma onta (Ostrich algorithm)
        Pragmatisme, perbandingan antara usaha utk menghilangkan deadlock dng akibat yg ditimbulkannya
          Pendeteksian dan pemulihan
        Monitoring request dan release dr resources, menganalisis graf alokasi resources utk mendeteksi deadlock
        Rantai deadlock diputus dng mengorbankan 1 atau lebih proses
          Pencegahan deadlock
        Negasi 4 kondisi pemicu
        Kondisi mutual exclusion ?
          Resource bisa digunakan oleh lebih dr satu proses
        Kondisi hold and wait ?
          Proses yg sdg menguasai sbh resource tidak diijinkan utk meminta resource yg lain
          Kebutuhan resource sering bersifat dinamis
          Menyebabkan alokasi resource tdk efisien
        Kondisi non-preemptive ?
          Memungkinkan resource dilepas scr paksa
          Dapat mengacaukan operasi (e.g., printing)
        Kondisi rantai tunggu (circular wait) ?
          Alternatif yg paling mungkin ditempuh
          Dengan penomoran resource, akses diijinkan dng mengikuti urutan tertentu
          Menghindari deadlock
        Alokasi resource scr hati-hati
        Algoritma banker
          Alokasi resource selalu memperhatikan kemungkinan ke depan (next state)
          Kebutuhan ke depan satu atau lebih proses harus selalu dapat dipenuhi oleh resource yg tersedia saat ini

Tidak ada komentar:

Posting Komentar