PROGRAM STUDI
TEKNIK INFORMATIKA
Sistem Operasi
Penjadwalan
Proses
Objectives
• Memahami dan menyebutkan jenis-jenis penjadwalan proses
• Dapat menghitung TAT dan AWT proses pada setiap penjadwalan
Latar Belakang
• Pada kasus sistem multiprogramming, sangat memungkinkan beberapa program akan menempati memori utama (RAM) sekaligus.
• Beberapa pertanyaan akan muncul yaitu
• Apakah semuanya akan dijalankan dalam waktu yang bersamaan?
• Kalau tidak, yang mana yang dijalankan terlebih dahulu?
• Jawaban dari pertanyaaan diatas adalah adanya Manajemen/Penjadwalan proses.
• Tujuannya adalah untuk mengatur pelaksanaan eksekusi oleh prosesor untuk setiap proces yang diantrikan sedemikian hingga memenuhi tujuan sistem : rata-rata
response time yang cepat, lebih banyak program dapat diselesaikan (throughput), dan efisiensi Prosesor.
Definisi
• Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja proses dalam
memutuskan mana proses yang harus berjalan, kapan berjalan atau berapa lama proses itu berjalan.
• Sasaran utama penjadwalan proses adalah optimasi kinerja menurut kriteria tertentu, yaitu :
• adil
• efisiensi
• waktu tanggap (response time)
• turn arround time
• throughput
Kriteria Penjadwalan
1. Adil
• Proses-proses diperlakukan sama yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami
starvation.
2. Efisiensi
• Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
• Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi mencapai maksimum.
• Sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
Kriteria Penjadwalan
3. Waktu tanggap (response time)
• Waktu tanggap pada sistem interaktif
• waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar (terminal) disebut terminal response time
• Waktu tanggap pada sistem waktu nyata (real-time)
• waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi disebut event response time
Kriteria Penjadwalan
4. Turn arround time
• waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.
turn arround time = waktu eksekusi + waktu menunggu
• Sasaran penjadwalan adalah meminimalkan turn arround time.
5. Throughput
• jumlah kerja atau jumlah job yang dapat diselesaikan dalam satu unit waktu.
• Lebih tinggi angka throughput, maka lebih banyak kerja yang dilakukan sistem
Tipe Penjadwalan
• Aktivitas penjadwalan dapat dirinci sebagai berikut:
• Long-term scheduling,
• bekerja terhadap antrian batch
• Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat I/O)
• berprioritas rendah
• Medium-term scheduling,
• proses ditunda akibat permintaan layanan masukan/keluaran dengan prioritas lebih tinggi atau memanggil suatu system call.
• Proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain atau disebut swapping
• Proses menunggu sampai keadaan yang mengakibatkan tertunda sudah diselesaikan/dihilangkan
• Short-term scheduling, tugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama.
Strategi Penjadwalan
1. Penjadwalan preemptive
• Proses yang sedang berjalan dapat diinterupsi dan dipindah ke status ready oleh sistem operasi sehingga CPU dapat diambil alih proses yang lain
2. Penjadwalan nonpreemptive
• Proses yang sedang berjalan tidak dapat disela. Sekali proses berada di status running (sedang berjalan), maka proses tersebut akan dieksekusi terus sampai proses berhenti karena selesai atau diblok untuk menunggu I/O atau untuk
meminta beberapa layanan dari sistem operasi; dan CPU tidak dapat diambil alih oleh proses yang lain
• Klasifikasi lain
• Algoritma penjadwalan tanpa prioritas
• Algoritma penjadwalan berprioritas :
Penjadwalan Nonpreemptive
• FIFO
• (First-in, First-out) atau FCFS (First-come, First-serve)
• SJF
• (Shortest Job First)
• HRN
• (Highest – Ratio Next)
Penjadwalan Nonpreemptive
• MFQ
• (Multiple Feedback Queues)
• RR
• (Round Robin)
• SRF
• (Shortest Remaining First)
• PS
• (Priority Schedulling)
• GS
• (Guaranteed Schedulling)
Contoh Perhitungan
• Soal
• Tiga proses (P1, P2 dan P3) tiba dalam saat yang bersamaan (arrival time = 0). Waktu layanan untuk setiap proses secara berurutan adalah 8, 4, 6
• Hitung Turn Around Time (TAT) dan Average Waiting Time (AWT) dari ketiga proses tersebut jika menggunakan Algoritma Penjadwalan FIFO,
Proses Arrival Time Burst Time
P1 0 8
P2 0 4
P3 0 6
Jawab FIFO
• Diketahui
• Jawab
Proses Arrival Time Burst Time
P1 0 8
P2 0 4
P3 0 6
P1=8 P2=4 P3=6
Time 0 8 12 18
• Kondisi yang perlu diperhatikan:
1. Semua proses datang di waktu yang sama
2. Karena fifo, berarti semua punya kesempatan sama
• P1 didahulukan sesuai dengan nama proses
• Karena sifatnya preemtive, maka P1 harus selesai dulu baru berikutnya proses P2
P1=8 P2=4
Time 0 8 12
P1=8
Time 0 8
Gantt Chart
Hitung AWT dan TAT
• Waiting Time (waktu proses – waktu kedatangan)
• P1 = 0 - 0
• P2 = 8 - 0
• P3 = 12 - 0
• Total = 0+8+12 = 20
• Rata-rata = 20/3 = 6,66
• Turn Arround Time (waktu selesai – waktu kedatangan)
• P1 = 8 - 0
• P2 = 12 - 0
• P3 = 18 - 0
• Total = 8+12+18 = 38
• Rata-rata = 38/3 = 12,66
P1=8 P2=4 P3=6
Time 0 8 12 18
Gantt Chart
Proses Arrival Time Burst Time
P1 0 8
P2 0 4
P3 0 6
THANKS
ANY QUESTIONS?