Dokumen ini membahas tentang penjadwalan proses pada sistem operasi. Penjadwalan proses bertugas untuk memastikan proses berjalan pada waktu dan lama yang tepat serta mengoptimalkan kinerja sistem berdasarkan kriteria tertentu seperti keadilan, efisiensi, waktu tanggap, turn around time, dan throughput. Dokumen ini juga menjelaskan konsep multiprogramming dan time-sharing serta status dan antrian proses.
2. Penjadwalan Proses
• Deskripsi
• Kumpulan kebijaksaanaan dan mekanisme di sistem
operasi yang berkaitan dengan urutan kerja yang
dilakukan sistem komputer
• Tugas :
• Memastikan proses harus berjalan
• Kapan dan berapa lama proses berjalan
• Sasaran Utama
• Optimasi kinerja sistem komputer menurut kriteria
tertentu
3. • Apakah tujuan dari multiprogramming?
• “Maximize” pemakaian CPU secara efisien (jadwal dan
giliran pemakaian CPU).
=> CPU digunakan oleh proses-proses terus menerus
• Apakah tujuan dari “time-sharing”?
• Pemakaian CPU dapat di switch dari satu proses ke
proses lain (concurrent process execution)
=> sesering mungkin, user dapat berinteraksi dengan
sistem
• Bagaimana jika sistem prosesor tunggal?
• “Hanya ada satu proses yang dapat dijalankan”
• Proses lain menunggu sampai CPU dapat dijadwalkan
(schedule) ke proses tsb
Penjadwalan Proses
4. • Proses dapat berubah status dan berpindah dari satu antrian ke
antrian yang lain
• Proses dengan status “ready” berada di ReadyQueue
• Menunggu giliran/dipilih oleh scheduler => menggunakan
CPU
• Selama eksekusi (status “run”) events yang dapat terjadi:
• I/O request => I/O wait berada pada DeviceQueue
• Create “child” proses => Jalankan proses “child”, tunggu
sampai proses selesai (wait)
• Time slice expired => Waktu pemakaian CPU habis,
interrupt oleh scheduler, proses akan berpindah ke
ReadyQueue
Penjadwalan Proses
6. Penjadwalan Proses
• Kriteria untuk mengukur dan optimasi kinerja
penjadwalan
• Adil (fairness)
• Efisiensi
• Waktu tanggap (response time)
• Turn around time
• Throughputt
7. Penjadwalan Proses
• Adil (Fairness)
• Proses-proses diberlakukan sama, mendapatkan jatah
waktu layanan pemroses yang sama dan tidak ada yang
tidak kebagian layananan pemroses sehingga mengalami
STARVATION (proses tidak pernah berjalan karena tidak
dijadwalkan untuk berjalan)
• Sasaran
• Menjamin setiap proses mendapat pelayanan dari
pemroses secara adil
8. Penjadwalan Proses
• Efisiensi
• Perbandingan waktu sibuk pemroses dengan total waktu
operasi sistem komputer secara keseluruhan
• Sasaran
• Menjaga agar pemroses tetap dalam keadaan sibuk
sehingga efisiensi sistem komputer mencapai nilai
maksimum
9. Penjadwalan Proses
• Waktu tanggap (Response Time)
• Waktu tanggap sistem interaktif (terminal response time)
• Waktu yang dihabiskan dari saat karakter terakhir
perintah dimasukkan oleh program atau transaksi
sampai hasil pertama muncul diperangkat masukan
keluaran seperti layar (terminal).
• Waktu tanggap pada sistem waktu nyata (event response
time)
• Waktu dari saat kemunculan suatu kejadian (internal
atau eksternal) sampai instruksi pertama rutin layanan
terhadap kejadian dieksekusi
• Sasaran
• Meminimalkan waktu tanggap sehingga menghasilkan
sistem yang resonsif
10. Penjadwalan Proses
• Turn Arround Time
• Waktu yang dihabiskan dari saat proses atau job mulai
masuk kedalam sistem sampai proses tersebut
diselesaikan oleh sistem
Turn arround time = waktu eksekusi + waktu menunggu
• Sasaran
• Meminimalkan turn arround time
11. Penjadwalan Proses
• Throughput
• Jumlah kerja yang dapat diselesaikan selama satu
selang/unit waktu
• Sasaran
• Memaksimalkan jumlah job /proses yang dilayani per
satu interval tertentu, lebih tinggi angka throughput
maka lebih banyak kerja yang dilakukan oleh sistem