Upload
annisa-icca-dwinuri
View
219
Download
0
Embed Size (px)
Citation preview
7/23/2019 Penjadwalan Sistem Operasi
1/2
Windows menggunakan beberapa algoritma untuk sistem penjadwalan proses-prosesnya, yaitu
Penjadwalan First-in, First-out (FIFO), Penjadwalan Round-Robin (RR), Penjadwalan
Berprioritas/Priority Scheduling (PS), dan Multiple-Feedback Queues (MFQ).
Penjadwalan FIFO bersifat non-preemptive dan tidak berprioritas. Algoritma ini memiliki ciri[7]:
Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain.
Penjadwalan RR bersifat pre-emptive berdasarkan lama waktu berjalannya proses (preempt-by-
time). Sejumlah proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut
quantum atau time-slice dimana proses itu berjalan.
Ketentuan algoritma RR adalah sebagai berikut[8]:
Jika quantum habis dan proses belum selesai, maka proses ditunda dan status proses menjadi
runnable, pemrosesan dialihkan ke proses lain.
Jika quantum belum habis tapi proses telah selesai, maka proses diakhiri dan pemrosesan langsung
dialihkan ke proses lain tanpa menunggu quantum habis.
Algoritma penjadwalan ini dapat diimplementasikan sebagai berikut
Mengelola proses yang ready sesuai urutan kedatangan.
Ambil proses yang berada di ujung depan antrian menjadi running.
Bila quantum belum habis dan proses selesai, maka ambil proses di ujung depan antrian proses
yang siap dieksekusi.
Jika quantum habis dan proses belum selesai maka tempatkan proses running ke ekor antrian
proses yang siap dieksekusi dan ambil proses di ujung depan antrian proses yang siap dieksekusi.
Besar quantum sangat tergantung pada arstektur prosesor, dalam penelitian ini arsitektur prosesor
yang digunakan adalah X86 family yang menggunakan 1 clock interval = 10 millisecond dan jumlah
quantum pada Windows yang digunakan adalah 12 quantum, dimana 3 quantum = 1 clockinterval[5], sehingga besar quantum adalah: 12 quantum = 3 quantum x 4 = 10 x 4 = 40 millisecond
Pada penjadwalan PS, tiap proses diberi prioritas. Proses berprioritas tertinggi (running) mendapat
jatah waktu pemroses. Prioritas bersifat statis (tidak berubah). Keunggulannya mudah
diimplementasikan dan mempunyai overhead relatif kecil.
Penjadwalan MFQ merupakan pengembangan dari penjadwalan PS dengan semua proses yang
memiliki prioritas sama disimpan pada satu antrian sehingga jumlah antrian sama dengan jumlah
dari prioritas. Penjadwal mulai mengeksekusi proses yang ada pada antrian yang berprioritas
tertinggi, kemudian dilanjutkan ke antrian berprioritas satu tingkat lebih rendah dari sebelumnya
dan seterusnya. Ketika memilih antrian dengan prioritas tertinggi dulu, berlaku algoritma PS.
7/23/2019 Penjadwalan Sistem Operasi
2/2
Macam-macam penjadwalan pada sistem operasi
Long term scheduler
Menentukan proses apa saja yang dapat dijalankan pada sistem dan tingkat concurrency harus
didukung pada suatu waktu (apakah proses yang tinggi atau proses yang rendah yang harusdijalankan, dan bagaimana pemisahan antara I/O dan proses CPU ditangani. Dalam Sistem Operasi
modern, long term scheduler ini digunakan untuk memastikan bahwa proses real time CPU
mendapatkan waktu yang cukup untuk menyelesaikan tugas-tugasnya. Tanpa penjadwalan real time
yang tepat, Graphical User Interface (GUI) modern akan terasa lamban. Penjadwalan jangka
panjang juga penting dalam system skala besar seperti sistembatch processing, cluster komputer,
dan superkomputer. Long-term scheduler mengontrol degree of multiprogramming (jumlah proses
dalam memori). Jika degree of multiprogramming stabil, maka tingkat rata-rata penciptaan proses
harus sama dengan tingkat rata data proses meninggalkan sistem. Maka dari itu long-term
scheduler mungkin dipanggil hanya ketika suatu proses meninggalkan sistem. Karena interval yang
lebih panjang antara eksekusi, long-term scheduler dapat menggunakan waktu yang lebih lama
untuk menentukan proses mana yang harus dipilih untuk dieksekusi.
Medium Term Scheduler
Dapat memutuskan untuk menukar proses yang belum aktif untuk beberapa waktu, atau proses
yang memiliki prioritas rendah, atau proses yang mengambil sejumlah besar memori untuk
menjalankan proses lainnya.
Short Term Scheduler
Dikenal juga sebagai CPU scheduler memutuskan proses mana yang siap untuk dieksekusi
(dialokasikan CPU) selanjutnya setelah interupsi Input / Output, panggilan system operasi atau
sinyal lainnya. Jadi, scheduler jangka pendek membuat penjadwalan keputusan jauh lebih sering dari
pada penjadwalan jangka panjang (Long term scheduler) atau jangka menengah (mid term
scheduler). Scheduler ini bias mengirimkan pesan terlebih dahulu bahwa scheduler mampu
menghapus proses secara paksa dari CPU untuk mengalokasikan proses lain pada CPU. Dalam
kebanyakan kasus penjadwal jangka pendek ditulis dalam assembler karena merupakan bagian
penting dari system operasi. Short-term scheduler harus memilih proses baru untuk CPU sesering
mungkin. Sebuah proses dapat mengeksekusi hanya dalam beberapa milidetik sebelum menunggu
permintaan I/O. Seringkali, short-term scheduler mengeksekusi paling sedikit sekali setiap 100
milidetik. Karena durasi waktu yang pendek antara eksekusi-eksekusi tersebut, short-term scheduler
seharusnya cepat. Jika memerlukan waktu 10 mili detik untuk menentukan suatu proses eksekusi
selama 100 mili detik, maka 10/(100 + 10) = 9 persen dari CPU sedang digunakan (atau terbuang)
hanya untuk pekerjaan penjadwalan.