Penjadwalan Proses
Penjadwalan Proses Merupakan kumpulan kebijaksanaan & mekanisme pada SO berkenaan dengan urutan kerja yg dilakukan sistem komputer. Bertugas memutuskan proses yg harus berjalan, kapan, dan selama berapa lama proses itu berjalan. Sasaran utama penjadwalan proses adalah kinerja menurut kriteria yg diajukan Kriteria yang digunakan utk mengukur dan optimasi kinerja penjadwalan: adil (fairness), efisiensi, waktu tanggap (response time), turn arround time, throughput
Tipe-Tipe Penjadwalan Dapat terdapat tiga tipe penjadwalan berada secara bersama- sama pada sistem operasi yg kompleks, yaitu: Penjadwalan jangka pendek, bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Penjadwalan jangka menengah, mengendalikan transisi dari keadaan suspend ke ready proses-proses swapping. Penjadwalan jangka panjang, bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Note: Swapping adalah aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder.
Kriteria Optimasi Kinerja Adil (fairness) Proses2 diberlakukan sama -> mendapat jatah waktu pemroses yg sama & tak ada proses yg tak kebagian layanan pemroses Sasaran: menjamin tiap proses mendapat bagian dari pemroses yg adil Efisiensi Pemroses dihitung dg berapa perbandingan (rasio) waktu sibuk pemroses. Sasaran: menjaga proses agar tetap dalam keadaan sibuk -> efisiensi maksimum Waktu Tanggap (response time) Waktu yg dihabiskan dari saat karakter terakhir dari perintah dimasukkan program sampai hasil pertama yg muncul di layar Sasaran: meminimalkan waktu tanggap Turn Arrround Time Waktu yg dihabiskan dari saat program/job mulai masuk ke sistem sampai proses diselesaikan sistem TA = waktu eksekusi + waktu menunggu Sasaran: meminimalkan turn arround time Throughput Jumlah kerja yg dapat diselesaikan dalam satu unit waktu Sasaran: memaksimalkan jumlah job yang diproses per satu interval waktu Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem
Penjadwalan CPU Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan: Berubah dari running ke waiting state. Berubah dari running ke ready state. Berubah dari waiting ke ready. Terminates.
Algoritma Penjadwalan Proses FIFO (First In First Out) SJF (Shortest Job First)
FIFO -1- Proses yg tiba lebih dahulu akan dilayani lebih dahulu Kalau ada proses tiba pada waktu yg sama, maka pelayanan mereka dilaksanakan melalui urutan mereka dlm antrian Proses di antrian belakang harus menunggu sampai semua proses di depannya selesai.
FIFO -2- Contoh soal 1: Rumus Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E dengan waktu kedatangan semuanya 0. Lama proses berturut- turut antara lain: 5-2-6-8-3. Pertanyaan: Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb? Kapan selesai eksekusinya? Hitung Turn Arround Time (TA)-nya? Berata rata-rata TA? Rumus TA = Waktu Tunggu + Lama Eksekusi Rata-rata TA = ∑TA / ∑Job Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
FIFO -3- Nama Proses Waktu Tiba Lama Eksekusi A 5 B 2 C 6 D 8 E 3 Jawaban: Nama Proses Waktu Tiba Lama Eksekusi A 5 B 2 C 6 D 8 E 3
FIFO -4- A 5 B 2 7 C 6 13 D 8 21 E 3 24 ∑TA = 70 rata2 TA = 14 Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Waktu Tunggu Selesai Eksekusi TA A 5 B 2 7 C 6 13 D 8 21 E 3 24 ∑TA = 70 rata2 TA = 14
FIFO -5- Rumus Contoh Soal 2: Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D- E dengan waktu kedatangan semuanya 0-1-2-2-5. Lama proses berturut-turut antara lain: 5-2-6-8-3. Pertanyaan: Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb? Kapan selesai eksekusinya? Hitung Turn Arround Time (TA)-nya? Berata rerata TA? Rumus TA = Waktu Tunggu + Lama Eksekusi Rerata TA = ∑TA / ∑Job Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
FIFO -6- Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi Waktu Tunggu TA A 5 B 1 2 7 4 6 C 13 11 D 8 21 19 E 3 24 16 ∑TA = 60 Rerata = 12
FIFO -7- Berdasarkan kriteria penilaian penjadwalan: Fairness Penjadwalan FIFO adil dalam arti semantiks (dalam arti antrian) Efesiensi Penjadwalan FIFO sangat efisien dalam penggunaan pemroses Waktu Tanggap Penjadwalan sgt tidak memuaskan, karena proses dpt menunggu lama Turn Arround Time Penjadwalan FIFO tidak bagus Throughput Penjadwalan FIFO tidak bagus.
SJF -1- Dasar prioritas adalah pendeknya proses. Makin pendek/singkat proses makin tinggi prioritasnya Langkah I: tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani Langkah II: penentuan proses mana yg dilayani oleh pemroses
SJF -2- Nama Proses Waktu Tiba Lama Eksekusi A 10 B 5 C 7 D 1 E 3 Contoh Soal 1: Nama Proses Waktu Tiba Lama Eksekusi A 10 B 5 C 7 D 1 E 3
SJF -3- Nama Proses Waktu Tiba Lama Eksekusi D 1 E 3 B 5 C 7 A 10
SJF -4- D 1 E 3 4 B 5 9 C 7 16 A 10 26 ∑TA = 56 rata2 TA = 11,2 Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi TA D 1 E 3 4 B 5 9 C 7 16 A 10 26 ∑TA = 56 rata2 TA = 11,2
SJF -5- Nama Proses Lama Eksekusi Waktu Tiba D 1 E 3 2 B 5 C 7 A 10 9
SJF -6- D 1 E 2 3 5 B 10 C 7 17 A 9 27 8 18 ∑TA = 37 Rerata = 7,4 Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi Waktu Tunggu TA D 1 E 2 3 5 B 10 C 7 17 A 9 27 8 18 ∑TA = 37 Rerata = 7,4