Scedhuling (Penjadwalan)
Scedhuling merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer. Adapun penjadwalan bertugas memutuskan :
ü Proses yang harus berjalan
ü Kapan dan selama berapa lama proses itu berjalan.
Kriteria untuk mengukur dan optimasi
kinerje penjadwalan :
ü 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.
ü Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses
dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
ü Waktu tanggap (response time)
Waktu tanggap berbeda untuk :
1. Sistem interaktif
Didefinisikan sebagai waktu yang
dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi
sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal
response time.
2. Sistem waktu nyata
Didefinisikan sebagai waktu dari
saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan
yang dimaksud dieksekusi, disebut event response time.
ü 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.
ü 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 ke 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 :
a. Menjamin tiap proses mendapat
pelayanan dari pemroses yang adil.
b. 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.
c. Meminimalkan waktu tanggap.
d. Meminimalkan turn arround time.
e. Memaksimalkan jumlah job yang
diproses persatu interval waktu. Lebih besar angka throughput, lebih banyak
kerja yang dilakukan sistem.
Tipe Penjadwalan
Terdapat 3 tipe penjadwal berada
secara bersama-sama pada sistem operasi yang kompleks, yaitu:
1. Penjadwal
jangka pendek (short term scheduller)
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 membuat suatu kemajuan menuju selesai 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. Kapasitas memori utama terbatas untuk sejumlah proses
aktif.
Aktivitas pemindahan proses yang
tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses
mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi,
begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke
memori utama dan ready.
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.
Sasaran penjadwalan berdasarkan
tipe-tipe penjadwalan :
a. Memaksimumkan kinerja untuk memenuhi
satu kumpulan kriteria yang diharapkan.
b. Mengendalikan transisi dari
suspended to ready (keadaan suspend ke ready) dari proses-proses swapping.
c. Memberi keseimbangan job-job
campuran.
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.
2. Penjadwalan
preemptive
Proses diberi jatah waktu oleh
pemroses, maka pemroses dapat diambil alih proses lain, sehingga proses disela
sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba
kembali pada proses itu. Berguna pada sistem dimana proses-proses yang mendapat
perhatian/tanggapan pemroses secara cepat, misalnya :
a. Pada sistem realtime, kehilangan
interupsi (tidak layani segera) dapat berakibat fatal.
b. Pada sistem interaktif, agar dapat
menjamin waktu tanggap yang memadai.
Penjadwalan secara preemptive baik tetapi harus
dibayar mahal. Peralihan proses memerlukan overhead (banyak tabel yang
dikelola). Supaya efektif, banyak proses harus berada di memori utama sehingga
proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak
proses tak running benar-benar di memori utama merupakan suatu overhead
tersendiri
Komentar
Posting Komentar