Penjadwalan merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer. Penjadwalan adalah fungsi dasar dari sistem
operasi. Semua resources pada komputer dijadwalkan sebelum digunakan.
Penjadwalan bertugas untuk memutuskan proses yang harus berjalan serta kapan
dan selama berapa lama proses itu berjalan.
Penjadwalan CPU adalah pemilihan
proses dari ready queue untuk dapat dieksekusi. Proses yang belum
mendapatkan jatah alokasi dari CPU akan mengantri di ready queue. Oleh
sebab itu algoritma penjadwalan diperlukan untuk
mengatur giliran proses-proses
tersebut. Beberapa algoritma penjadwalan seperti: FCFS (First Come First
Serve), SJF (Shortest Job First), Priority, dan Round
Robin.
Preemptive Shortest Job First ( PSJF )
Preemptive
Shortest Job First
(PSJF) disebut juga sebagai Shortest Remaining Time First. PSJF
merupakan penjadwalan dengan prioritas dan dengan preempsi. Prioritas
didasarkan kepada pendeknya sisa proses. Makin pendek sisa proses makin tinggi
prioritasnya. Selanjutnya dengan ketentuan ini, ketika tiba, proses terpendek
di bagian belakang antrian tidak saja berpindah ke bagian depan antrian,
melainkan juga melalui preempsi, mengeluarkan proses yang pada saat itu berada
di dalam proses (jika ada).
Pada PSJF, jika ada proses
yang sedang dieksekusi oleh CPU dan terdapat proses di ready queue
dengan burst time yang lebih kecil daripada proses yang sedang
dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan
digantikan oleh proses yang berada di ready queue tersebut. Beberapa
istilah yang akan sering muncul :
- Process : Urutan proses yang akan dilakukan
- Arrival Time : Waktu kedatangan dari proses yang akan dilakukan
- Average Turn Around Time : Rata-rata waktu total yg dibutuhkan sebuah proses dari datang sampai selesai dieksekusi oleh CPU
- Burst Time: Waktu yg dibutuhkan untuk mengeksekusi sebuah proses
- Average Waiting Time: Rata-rata waktu yang dihabiskan proses selama berada pada status ready ( menunggu eksekusi CPU )
Digunakan dua langkah untuk melihat
pelaksanaan penjadwalan ini. Langkah pertama: setiap kali,
perhatikan saat proses tiba atau saat proses rampung. Langkah kedua:
hitung lama sisa proses dari semua proses yang ada pada saat itu. Kalau ada
proses dengan sisa proses yang lebih pendek dari sisa proses pada proses yang
sedang dikerjakan, maka atas dasar preempsi, proses yang sedang dikerjakan itu
dikeluarkan dari prosesor. Dan sebagai gantinya, proses dengan sisa terpendek
itulah yang dikerjakan oleh prosesor.
Di sini muncul pertanyaan. Bagaimana
jika proses yang tiba berikut itu memiliki lama proses yang sama dengan sisa
proses pada proses yang sudah ada. Apakah preempsi terjadi juga? Jika lama
proses atau sisa proses adalah sama, maka perlakuan diatur berdasarkan urutan
antrian yang ada.
Misalnya ada 2 buah proses yang
datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst
time 10 ms, P2 dengan arrival time pada 2.0 ms dan burst time
2 ms.
Process
|
Arrival Time
|
Burst Time
|
P1
|
0.0
|
10
|
P2
|
2.0
|
2
|
waiting
time PSJF nya :
P1 = 0 + ( 4 ms – 2 ms ) = 2 ms
P2 = 0
Average
waiting time : (2 ms + 0
ms ) / 2 = 2 ms
Average
turn around : (12 ms
+ 0 ) / 2 = 12 ms
Tabel
Solusi
Process
|
Arrival Time
|
Burst Time
|
Waktu
Mulai
|
Waktu selesai
|
Waiting Time
|
Turn Around
|
|
P1
|
0
|
10
|
0
|
12
|
2
|
12
|
|
P2
|
2
|
2
|
0
|
4
|
0
|
0
|
|
Average
|
2
|
12
|
Tidak ada komentar:
Posting Komentar