Pertemuan 9,10,11
Oleh:
No Hp:
Email:
Pengertian Penjadwalan
Pengertian
Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di
sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem
komputer
Pengertian Penjadwalan (lanj)
Adapun penjadwalan bertugas memutuskan:
1. Proses yang harus berjalan
2. Kapan dan berapa lama proses itu berjalan
Sasaran Penjadwalan
Kriteria-kriteria yang digunakan sebagai sasaran penjadwalan, meliputi:
Adil (fairness)
Efisiensi (eficiency)
Waktu tanggap (response time)
• Sistem interaktif
• Sistem waktu nyata
Turn around time
Throughput
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.
Sasaran penjadwalan:
Menjamin setiap proses mendapat pelayanan dari pemroses secara adil.
Efisiensi (eficiency)
Sasaran penjadwalan:
• Menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi sistem
komputer mencapai maksimum.
Waktu tanggap (response time)
Waktu tanggap dalam Sistem Interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir
perintah dimasukkan
Atau transaksi sampai hasil pertama muncul di layar (terminal). Waktu tanggap
ini disebut terminal response time.
Waktu tanggap dalam Sistem waktu nyata (real time)
Didefinisikan sebagai waktu dari saat kemunculan suatu kejadian sampai
instruksi layanan rutin pertama terhadap kejadian yang dieksekusi, disebut
event respons time.
Sasaran penjadwalan pada kriteria ini adalah meminimalkan waktu tanggap
sehingga menghasilkan system yang reponsif
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.
Sasaran Penjadwalan:
Memaksimalkan jumlah job yang diproses persatu interval waktu.
Lebih besar angka throughput, lebih banyak kerja yang dilakukan sistem.
Tipe Penjadwalan (1)
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi
yang kompleks, yaitu:
1. Penjadwal jangka pendek (short term scheduller)
2. Penjadwal jangka menengah (medium term scheduller)
3. Penjadwal jangka panjang (long term scheduller)
Tipe Penjadwalan (2)
Penjadwalan jangka pendek (short-termscheduller)
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara
proses-proses ready di memori utama.
Penjadwalan jangka menengah (medium termscheduller )
Penjadwalan jangka menengah adalah menangani proses-proses
swapping (aktivitas pemindahan proses yang tertunda dari memory
utama ke memory sekunder).
Penjadwalan jangka panjang (long-termscheduller)
Penjadwalan jangka panjang bekerja terhadap antrian batch (proses –
proses dengan penggunaan sumberdaya yang intensif) dan memilih
batch berikutnya yang harus di eksekusi.
Penjadwal jangka pendek (short term scheduller)
Digunakan untuk memilih diantara proses-proses yang siap dieksekusi.
kemudian proses tersebut salah satunya dialokasikan ke CPU
Short term scheduler juga digunakan untuk memilih proses baru untuk CPU
Dan memilih proses berikutnya yang harus dijalankan.
Penjadwal jangka menengah (medium term scheduller)
Proses-proses yang mempunyai kepentingan kecil saat itu sebagai proses yang
tertunda ataupun tertunda karena memuat layanan I/O atau memanggil
sekumpulan layanan
Aktivitas pemindahan proses yang tertunda dari memori utama ke memori
sekunder disebut swapping
Begitu kondisi yang membuatnya tertunda hilang, proses dimasukkan kembali
ke memori utama dan ready
Penjadwal jangka menengah (medium term scheduller)
Penjadwal jangka panjang (long term scheduller)
Long term scheduller menentukan program mana yang diakui pada sistem
untuk diproses, kapan dan mana yang harus dikeluarkan
Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya
yang harus dieksekusi
Penjadwal jangka panjang (long term scheduller)
Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang
intensif (yaitu waktu pemroses, memori, perangkat input/output)
1. Nonpreemptive
FCFS (First Come First Serve)
SJF (Shortest Job First)
HRN (Highest Ratio Next)
MFQ (Multiple Feedback Queues)
Algoritma Penjadwalan
2. Nonpreemptive
RR (Round Robin)
SRF (Shortest Remaining First)
PS (Priority Schedulling)
GS (Guaranteed Schedulling)
Penjadwalan FIFO (First In First Out)
Merupakan penjadwalan nonpreemptive dan penjadwalan tidak berprioritas. Penjadwalan FIFO adalah
penjadwalan paling sederhana, yaitu :
• Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan
• Saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai
Penjadwalan ini adil yaitu proses yang datang duluan, dilayani duluan juga. Dikatakan tidak adil karena
job-job yang perlu waktu lama membuat job-job pendek menunggu. Job-job tak penting dapat membuat
job-job penting menunggu.
Contoh Soal:
Jika diketahui 5 macam antrian proses yaitu : A-B-C-D-E dengan waktu kedatangan semuanya 0 dan
prosesor sedang tidak aktif (PP=0), lama proses berturut-turut antara lain 5,2,6,8,3.
Penjadwalan FIFO (First In First Out)
Penjadwalan FIFO (First In First Out)
Terlihat lama tanggap : 14 Nilai ini cukup besar bila dibanding lama proses masing2. Contoh diatas tidak
disertai waktu tiba. Berikut ini adalah contoh dengan waktu tiba yang berbeda:
1
3
5
10
Dari Gantt Chart dapat diambil kesimpulan waktu tunggu untuk P1 adalah 0 milidetik,
waktu tunggu untuk P2 adalah 24 milidetik, waktu tunggu P3 adalah 27 milidetik. Jadi
rata-rata waktu tunggu (Average Waiting Time / AWT) adalah (0+24+27)/3 = 17
milidetik.
Kemudian jika waktu kedatangan proses adalah P3, P2, P1 maka Gantt Chartnya adalah
Penjadwalan FIFO (First In First Out)
Turn around time (waktu penyelesaian) P1 adalah 24, P2 = 27, P3 = 30, maka rata-rata turn around time =
(24+27+30)/3 = 27 milidetik.
Penjadwalan Shortest Job First (SJF)
Penjadwalan dengan tipe prioritas tanpa
preeemptive.
• Dasar prioritasnya adalah pendeknya proses.
• Makin pendek prosesnya makin tinggi
prioritasnya.
Lama Eksekusi
Dimulai dari lama
eksekusi terendah.
Waktu tiba = sama (0)
Penjadwalan Shortest Job First (SJF)
Short Job First Scheduling (SJF)
Cara Penyelesaian Lain
Proses yang memiliki CPU burst paling kecil
Waktu tunggu untuk tiap-tiap
dilayani terlebih dahulu
proses
Misal ada 4 proses : P1, P2, P3 dan P4
Proses Burst Time (ms) Proses Waiting Time (ms)
P1 6 P1 3
P2 8 P2 16
P3 7
P3 9
P4 3
P4 0
Gant Chart
AWT = (3+16+9+0)/4
P4 P1 P3 P2
= 7 ms
0 3 9 16 24
29
Latihan
1. Diketahui 6 antrian proses yaitu : A-B-C-D-E-F dengan waktu kedatangan semuanya
0, dengan keadaan prosesor sedang tidak aktif (PP=0), lama proses 6 digit akhir no
hp anda Menggunakan FIFO
2. Diketahui 6 antrian proses yaitu : A-B-C-D-E-F dengan waktu kedatangan 6 digit
awal no hp anda, dengan keadaan prosesor sedang tidak aktif (PP=0), lama proses 6
digit akhir no hp anda Menggunakan FIFO
3. Diketahui 6 antrian proses yaitu : P-Q-R-S-T-U dengan waktu kedatangan semuanya
0 dan prosesor sedang tidak aktif (PP=0), lama proses berturut-turut antara lain
6,9,1,5,7,2 (Menggunakan SJF).
4. Diketahui 6 antrian proses yaitu : E-F-G-H-I-J dengan waktu kedatangan berturut-
turut 0,2,3,5,7,9 dan prosesor sedang tidak aktif (PP=0), lama proses berturut-turut
antara lain 1,5,7,9,10,12 (Menggunakan SJF).
C. Priority Scheduling
CPU dialokasikan untuk proses yang memiliki prioritas
tertinggi
Jika beberapa proses memiliki prioritas yang sama maka
akan digunakan algortima FCFS
Dapat bersifat preemptive maupun non preemptive
31
Gant Chart
P2 P5 P1 P3 P4
0 1 6 16 18 19
33
0 4 7 10 14 18 22 26 30
Terima kasih