Penjadwalan Proses

By Seika生花 - November 25, 2020

Apa itu Penjadwalan Proses ?

Penjadwalan merupakan kumpulan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan:

  • Proses yang harus berjalan
  • Kapan dan selama berapa lama proses itu berjalan

Sasaran Penjadwalan Proses

Sasaran utama penjadwalan proses adalah Optimasi kinerja sistem komputer menurut kriteria tertentu. Kriteria untuk mengukur dan optimasi kinerja penjadwalan yaitu:

Adil (fairness), proses diperlakukan sama yaitu mendapat jatah pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami startvation. Sasaran penjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses yang adil.

Efisiensi, Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses. Sasaran penjadwalan menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi mencapai maksimum.

Waktu Tanggap (Response Time)

Waktu tanggap berbeda untuk:

- Sistem Interaktif

Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil terakhir muncul di layar (terminal). Waktu tanggap ini disebut juga terminal rensponse time.

- Sistem waktu nyata

Pada sistem waktu nyata (real-time), waktu tanggap didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut juga event response time. Sasaran penjadwalan adalah meminimalkan waktu tanggapnya.

Turn Arround Time

Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlahan waktu eksekusi (waktu pelayanan job) dan waktu menunggu. Turn arround time = waktu eksekusi + waktu menungg. Sasaran penjadwalan adalah meminimalkan turn arround time.

Throughput

Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu.

Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem.

Tipe-tipe Penjadwalan

Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:

Penjadwalan Jangka Pendek

Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama.

Sasaran utama penjadwalan ini memaksimumkan kinerja untuk memenuh satu  kumpulan kriteria yang diharapkan. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya  yang harus dijalankan.

Penjadwalan jangka menengah

Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan I/O atau memanggil suatu system call. Agar ruang memori bermanfaat, maka proses dipindahkan dari memori utama ke memori skunder agar tersedia ruang untuk proses-proses lain

Aktivitas pemindahan proses yang ditunda dari memori utama ke memori sekunder disebut swapping.

Penjadwal jangka menengah:

  • Menangani proses-proses swapping
  • Mengendalikan transisi dari suspended-to-ready proses-proses swapping

Begitu penyebab tertunda hilang maka proses dimasukan kembali ke memori utama dan ready.

Penjadwalan jangka Panjang

Penjadwalan jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus di eksekusi.

Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan atau keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktifitas job-job interaktif rendah.

Sasaran utama penjadwalan jangka panjang adalah memberi keseimbangan job-job campuran.

Strategi Penjadwalan

Terdapat 2 strategi penjadwalan, yaitu:

- Penjadwalan nonpreemptive (run-to-completion)

Begitu proses diberi jatah layanan pemroses aka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Non-preemptive juga disebut run-to-completion karena proses yang telah dijadwalkan akan dijalankan sampai selesainya atau proses tersebut meminta layanan masukan/keluaran.

- Penjadwalan preemptive

Saat proses diberi jatah layanan pemroses maka pemroses dapat diambil alih proses lain yang mempunyai prioritas lebih tinggi berdasarkan kriteria sistem itu. Pada penjadwalan preemptive, proses dapat disela oleh proses lain sebelumnya selesainya dan harus dilanjutkan menunggu jatah waktu layanan pemroses tiba kembali pada proses itu. Proses yang disela berubah menjadi state Ready.

Algoritma-algoritma Penjadwalan

ada banyak algoritma penjadwalan, diantaranya yaitu :

Penjadwalan Round Robin (RR)

Penjadwalan Round Robin merupakan :

Penjadwalan Preemptive, namun proses tidak di-preempt secara langsung oleh proses lain, namun oleh penjadwal berdasarkan lama waktu berjalannya suatu proses. Maka penjadwalan ini disebut preempt-by-time

Penjadwalan tanpa prioritas, semua proses dianggap penting dan diberi jumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice tempat proses tsb berjalan. Proses berjalan selama 1 kwanta, kemudian penjadwal akan mengalihkan kepada proses berikutnya juga untuk berjalan satu kwanta, begitu seterusnya sampai kembali pada proses pertama dan berulang.

Ketentuan algoritma round robin adalah sebagai berikut:

- Jika kwanta habis dan proses belum selesai maka proses Runing menjadi Ready dan pemroses dialihkan ke proses lain

- Jika kwanta belum habis dan proses menunggu suatu kejadian (misalnya menunggu selesainya suatu operasi I/O), maka proses Running menjadi Blocked dan pemroses dialihkan ke proses lain.

- Jika kwanta belum habis tapi proses telah selesai maka proses Running itu diakhiri dan pemroses dialihkan ke proses lain

Algoritma penjadwalan ini dapat diimplementasi sebagai :

- Sistem mengelola senarai proses Ready sesuai urutan kedatangannya

- Sistem mengambil proses yang berada di ujung depan antrian Ready menjadi Running

- Bila kwanta belum habis dan proses selesai maka sistem mengambil proses di ujung depan antrian proses Ready

- Jika kwanta habis dan proses belum selesai maka ditempatkan proses Running ke ekor antrian proses Ready dan sistem mengambil proses di ujung depan antrian proses Ready

Masalah penjadwalan ini adalah dalam hal menentukan besar kwanta, yaitu :

- Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah

- Kwanta terlalu kecil mengakibatkan peralihan proses terlalu banyak sehingga menurunkan efisiensi pemroses

Harus diterapkan besar kwanta waktu yang optimal berdasarkan kebutuhan sistem, terutama dari hasil percobaan atau data historis dari sistem. Besar kwanta waktu beragam yang bergantung beban sistem.

Berdasarkan kriteria penilaian penjadwalan :

- Fairness, penjadwalan RR adil bila dipandang dari persamaan pelayanan oleh pemroses

- Efisiensi, penjadwalan ini cenderung efisien pada sistem interatif

- Respons Time(waktu tanggap), penjadwalan ini memuaskan untuk sistem interaktif, tidak memadai untuk sistem waktu nyata.Turn arround Time, penjadwalan RR cukup bagus

- Throughput, penjadwlan RR cukup bagus

Penjadwalan FIFO

Penjadwalan FIFO merupakan :

- Penjadwalan non preemptive (run-to-completion)

- Penjadwalan tidak berprioritas

Penjadwal FIFO adalah penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu :

- Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu kedatangan proses-proses itu ke sistem.

- Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.

Penjadwalan ini dikatakan adil dalam arti resmi, tapi dikatakan tidak adil karena proses yang memerlukan waktu lama membuat proses pendek menunggu. Proses tidak penting dapat membuat proses penting menjadi menunggu.

FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya keputusan berdasarkan prioritas proses, sedangkan untuk proses berprioritas sama diputuskan berdasarkan FIFO.

Berdasarkan kriteria penilaian penjadwalan :

- Fairness, penjadwalan FIFO adil dalam arti resmi

- Efisiensi, FIFO sangat efisien dalam penggunaan pemroses

- Waktu tanggap, penjadwalan sangat tidak memuaskan karena proses dapat menunggu lama. Tidak cocok untuk sistem interaktifTurn arround time, penjadwalan FIFO tidak bagus

- Throughput, penjadwalan FIFO tidak bagus.

  • Share:

You Might Also Like

0 comments