2. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Definisi Scheduling
• Secara Etimologi berarti ”penjadwalan”.
• Dalam dunia komputer, scheduling adalah sebuah metoda
dimana thread, proses dan alur data diberi akses ke sumber
daya sistem (waktu prosesor, bandwidth komunikasi, dll).
• Scheduling bertujuan untuk melakuan load balancing
(pendistribusian beban antar sumber daya yang tersedia)
dan saling berbagi sumber daya sistem secara efektif.
• Kebutuhan akan algoritma scheduling berangkat dari
kebutuhan sistem operasi moderen untuk melakuka
multitasking dan multiplexing (mengirimkan banyak arus
data secara bersamaan melalui satu kanal fisik).
3. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Fokus Scheduler
• Throughput. Total jumlah proses yang berhasil
diselesaikan berdasarkan unit waktu tertentu.
• Latency. Total waktu antara penyerahan proses hingga
penyelesaian proses.
• Response time. Waktu yang dibutuhkan semenjak proses
diserahkan hinggal proses dijadwalkan (untuk diselesaikan).
• Fairness. Kesetaraan masing-masing proses untuk
mendapatkan CPU time.
• Waiting time. Total waktu proses berada dalam keadaan
menunggu untuk diselesaikan setelah dijadwalkan.
4. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Penjadwalan Antrian (Queue)
Sistem Operasi memiliki dua buat mekanisme antrian (queue)
yaitu:
• Job Queue, antrian pekerjaan / proses.
• Device Queue, antrian perangkat (device) / I/O.
• Setiap prangkat memiliki device queue nya sendiri.
• Ketika sebuah proses diserahkan kepada sistem (proses
eksekusi), maka proses tersebut akan berada pada job
queue.
6. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Penjadwalan Proses
Proses yang berada pada antrian job akan berada pada antrian
”Ready Queue”. Scheduler akan mengalokasikan CPU kepada
proses tersebut. Ketika proses dieksekusi, kejadian berikut ini
dapat terjadi:
• Proses mengajukan permintaan I/O dan akan berada pada
Device Queue.
• Proses dapat membuat subproses baru dan menunggu
hingga sub proses berakhir.
• Proses dapat dikeluarkan secara paksa dari CPU akibat
interupsi dan diletakkan kembali ke ready queue.
8. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Tipe Penjadwalan (Scheduling) Sistem Operasi
Sistem operasi menggunakan tiga tipe penjadwalan yang
berbeda yaitu:
• Long-term Scheduler.
• Mid-term / Medium-term Scheduler.
• Long term Scheduler.
Penjadwal sistem operasi adalah sebuah modul yang akan
memilih job berikutya yang akan dijalankan.
9. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Penjadwal (Scheduler)
• Long-term Scheduler.
Long-term scheduler menentukan job / proses mana yang
diizinkan untuk dieksekusi oleh sistem.
• Short-term Scheduler.
Short-term scheduler dikenal juga sebagai CPU scheduler
menentukan proses (yang telah berada pada antrian Ready
Queue) mana yang akan dieksekusi setelah diterimanya
sinyal seperti sinyal time interrupt, I/O interrupt atau
System Call.
• Mid-term Scheduler.
Mid-term scheduler menentukan proses mana yang akan
di-swap.
10. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Proses Swapping
Swapping adalah memindahkan proses dari memori utama
(RAM) ke memori sekunder (Harddisk) apa bila proses tersebut
tidak aktif untuk waktu tertentu, atau apabila proses tersebut
memiliki prioritas yang rendah. Tujuan swapping adalah untuk
menjamin ketersediaan memori bagi proses lain yang sedang
membutuhkan.
11. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Context Switch
• Context Switch adalah mekanisme menyimpan dan
mengambil kembali status keadaan (state) atau context
CPU dari Process Control Block (PCB) sehingga eksekusi
sebuah proses dapata dilanjutkan kembali (resume) dari
titik terakhirnya.
• Teknik ini memungkinkan banyak proses dapat saling
berbagi satu CPU.
• Context switching adalah bagian penting dari sistem
operasi multitasking.
12. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Prinsip Kerja Context Switching
Ketika scheduler mengalihkan aktifitas CPU pada sebuah proses
ke proses lainnya, context switcher menyimpan data semua
register prosesor ke dalam Process Control Block (PCB).
Data yang telah disimpan akan diambil kembali dari PCB
apabila proses bersangkutan akan di-resume.
13. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Prinsip Kerja Context Switching
Informasi yang disimpan oleh context switcher:
• Program counter.
• Informasi penjadwalan.
• Nilai base dan limit register.
• Register yang sedang digunakan.
• Keadaan yang diubah.
• Keadaan I/O.
• Perhitungan lainnya.
14. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Algoritma Penjadwalan
• FCFS (First Come, First Serve).
Algoritma ini akan menjadwalkan proses sesuai dengan
waktu kedatangannya pada Ready Queue.
• Round Robin Scheduling.
Algoritma Round Robin bekerja dengan cara memberikan
time slice kepada setiap proses dalam jumlah yang sama.
Pendekatan ini memberikan keadilan bagi setiap proses.
Contoh: Slot waktu yang diberikan adalah 100ms. Jika
proses1 membutuhkan 250ms untuk selesai, maka Round
Robin akan menunda eksekusi proses1 setelah 100ms dan
eksekusi dilanjutkan pada proses berikutnya dalam waktu
100ms. Proses1 akan dilanjutkan kembali setelah semua
proses mendapatkan 100ms yang sama dan aktifitas ini
diulang kembali hingga seluruh proses selesai dieksekusi.
15. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Algoritma Penjadwalan
• Shortest Job First (SJF).
SJF merupakan algoritma penjadwalan yang
memprioritaskan proses / job dengan waktu eksekusi
terpendek. Algoritma ini memberikan kontribusi pada
throughput karena banyak proses / job yang dapat
diselesaikan pada selang waktu tertentu.
• Shortest Remaining Time First.
Algoritma ini memilih proses yang memiliki sisa waktu
eksekusi paling sedikit untuk dieksekusi terlebih dahulu.
Dengan algoritma ini, proses dengan proses / job dengan
waktu terpendek akan diselesakan dengan lebih cepat.
16. Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Algoritma Penjadwalan
• Multilevel Feedback Queues (MLFQ).
MLFQ bekerja dengan cara memperbolehkan proses
berpindah antar antrian. Algortma akan memilih proses
dengan prioritas tertinggi untuk dieksekusi, jika proses
tersebut mengkonsumsi terlalu banyak sumber daya CPU,
maka proses tersebut akan dipindahkan ke antrian dengan
prioritas yang lebih rendah. Proses yang sedang menunggu
(prioritas lebih rendah), otomatis akan naik ke antrian
dengan prioritas lebih tinggi.
• Lottery Scheduling.
Algoritma penjadwalan ini menggunakan pendekatan
probabilistik. Setiap proses diberikan tiket yang akan
diundi oleh scheduler. Proses yang terpilih akan dieksekusi
lebih dahulu.