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