Pengertian Shortest Job First

Kamis, 07 Mei 2015

Nama : Mohammad Apryan Suhendra
Kelas : 2CB
NIM  : 061430700539
Mata Kuliah  : Sistem Operasi


Pengertian Shortest Job First

SJF (Shortest - Job - First) adalah Penggabungan setiap proses merupakan panjang dari brust CPU berikutnya. Panjang tersebut digunakan untuk penjadwalan proses pada waktu terpendek.

Terdapat 2 skema
1.      Nonpreemptive (harus diselesaikan)
Cpu hanya sekali diberikan pda suatu proses. maka proses tsb tetap memakai cpu hingga proses tsb melepaskannya.

1.      Preemptive (bisa berhenti di tengah jalan)

Contoh :
Process
Arrival Time
Burst Time
P1
0.0
7
P2
2.0
4
P3
4.0
1
P4
5.0
4

 SJF (Non-preemptive)
|===========|===|=====|=====|
               7        12          16
P1                 p3   p2       p4

Waiting time

P1 = 0
P3 = 7 - 4 = 3 (dilihat arrival time)
P2 = 8 - 2 = 6 (dieksekusi mulai waktu ke-8 tapi datang pada waktu ke-2)
P4 = 12 - 5 = 7 (dieksekusi mulai waktu ke-12 tapi datang waktu ke-5)
Average waiting time

0 + 6 + 3 + 7 / 4 = 16/4 = 4



**** SJF (Preemptive) ****
|====|====|===|=====|=========|=========|
              11      16
 p1    p2    p3 p2    p4     p1

pada waktu 0 P1 dieksekusi, burst time = 7
pada waktu 2 P2 datang, burst time 4; P1 masih sisa 5 >> di run yg kecil dulu (P2) pada waktu 4 P3 datang, burst time 1; P2 masih sisa 2 >> di run yg kecil dulu (P3)

* waiting time
P1 = 0 + 9 (9 berasal P1 di run 11 datang 2)
     = 9
P2 = 0 + 1 (1 berasal P2 di run 5 datang 4)
     = 1
P3 = 0 (datang wktu 4 dieksekusi waktu 4)
P4 = 7 - 5 (datang waktu 5 dieksekusi 7)


Algoritma Penjadwalan : Shortest Job First (SJF)
Shortest Job First (SJF) Merupakan penjadwalan tidak berprioritas dan Non Preventive. Maksud Non Preveentive disini ialah ketika proses diberi jatah waktu penggunaan prosessor maka processor tidak dapat diambil proses lain, sampai proses tersebut selesai di eksekusi. Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah. Dalam artian waktu yang digunakan saat program (job) mulai masuk ke system sampai proses diselesaikan system, membutuhkan waktu yang singkat. Shortest Job First (SJF) bisa dikatakan algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal.
Misalnya terdapat empat proses dengan CPU Burst dalam milidetik.
tab1-300x162.jpg
::Proses dengan CPU Burst dalam milidetik::
Penjadwalan proses dengan algoritma SJF (non-Preventive) dapat dilihat dalam gant chart berikut :
bentuk2-300x66.jpg
::Gant chart algoritma SJF (non-Preventive)::
Waktu tunggu untuk P1 adalah 0, P2  adalah 26, P3  adalah 3 dan P4  adalah 7 sehingga rata-rata waktu tunggu adalah  (0 + 6 + 3 + 7)/4 = 4 milidetik
Contoh lain untuk algoritma Shortest Job First (SJF), misalnya terdapat empat proses (job) yaitu A,B,C,D dengan waktu jalannya masing-masing adalah 8,4,4 dan 4 menit. Apabila proses-proses tersebut dijalankan, maka turn around time untuk A adalah 8 menit, untuk B adalah 12, untuk C adalah 16 dan untuk D adalah 20. Apabila keempat proses tersebut menggunakan penjadwalan shortest job fisrt, maka turn around time untuk B adalah 4, untuk C adalah 8, untuk D adalah 12 dan untuk A adalah 20.
Karena SJF selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya. Masalah yang muncul saat menggunakan algoritma ini adalah tidak mengetahui ukuran job saat job masuk. Untuk mengetahui ukuran job adalah dengan membuat estimasi atau perkiraan berdasarkan kelakukan sebelumnya. Prosesnya tidak datang bersamaan, sehingga penetapannya harus dinamis.
Permasalahan lain yang muncul dalam algoritma ini adalah bisa saja saat kondisi-kondisi tertentu, suatu job mungkin tidak pernah menyelesaikan eksekusinya. Saya beri contoh, misalnya terdapat proses A dengan elapse time 1 jam tiba pada waktu 0. Namun pada waktu yang bersamaan dan setiap satu menit berikutnya tiba proses singkat dengan elapse time 2 menit. Hasilnya, bisa saja proses A tidak pernah mendapat jatah eksekusi.


















SJF (Shortest Job First)
Penjadwalan SJF ini merupakan penjadwalan yang dapat dikatakan sebagai berprioritas. Di SJF, prioritas diasosiasikan dengan masing-masing proses  dan pemroses dialokasikan ke proses dengan prioritas tertinggi. Proses-proses dengan prioritas yang sama akan dijadwalkan secara  FIFO.
Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai) atau waktu lamanya proses diketahui sebelumnya. Mekanisme penjadwalan SJF adalah lebih dulu menjadwalkan proses dengan waktu jalan terpendek sampai selesai. Setelah proses itu selesai, maka proses dengan waktu jalan terpendek berikutnya akan dijadwalkan, demikian seterusnya.
Keunggulan penjadwalan SJF ini adalah
1.      mempunyai efisien tinggi dan turn around time rendah.
2.      Selain itu, SJF selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya.
Contoh Penjadwalan Proses SJF:
Terdapat empat proses A,B,C,D dengan waktu jalan selama 8,7,6,5 kwanta
Cara I Proses-proses dijadwalkan berurutan sebagai A, B, C, D
1.jpg
Cara II Proses-proses yang dijadwalkan secara SJF yaitu berurutan D, C, B, A
2.jpg





Shortest Remaining First (SRF)
Merupakan :
1.      Penjadwalan berprioritas.dinamis.
2.      Preemptive untuk timesharing
3.      Melengkapi SJF

Mekanismenya kerja SJF adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan  penjadwalannya tak berprioritas
    
    Pada SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan, termasuk proses- proses yang baru tiba.
·         Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
·         Pada SRF, proses yang sedang berjalan (running) dapat diambil alih proses  baru dengan sisa waktu jalan yang diestimasi lebih rendah.

Kelemahan :
·         Mempunyai overhead lebih besar dibanding SJF. SRF perlu penyimpanan waktu layanan yang telah dihabiskan job dan kadang-kadang harus menangani peralihan.
·         Tibanya proses-proses kecil akan segera dijalankan.
·         Job-job lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama dibanding pada SJF.

 SRF perlu menyimpan waktu layanan yang telah dihabiskan , menambah overhead. Secara teoritis, SRF memberi waktu tunggu minimum tetapi karena overhead peralihan, maka pada situasi tertentu SFJ bisa memberi kinerja lebih baik dibanding SRF


Kesimpulan
SRF perlu menyimpan waktu layanan yang telah dihabiskan , menambah overhead. Secara teoritis, SRF memberi waktu tunggu minimum tetapi karena overhead peralihan, maka pada situasi tertentu SFJ bisa memberi kinerja lebih baik dibanding SRF
Share this article :

3 komentar:

Followers

Blog Archive

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Mohammad Apryan Suhendra - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger