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