terdapat
3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks,
yaitu:
a. Penjadwal
jangka pendek (short term
scheduller)
Bertugas
menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama.
Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk memilih
proses berikutnya yang harus dijalankan.
b. 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 dimasukkan kembali ke memori utama dan ready.
c. Penjadwal
jangka panjang (long term
scheduller)
Penjadwalan
ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus
dieksekusi. Batch biasanya berupa proses-proses dengan penggunaan sumber daya
yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program
ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama
periode aktivitas job-job interaktif rendah.
Meskipun
tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun adakalanya
proses-proses tersebut butuh untuk saling berinteraksi. Satu proses bisa dibangkitkan
dari output proses lainnya sebagai input. Pada saat proses dieksekusi, akan
terjadi perubahan status. Status proses didefiniskan sebagai bagian dari
aktivitas proses yang sedang berlangsung saat itu. Gambar 3.1 dibawah,
ditunjukkan diagram status proses. Status proses terdiri dari :
a.
New, proses sedang dibuat.
b.
Running, proses sedang dieksekusi.
c.
Waiting, proses sedang menunggu beberapa event yang
akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).
d.
Ready, proses menunggu jatah waktu dari CPU untuk
diproses.
e.
Terminated, proses telah selesai dieksekusi.
No comments:
Post a Comment