in

Penjadwalan Proses dalam Sistem Operasi

Penjadwalan Proses dalam Sistem Operasi

Pengertian Penjadwalan

Penjadwalan proses adalah kumpulan kebijakan dan mekanisme dalam sistem operasi, yang berkaitan dengan urutan kerja yang dilakukan oleh sistem komputer. Penjadwalan berfungsi untuk memutuskan proses mana yang harus berjalan, kapan dan seberapa lama proses itu berjalan. Sasaran utama penjadwalan proses adalah optimasi kinerja berdasarkan kriteria-kriteria yang diajukan.

Bagian dari sistem operasi yang berfungsi mengatur proses mana yang berjalan pada setiap saat disebut Penjadwal (Scheduler). Algoritma yang digunakan scheduler disebut Scheduling Algorithm (algoritma penjadwalan).

Baca juga Apa itu metode mutual exclusion ?

Kriteria Penjadwalan

Kriteria dalam proses penjadwalan perlu diperhatikan, karena dapat dipakai untuk mengukur dan optimasi kinerja penjadwalan, untuk mendapatkan algoritma penjadwalan yang baik.

Kriteria-kriteria yang perlu diperhatikan dalam penjadwalan, adalah efisiensi(eficiency), adil(fairness), waktu tanggap(response time), throughput, dan waktu eksekusi(turn arround time).

1. Efisiensi (Eficiency)

    Penggunaan waktu CPU/Pemroses (CPU Time) seoptimal mungkin.Efisiensi pemproses dapat dihitung dengan berapa perbandingan (rasio) waktu busy pemproses.Sasaran penjadwalan adalah menjaga pemproses agar pemproses tetap dalam keadaan sibuk, sehingga menjadi efisiensi maksimum.

2. Adil (Fairness)

    Setiap proses dapat giliran yang sama sehingga menjadi lebih adil.Proses diperlakukan sama maksudnya adalah proses yang mendapat jatah waktu pemproses yang sama, dan tidak ada proses yang tidak mendapatkan layanan pemproses sehingga mengalami Starvation.Sasaran penjadwalan adalah agar menjamin tiap proses dapat bagian dari pemproses secara adil.

Baca juga Konsep konkurensi dan contohnya

3. Waktu Tanggap (Response Time)

    Waktu tanggap merupakan waktu yang digunakan untuk pemakai secara interaktif.Waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan program atau transaksi sampai hasil pertama muncul di layar (terminal).Sasaran penjadwalan adalah meminimalkan waktu tanggap.

4. Thorughput

    Throughput adalah jumlah kerja/job yang dapat diselesaikan dalam waktu satu unit waktu.Cara untuk mengekspresikan throughput dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit waktu. Lebih tinggi angka throughput, maka akan lebih banyak kerja yang dilakukan sistem.Sasaran penjadwalan adalah untuk memaksimalkan jumlah job yang diproses per satu unit/internal waktu.

5. Waktu Eksekusi Total (Turn Arround Time)

    Fungsi Turn Arround Time adalah untuk meminimalkan waktu tunggu dari mulai proses datang sampai proses tersebut selesai running.Turn Arround Time merupakan waktu yang dihabiskan dari saat program/job mulai masuk ke dalam sistem sampai proses diselesaikan oleh sistem. Rumus Turn Arround Time adalah Turn Arround Time = waktu eksekusi + waktu tunggu.Sasaran penjadwalan adalah untuk meminimalkan Turn Arround Time.

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 terjadinya pengalihan proses untuk memilih proses mana berikutnya yang harus dijalankan.

2. Penjadwalan Jangka Menengah

Penjadwal ini bertugas menangani proses-proses swapping. Swapping adalah kegiatan pemindahan proses-proses yang tertunda dari main memori 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 untuk memberi keseimbangan proses atau job agar tetap sibuk.

Baca juga Manajemen memori dan pemartisian statik dan dinamis

Strategi Penjadwalan

Terdapat dua strategi penjadwalan, pertama penjadwalan Non-Preempative (Run-to Completion), yang kedua adalah Penjadwalan Preemptive.

1. Penjadwalan Non-Preempative(Run-to Completion)

Penjadwalan yang dimana proses diberi jatah waktu memproses, maka pemproses 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)

Penjadwalan dimana proses-proses diberi jatah waktu pemproses berdasarkan waktu kedatangannya. Begitu proses menjadi jatahan waktu pemproses, proses dijalankan sampai selesai. Algoritma ini algoritma yang sangat sederhana, adil dan tidak berguna untuk sistem interaktif, karena tidak memberi waktu tanggap yang bagus.

b. SJF (Shortest Job First)

Penjadwalan ini disebut penjadwalan dengan waktu terpendek yang diduluan. Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah pertama menjadwalkan lebih dahulu proses dengan waktu jalan terpendek sampai selesai. Penjadwalan ini mempunyai efisien tinggi dan Turn Arround Time Rendah.

2. HRN (Highest Ratio Next)

3. MFQ (Multiple Feedback Queues)

4. Strategi Preemptive: 

RR (Round-Robin)

Ide penjadwalan ini adalah tiap proses diberikan prioritas, dan proses berprioritas tertinggi running (mendapat jatah waktu pemroses). Dengan mekanisme ini, job-job dapat bersaing untuk mendapatkan jatah waktu pemproses.

Ketentuan Algoritma Round-Robin adalah:

– Jika kwanta belum selesai dan habis , maka pemroses dialihkan ke proses lainnya.

– Jika kwanta belum habis, tapi proses telah selesai maka pemroses dialihkan ke proses lain.

Baca juga Pengertian segmentasi dan kombinasi paging-segmentasi

SRF (Shortest 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 Shortest Remaining First adalah Preemptive yang berfungsi untuk time sharing. Pada SRF proses dengan sisa waktu jalan yang diestimasikan terkecil dijalankan, termasuk job ataua proses yang baru tiba. Proses yang sedang running dapat diambil alih oleh proses baru dengan sisa waktu jalan yang diestimasikan lebih rendah..

PS (Priority Schedulling)

GS (Guaranted Schedulling)

Implementasi Algoritma Penjadwalan

Klasifikasi algoritma penjadwalan selain berdasarkan strategi preemptive atau non-preemptive, juga ada berdasarkan prioritas dalam proses-proses, yaitu:

1. Algoritma penjadwalan tanpa berprioritas

2. Algoritma penjadwalan berprioritas, yang terdiri dari: algoritma penjadwalan berprioritas statik(tetap) dan algoritma penjadwalan berprioritas dinamik(perubah-ubah).

Written by admin