You are on page 1of 34

Fakultas Ilmu Komputer

Defri Kurniawan, M.Kom

Penjadwalan Proses I
Materi

 Deskripsi penjadwalan
 Kriteria pengukuran penjadwalan
 Tipe-tipe penjadwalan
 Strategi Penjadwalan
 Algoritma Penjadwalan (FIFO, SJF)
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:

1. Adil (fairness)
2. Efisiensi (eficiency)
3. Waktu tanggap (response time)
• Sistem interaktif
• Sistem waktu nyata
4. Turn around time
5. Throughput
1. 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.
2. Efisiensi (eficiency)
• Efisiensi atau utilisasi pemroses dihitung dengan
perbandingan (rasio) waktu sibuk pemroses
• Keadaan sibuk berarti pemroses tidak
menganggur.
• Layanan pemroses termasuk waktu yang
dihabiskan untuk mengeksekusi program pemakai
dan layanan sistem operasi

Sasaran penjadwalan:
• Menjaga agar pemroses tetap dalam keadaan
sibuk sehingga efisiensi sistem komputer
3. 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.
3. Waktu tanggap (response time)
Sasaran penjadwalan pada kriteria ini adalah
meminimalkan waktu tanggap sehingga
menghasilkan system yang reponsif
4. 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.

 Turn arround time = waktu eksekusi + waktu


menunggu.
 Sasaran Penjadwalan adalah meminimalkan turn
arround time
5. Throughput
 Adalah jumlah kerja yang dapat diselesaikan dalam
satu unit waktu.
 Cara untuk mengekspresikan throughput adalah
dengan jumlah job pemakai yang dapat dieksekusi
dalam satu unit/interval waktu

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
Penjadwal jangka menengah (medium
term scheduller)
 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)

 Program-program ini berprioritas rendah,


digunakan sebagai pengisi (agar pemroses
sibuk) selama periode aktivitas job-job
interaktif rendah.
Tipe-tipe Penjadwalan
Strategi Penjadwalan
1. Penjadwalan non-preemptive (run to
completion)
Proses diberi jatah waktu oleh pemroses dan
pemroses tidak dapat diambil alih oleh proses lain
sampai proses itu selesai
2. Penjadwalan preemptive
Proses diberi jatah waktu oleh pemroses dan
pemroses dapat diambil alih proses lain. Sehingga
proses disela sebelum selesai dan harus
dilanjutkan menunggu jatah waktu pemroses tiba
kembali pada proses itu
Algoritma Penjadwalan
Berikut jenis-jenis algoritma berdasarkan
penjadwalan
1. Nonpreemptive
2. Preemtive

Klasifikasi lain berdasarkan adanya prioritas di


proses-proses, yaitu :
1. Algoritma penjadwalan tanpa berprioritas
2. Algoritma penjadwalan berprioritas
Algoritma Penjadwalan
1. Nonpreemptive
 FIFO (First In First Out) atau 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 Non Preemtive
Penjadwalan FIFO (First In First Out) [1]
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) [2]
Penjadwalan FIFO (First In First Out) [3]
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:


Penjadwalan FIFO (First In First Out) [4]

Selesai Eksekusi = Mulai Eksekusi + Lama Eksekusi

TA = Selesai Eksekusi - Total Waktu Tiba


Penjadwalan FIFO (First In First Out) [5]
Cara lain untuk mengerjakan
Misal ada tiga proses P1, P2, P3 yang
datang dengan lama waktu kerja CPU (CPU
Burst-time) masing-masing sbb :
Jika proses datang dengan urutan P1, P2, P3
dan dilayani dengan algoritma FIFO maka
dapat digambarkan Gantt Chart-nya :

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) [5]
Menentukan Turn Around Time dengan FIFO berdasarkan contoh diatas :

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) [1]

Penjadwalan dengan tipe prioritas tanpa


preeemptive.
• Dasar prioritasnya adalah pendeknya proses.
• Makin pendek prosesnya makin tinggi
prioritasnya.

Waktu tiba =
sama (0)
Penjadwalan Shortest Job First (SJF) [2]
TUGAS

1. Diketahui 10 antrian proses yaitu : A-B-C-D-E-F-G-H-I-J dengan


waktu kedatangan semuanya 0 dan prosesor sedang tidak aktif
(PP=0), lama proses berturut-turut antara lain 8,5,4,10,3,9,2,1,7,8
(Menggunakan FIFO).
2. Diketahui 7 antrian proses yaitu : P-Q-R-S-T-U-V dengan waktu
kedatangan semuanya 0 dan prosesor sedang tidak aktif (PP=0),
lama proses berturut-turut antara lain 6,9,1,5,7,7,2 (Menggunakan
SJF).
3. Diketahui 5 antrian proses yaitu : P-Q-R-S-T dengan waktu
kedatangan berturut-turut 0,1,3,5,8 dan prosesor sedang tidak
aktif (PP=0), lama proses berturut-turut antara lain 8,5,4,10,3
(Menggunakan FIFO).
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).

You might also like