Penjadwalan Sistem Operasi

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.