Penjadwalan Proses


Penjadwalan Proses
•Pengertian dan Sasaran Penjadwalan Proses  
Tipe Penjadwalan
•Strategi penjadwalan
• Algoritma-algoritma Penjadwalan  (setelah UTS)

Pengertian dan Sasaran Penjadwalan Proses  

Penjadwalan proses merupakan kumpulan kebijakan dan mekanisme di sistem operasiyang berkaitan dengan urutan kerja yang dilakukan sistem komputer. 
Adapun penjadwalan bertugas memutuskan :
  a. Proses yang harus berjalan  b. Kapan dan selama berapa lama proses itu berjalan

Kriteria untuk mengukur dan optimasi kinerja penjadwalan :

A.Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
B. Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
C. Waktu tanggap (response time)
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar.
D. Turn around 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 penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu :
Turn arround time = waktu eksekusi + waktu menunggu.
E. 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.
Kriteria-kriteria tersebut saling bergantung dan dapat pula saling bertentangan, sehingga tidak dimungkinkan optimasi semua kriteria secara simultan.
Contoh : untuk memberi waktu tanggap kecil memerlukan penjadwalan yang sering beralih antara proses-proses itu, cara ini meningkatkan overhead sistem dan mengurangi throughput. Oleh karena itu dalam menentukan kebijaksanaan perancangan penjadwalan sebaiknya melibatkan kompromi diantara kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini bergantung sifat dan penggunaan sistem komputer.
Sasaran penjadwalan berdasarkan kriteria-kriteria optimasi tersebut :

•Menjamin tiap proses mendapat pelayanan dari pemroses yang adil.
Menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi  mencapai maksimum. Pengertian sibuk adalah pemroses tidak menganggur,  termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
•Meminimalkan waktu tanggap.
•Meminimalkan turn arround time.
•Memaksimalkan jumlah job yang diproses persatu interval waktu. Lebih besar angka throughput, lebih banyak kerja yang dilakukan sistem.

TYPE PENJADWALAN

Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
1.Penjadwal jangka pendek (short term scheduler)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama.  Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
2. Penjadwal jangka menengah (medium term scheduller)
    Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat berlanjut sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan.
Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. 
3. Penjadwal jangka panjang (long term scheduller)
    Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas  job-job interaktif rendah.

STRATEGI PENJADWALAN

Terdapat dua strategi penjadwalan, yaitu :
1. Penjadwalan nonpreemptive (run to completion)
   Proses diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Penjadwalan Non preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.
Penjadwalan Non Preemptive terjadi ketika proses hanya: 
   •Berjalan dari running state sampai waiting state.
   •Dihentikan.
2. Penjadwalan preemptive
    Proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alih proses lain, sehingga proses diinterup sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu dan juga membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses.
Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan: 
Berubah dari running ke waiting state.
Berubah dari running ke ready state.
Berubah dari waiting ke ready state.
Dihentikan.


Tidak ada komentar:

Posting Komentar