Penjadwalan Proses Sistem Operasi

Penjadwalan Proses

1.  Deskripsi Penjadwalan

Penjadwalan proses adalah kumpulan kebijaksanaan dan mekanisme pada sistem operasi, yang berkenaan dengan urutan kerja yang dilakukan oleh sistem komputer. Penjadwalan bertugas memutuskan proses mana yang harus berjalan, kapan dan seberapa lama proses itu berjalan. Sasaran utama penjadwalan proses adalah optimasi kinerja menurut kriteria-kriteria yang diajukan.
Bagian dari sistem operasi yang berfungsi mengatur proses mana yang running pada setiap saat disebut Scheduler (Penjadwal). Algoritma yang digunakan scheduler disebut Scheduling Algorithm (algoritma penjadwalan).

2.  Kriteria Penjadwalan

Kriteria ini perlu diperhatikan dalam penjadwalan proses, karena dapat digunakan untuk mengukur dan optimasi kinerja penjadwalan, dan untuk mendapatkan algoritma penjadwalan yang baik.
Kriteria-kriteria yang perlu diperhatikan, adalah adil(fairness), efisiensi(eficiency), waktu tanggap(response time), waktu eksekusi(turn arround time), dan throughput.
1.    Adil (Fairness)
a.    Setiap proses mendapat giliran yang sama dan adil.
b.    Proses diperlakukan samam adalah proses yang mendapat jatah waktu pemroses yang sama, dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami Starvation.
c.    Sasaran penjadwalan adalah menjamin tiap proses mendapat bagian dari pemroses yang adil.
2.    Efisiensi (Eficiency)
a.    Penggunaan waktu CPU/Pemroses (CPU Time) seoptimal mungkin.
b.    Efisiensi pemroses dihitung dengan berapa perbandingan (rasio) waktu sibuk pemroses.
c.    Sasaran penjadwalan adalah menjaga pemroses agar tetap dalam keadaan sibuk, sehingga efisiensi maksimum.
3.      Waktu Tanggap (Response Time)
a.    Waktu tanggap adalah waktu yang digunakan untuk pemakai secara interaktif.
b.    Waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan program atau transaksi sampai hasil pertama muncul di layar (terminal).
c.    Sasaran penjadwalan adalah meminimalkan waktu tanggap.
4.      Waktu Eksekusi Total (Turn Arround Time)
a.    Fungsi Turn Arround Time adalah meminimalkan waktu tunggu dari mulai proses datang sampai proses tersebut selesai running.
b.    Turn Arround Time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Rumusnya adalah Turn Arround Time = waktu eksekusi + waktu tunggu.
c.    Sasaran penjadwalan adalah meminimalkan Turn Arround Time.
5.    Thorughput
a.    Throughput adalah jumlah kerja/job yang dapat diselesaikan dalam waktu satu unit waktu.
b.    Cara untuk mengekspresikan throughput, adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit waktu. Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem.
c.    Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu unit/internal waktu.

3.  Tipe Penjadwalan

Ada tiga tipe penjadwalan yang dapat berada secara bersama-sama pada sistem operasi yang kompleks, yaitu: Penjadwalan jangka pendek(short-term scheduler), Penjadwalan jangka menengah(medium-term scheduler), dan Penjadwalan jangka panjang(long-term scheduler).
1.      Penjadwalan Jangka Pendek
Penjadwalan ini bertugas menjadwalkan alokasi pemroses di antara proses-proses ready yang terdapat di memori utama. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
2.      Penjadwalan Jangka Menengah
Penjadwal ini bertugas menangani proses-proses swapping. Swapping adalah aktivitas pemindahan proses-proses yang tertunda dari memori utaman ke memori sekunder. Penjadwal ini mengendalikan transisi dari suspended to ready (dari keadaan suspend ke ready) proses-proses swapping.
3.      Penjadwalan Jangka Panjang
Penjadwal ini bekerja terhadap antrian Batch, dan memilih barch berikutnya yang harus dieksekusi. Sasaran utama penjadwal jangka panjang adalah memberi keseimbangan job-job agar tetap sibuk.

4.  Strategi Penjadwalan

Terdapat dua strategi penjadwalan, yaitu Penjadwalan Non-Preempative (Run-to Completion), dan Penjadwalan Preemptive.
1.      Penjadwalan Non-Preempative(Run-to Completion)
Penjadwalan dimana proses diberi jatah waktu pemroses, maka pemroses tidak dapat diambil oleh proses lain sampai proses itu selesai.
2.      Penjadwalan Preemptive.
Penjadwalan dimana proses diberi jatah waktu pemroses, maka pemroses dapat diambil alih proses lain, sehingga proses disela-sela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

5.  Algoritma Penjadwalan

1.      Strategi Non-Preemptive
a.       FIFO (First In First Out) atau FCFS (First Come First Serve)
b.      SJF (Shortest Job First)
2.      HRN (Highest Ratio Next)
3.      MFQ (Multiple Feedback Queues)
4.      Strategi Preemptive:
a.       RR (Round-Robin)
b.      SRF (Shortest Remaining First)
c.       PS (Priority Schedulling)
d.      GS (Guaranted Schedulling)
A.    FIFO (First In First Out) atau FCFS (First Come First Serve)
Penjadwalan dimana proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangannya. Begitu proses menjadi jatahan waktu pemroses, proses dijalankan sampai selesai. Algoritma ini sangat sederhana, adil dan tidak berguna untuk sistem interaktif, karena tidak memberi waktu tanggap yang bagus.
B.       SJF (Shortes Job First)
Penjadwalan ini disebut penjadwalan dengan waktu terpendek yang duluan. Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai) diketahui sebelumnya. Mekanismenya adalah menjadwalkan lebih dahulu proses dengan waktu jalan terpendek sampai selesai. Penjadwalan ini mempunyai efisien tinggi dan Turn Arround Time Rendah.
C.       PS (Priority Schedulling)
Ide penjadwalan ini adalah tiap proses diberi prioritas, dan proses berprioritas tertinggi running (mendapat jatah waktu pemroses). Dengan mekanisme ini, proses-proses dapat bersaing untuk mendapatkan jatah waktu pemroses.
D.    R-R (Round-Robin)
Penjadwalan ini adalah penjadwalan murni preemptive. Mekanismenya adalah semua proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan.
Ketentuan Algoritma Round-Robin adalah:
-       Jika kwanta habis dan belum selesai, maka pemroses dialihkan ke proses lain.
-       Jika kwanta belum habis, tapi proses telah selesai maka pemroses dialihkan ke proses lain.
E.     SRF (Shortes Remaining First)
Penjadwalan ini disebut juga penjadwalan dengan sisa waktu terpendek duluan, dan merupakan perlengkapan dan pengembangan algoritma SJF. Algoritma SJF adalah penjadwalan Non-Preemptive, sedangkan algoritma SRF adalah Preemptive yang berguna untuk time sharing. Pada SRF proses dengan sisa waktu jalan yang diestimasikan terendah dijalankan, termasuk proses yang baru tiba. Proses yang sedang running dapat diambil alih proses baru dengan sisa waktu jalan yang diestimasikan lebih rendah.

6. Implementasi Algoritma Penjadwalan

Klasifikasi algoritma penjadwalan selain berdasarkan strategi preemptive/non-preemptive, juga berdasarkan adanya prioritas di proses-proses, yaitu:
1.    Algoritma penjadwalan tanpa berprioritas
2.    Algoritma penjadwalan berprioritas, yang terdiri dari: algoritma penjadwalan berprioritas statik dan algoritma penjadwalan berprioritas dinamik.

Post a Comment

0 Comments