Anda di halaman 1dari 38

Menu Pembuka

• Deskripsi Penjadwalan Proses


• Sasaran Utama Penjadwalan Proses
• Strategi Penjadwalan Proses
• Algoritma Penjadwalan Proses

SO - STIKI Indonesia - 2016


Deskripsi Penjadwalan Proses
• Penjadwalan proses merupakan basis SO multiprogramming.
Dengan mengalih-alihkan pemroses di antara proses-proses
yang ada, SO membuat sistem komputer menjadi lebih
produktif dan efisien.
• Sasaran multiprogramming adalah mempunyai proses yang
berjalan (dieksekusi) di setiap waktu untuk memaksimumkan
utilisasi pemroses.

SO - STIKI Indonesia - 2016


Deskripsi Penjadwalan Proses
• Penjadwalan merupakan kumpulan kebijaksanaan dan
mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer.
• Penjadwalan bertugas memutuskan:
– Proses yang harus berjalan
– Kapan dan selama berapa lama proses itu berjalan

SO - STIKI Indonesia - 2016


Sasaran Utama Penjadwalan Proses
• Sasaran utama penjadwalan proses adalah optimasi kinerja menurut kriteria tertentu, yaitu:
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 (kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk
berjalan). Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan
dari pemroses secara adil.
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.

SO - STIKI Indonesia - 2016


3. Waktu tanggap (response time)
• Waktu tanggap pada sistem interaktif: adalah 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): adalah waktu dari saat kejadian
(internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud
dieksekusi → disebut event response time

SO - STIKI Indonesia - 2016


4. Turn arround time: 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: jumlah kerja atau jumlah job yang dapat diselesaikan dalam satu
unit waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang
diproses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak
kerja yang dilakukan sistem.

SO - STIKI Indonesia - 2016


Strategi Penjadwalan Proses
1. Penjadwalan nonpreemptive (run-to-completion): 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.
2. Penjadwalan preemptive: proses yang sedang berjalan dapat diinterupsi
dan dipindah ke status ready oleh sistem operasi sehingga CPU dapat
diambil alih proses yang lain.

SO - STIKI Indonesia - 2016


Algoritma Penjadwalan Proses
• Algoritma menggunakan strategi nonpreemptive
– FIFO (First-in, First-out) atau FCFS (First-come, First-serve)
– SJF (Shortest Job First)
– HRN (Highest – Ratio Next)
• Algoritma menggunakan strategi preemptive
– MFQ (Multiple Feedback Queues)
– RR (Round Robin)
– SRF (Shortest Remaining First)
– PS (Priority Schedulling)
– GS (Guaranteed Schedulling)
SO - STIKI Indonesia - 2016
Algoritma Penjadwalan Proses Berdasarkan Prioritas

• Klasifikasi lain berdasarkan adanya prioritas di proses-proses tersebut, yaitu:


– Algoritma penjadwalan tanpa prioritas
– Algoritma penjadwalan berprioritas:
• Algoritma penjadwalan berprioritas statik
• Algoritma penjadwalan berprioritas dinamis

SO - STIKI Indonesia - 2016


1. Algoritma Penjadwalan FIFO (First in, First Out)
• Merupakan penjadwalan nonpreemptive dan penjadwalan tidak berprioritas.
• Penjadwalan FIFO adalah penjadwalan paling sederhana, yaitu:
1. Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan
2. 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.

SO - STIKI Indonesia - 2016


Contoh
• 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 :

SO - STIKI Indonesia - 2016


• 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.

SO - STIKI Indonesia - 2016


• Kemudian jika waktu kedatangan proses adalah P3, P2, P1 maka Gantt
Chartnya adalah:

• Dengan urutan kedatangan seperti diatas AWT = (0+3+6)/3 = 3 milidetik

SO - STIKI Indonesia - 2016


• 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.

SO - STIKI Indonesia - 2016


2. Algoritma Penjadwalan SJF (Shortest Job First)

• Algoritma penjadwalan ini jarang digunakan. SJF merupakan


penjadwalan nonpreemptive dan penjadwalan tidak
berprioritas.
• Penjadwalan ini mengasumsikan waktu jalan proses (sampai
selesai) diketahui sebelumnya. Mekanisme penjadwalan adalah
menjadwalkan proses dengan waktu jalan terpendek lebih dulu
sampai selesai.

SO - STIKI Indonesia - 2016


Contoh 1
• Misal terdapat kumpulan proses dengan burst-time sebagai
berikut :

• Gantt Chart :

SO - STIKI Indonesia - 2016


• Dari Gantt Chart dapat diambil nilai waktu tunggu untuk :
– P1 = 3 milidetik
– P2 = 16 milidetik
– P3 = 9 milidetik
– P4 = 0 milidetik
• Jadi AWT yang dihasilkan adalah (3+16+9+0) / 4 = 7
milidetik.

SO - STIKI Indonesia - 2016


Contoh 2
• Menentukan turn around time:

SO - STIKI Indonesia - 2016


Contoh 3
Menentukan AWT untuk SJF non preemptive:

•Gantt Chart algoritma SJF non preemptive :

SO - STIKI Indonesia - 2016


• Dari Gantt Chart dapat diambil nilai waktu tunggu untuk :
– A = 0 milidetik
– B = waktu mulai dilayani – waktu saat tiba = 8-2 = 6 milidetik
– C = waktu mulai dilayani – waktu saat tiba = 7-4 = 3 milidetik
– D = waktu mulai dilayani – waktu saat tiba = 12-5 = 7 milidetik
• Jadi AWT yang dihasilkan adalah (0+6+3+7) / 4 = 4 milidetik.

SO - STIKI Indonesia - 2016


Menentukan AWT untuk SJF preemptive
•Gantt Chart algoritma SJF preemptive :

•Dari Gantt Chart dapat diambil nilai waktu tunggu untuk :


– A = 0 + (11-2) = 9 milidetik
– B = 0 + (5-4) = 1 milidetik
– C = 0 milidetik
– D = 7-5 = 2 milidetik
•Jadi AWT yang dihasilkan adalah (9+1+0+2) / 4 = 3 milidetik.
SO - STIKI Indonesia - 2016
• Menentukan turn around time:

SO - STIKI Indonesia - 2016


Penjadwalan RR (Round Robin)
• Merupakan penjadwalan preemptive, penjadwalan tanpa prioritas. Semua proses
dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta
(quantum) atau time-slice dimana proses itu berjalan.
• Ketentuan algoritma RR :
1. Jika quantum habis dan proses belum selesai maka proses menjadi runnable dan pemroses
dialihkan ke proses lain
2. jika quantum belum habis dan proses menunggu suatu kejadian (selesainya I/O), maka proses
menjadi blocked dan pemroses dialihkan ke proses lain.
3. jika quantum belum habis tapi proses telah selesai maka proses diakhiri dan pemroses dialihkan
ke proses lain.

SO - STIKI Indonesia - 2016


Contoh 1
• Misal kumpulan proses datang pada waktu 0 dengan spesifikasi
:

SO - STIKI Indonesia - 2016


• Jika digunakan quantum time 4 milidetik, maka proses P1
mendapat 4 milidetik yang pertama, 20 milidetik berikutnya
akan disela oleh proses P2 dan P3 secara bergantian, sehingga
Gantt Chart-nya dapat digambarkan sbb:

SO - STIKI Indonesia - 2016


• Waktu tunggu untuk tiap-tiap proses :

• AWT yang terjadi adalah (6+4+7)/3 = 5,66 milidetik

SO - STIKI Indonesia - 2016


Contoh 2
• Menentukan Turn Around Time untuk quantum waktu (q) = 3

SO - STIKI Indonesia - 2016


SO - STIKI Indonesia - 2016
Penjadwalan PS (Priority Schedulling)
• Tiap proses dilengkapi dengan prioritas.
• CPU dialokasikan untuk proses yang memiliki prioritas paling
tinggi.
• Jika beberapa proses memiliki prioritas yang sama, maka akan
digunakan algoritma FIFO.

SO - STIKI Indonesia - 2016


Contoh:
• Jika ada 5 proses P1, P2, P3, P4 dan P5 dengan CPU burst:

• Gantt Chart:

SO - STIKI Indonesia - 2016


• Waktu tunggu untuk tiap-tiap proses:

• Sehingga AWT = (6+0+16+18+1) = 8,2 ms.

SO - STIKI Indonesia - 2016


• Prioritas biasanya menyangkut masalah: waktu, memori yang dibutuhkan,
banyaknya file yang boleh dibuka, dan perbandingan antara rata-rata I/O burst
dengan rata-rata CPU burst.
• Priority schedulling bersifat preemptive atau nonpreemptive. Jika ada proses P1
yang datang pada saat P0 sedang berjalan, maka akan dilihat prioritas P1.
Seandainya prioritas P1 lebih besar dibanding dengan prioritas P0 maka pada non
preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPU burst-nya,
dan meletakkan P1 pada posisi head queue. Sedangkan pada preemptive, P0 akan
dihentikan dulu, dan CPU ganti dialokasikan untuk P1.

SO - STIKI Indonesia - 2016


Menu Penutup
• Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi
yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
• Sasaran utama penjadwalan yaitu: adil, efisiensi, waktu tanggap (response time),
turn arround time, throughput.
• Strategi penjadwalan proses dikelompokkan menjadi dua yaitu penjadwalan
nonpreemptive: proses yang sedang berjalan tidak dapat disela dan penjadwalan
preemptive: proses yang sedang berjalan dapat disela.

SO - STIKI Indonesia - 2016


Bekal Pulang [Tugas 4]
1. Sebutkan dan jelaskan kriteria penjadwalan proses!
2. Jika diketahui 4 proses dengan waktu kedatangan yang tidak sama seperti ditunjukkan pada tabel
berikut:
Prose Urutan Waktu Lama Proses
s Kedatangan Kedatangan (Milidetik)
A 1 0 8
B 2 3 5
C 3 5 2
D 4 6 5

Dengan menggunakan algoritma penjadwalan FIFO (First-in, First-out), tentukan:


a.Waktu tunggu masing-masing proses
b.Waktu tunggu rata-rata proses (AWT)
c.Turn Around Time (TAT)

SO - STIKI Indonesia - 2016


3. Jika diketahui 4 proses dengan waktu kedatangan seperti ditunjukkan pada tabel berikut:

Proses Lama Proses Urutan Kedatangan Waktu Kedatangan


(Milidetik)
P1 8 1 0
P2 5 2 3
P3 2 3 5
Dengan
P4 menggunakan
5 algoritma
4 penjadwalan6
Shortest Job First (SJF) dengan strategi
penjadwalan non preemptive dan preemptive, tentukan:
a.Waktu tunggu masing-masing proses
b.Waktu tunggu rata-rata proses (AWT)
c.Turn Around Time (TAT)

SO - STIKI Indonesia - 2016


4. Lakukan analisis kelemahan dan kelebihan terhadap algoritma penjadwalan FCFS,
RR, SJF, PS berdasarkan kriteria penjadwalan: Adil (fairness), Efisiensi, Waktu
Tanggap (response time), Turn Arrround Time dan Throughput!
5. Lakukan analisis dan pemetaan terhadap algoritma penjadwalan FCFS, RR, SJF,
PS berdasarkan strategi penjadwalan (preemptive, non-preemptive) dan prioritas
penjadwalan (berprioritas dan tanpa prioritas)!

SO - STIKI Indonesia - 2016


Referensi
• Iwan Binanto. 2005. Sistem Operasi. Penerbit Andi Yogyakarta
• Bambang Hariyanto, 2006, Sistem Operasi Revisi Kelima,
Penerbit Informatika

SO - STIKI Indonesia - 2016


SO - STIKI Indonesia - 2016

Anda mungkin juga menyukai