Jumat, 10 April 2015

PSJF ( PREEMPTIVE SHORTEST JOB FIRST)


Untuk melihat  video presentasi kami, klik link berikut PRESENTASI PSJF


Pendahuluan


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