Kamis, 08 Mei 2014

Algorithma Penjadwalan CPU

Maaf sebelumnya ini adalah tugas mandiri yang diberikan kepada masing-masing dari kami untuk dikerjakan dan dishare di blog kami masing-masing, jadi ini tidak sepenuhnya juga adalah hasil jeripaya kasaya sendiri, tetapi saya hanya membagi ilmu ini yang di ambil dari beberapa sumber dan atau dari blog lain yang telah membagi ilmu ini dari sumber yang lain juga.

nah....Di artikel ini akan membahas tentang Algoritma Penjadwalan CPU. Saya meminta maaf apabila ada penulisan yang kurang berkenan.  Semoga artikel ini dapat membantu dan bermanfaat bagi pembaca untuk lebih menambah ilmu. Amin.

1. First Come First Serve (FCFS)

Adalah Proses yg meminta CPU duluan yg dialokasikan CPU duluan
·         Disebut juga FIFO
·         Non-preemptive
·         Digunakan pada sistem batch
·         Analogi dunia nyata: restoran cepat saji
·         Implementasi: antrian FIFO
§  Proses baru memasuki belakang antrian
§  Scheduler memilih dari depan antrian
·         Metrik performansi: waktu tunggu rata-rata
·         Parameter:Burst time (dlm ms), waktu dan urutan kedatangan

FCFS : Masalah
·         Non-preemptive
·         AWT tidak optimal
·         Tidak bisa menggunakan sumberdaya secara paralel:
§  Asumsi: 1 proses CPU-bounded dan banyak proses I/O-bounded
§  Hasil: Convoy effect, utilisasi CPU dan perangkat I/O sangat rendah

Link Videonya: http://www.youtube.com/watch?v=FiGKndlvO8I

2. Shortest Job First (SJF)
·         Dahulukan job dengan waktu eksekusi tersingkat
·         Digunakan pada sistem batch
·         Ada 2 tipe:
§  Non-preemptive
§   Preemptive
·         Kebutuhan: waktu eksekusi harus diketahui terlebih dahulu
·         Optimal jika semua job tersedia pada waktu yg sama
·         Memberikan waktu tunggu rata-rata terbaik
Masalah pada SJF
·         Starvation
·         Pada kondisi tertentu, suatu job mungkin tidak pernah menyelesaikan eksekusinya
·         Contoh:
·         Proses A dgn elapse time 1 jam tiba pd waktu 0. Namun, pd waktu yg sama dan setiap 1 menit berikutnya tiba proses singkat dgn elapse time 2 menit.
·          Hasilnya: A tidak pernah mendapat jataheksekusi
Link Video : http://www.youtube.com/watch?v=u9VOokHuXIA

3. Penjadwalan Prioritas
·         Tiap proses diberi prioritas
·         Penjadwalan FCFS within each priority level.
·         Proses dgn prioritas lebih tinggi dijadwalkan duluan
§  Preemptive
§  Non-preemptive
·         Masalah:
§  Mungkin tidak menghasilkan waktu tunggu ratarata yg baik
§  Dpt menyebabkan infinite blocking atau starvation pd proses dgn prioritas rendah
Penentuan Prioritas
·         Ada 2 pendekatan:
§  Statis (untuk sistem dgn perilaku aplikasi yg teratur dan telah diketahui)
§  Dinamis (sebaliknya)
·         Prioritas dpt ditentukan berdasarkan:
§  Biaya terhadap user
§  Tingkat kepentingan user
§  Umur proses (aging)
§   % waktu CPU yg telah digunakan pd x jam terakhir

Link Video : http://www.youtube.com/watch?v=c-DuS9iYkWc 
4. Round Robin
·         Tiap proses memperoleh alokasi waktu CPU dlm kuantum waktu, biasanya 10-100 ms
·         Setelah kuantum waktu lewat, proses dipreempted dan dimasukkan ke belakang antrian ready
·         Jika ada n proses pd antrian ready dan kuantum waktu=q, maka:
§  Pada gilirannya tiap proses memperoleh 1/n waktu CPU selama q
§  Tidak ada proses yg menunuggu lebih dari (n-1)q unit waktu
·         Performansi:
§  q besar FIFO
§  q kecil overhead utk context switch sangat besar

Tidak ada komentar:

Posting Komentar