Penjadwalan CPU (Konsep Dasar, Kriteria Penjadwal, Algoritma Penjadwalan, dan Penjadwalan Multipe Processor)

CPU Scheduling



Penjadwalan CPU adalah basis dari multi programming sistem operasi dengan cara men-switch CPU di antara proses. Akibatnya sistem informasi dapat membuat komputer produktif.


A. Konsep Dasar

Tujuan dari multi programming adalah agar proses bisa berjalan secara bersamaan dengan tujuan untuk memaksimalkan kinerja dari CPU.

Penjadwalan adalah fungsi dasar dari suatu sistem operasi. Hampir semua sumber komputer dijadwal sebelum digunakan. CPU salah satu sumber dari komputer yang penting yang menjadi sentral dari sentral penjadwalan di sistem operasi.

Penjadwalan CPU mungkin akan dijalankan ketika terjadi proses :

  1. Berubah dari running ke waiting state.
  2. Berubah dari running ke ready state.
  3. Berubah dari waiting ke ready.
  4. Terminates.

B. Kriteria Penjadwal

Banyak kriteria yang dianjurkan untuk membandingkan penjadwalan CPU algoritma. Kriteria yang biasanya digunakan dalam memilih adalah :

  • CPU Utilization, artinya menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 ke 100 persen.
  • Throughput artinya, jika CPU mengeksekusi suatu proses, berarti CPU telah melaksanakan sebuah kerja.
  • Turnaround time yaitu, interval dari waktu yang diizinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah proses.
  • Waiting time, algoritma penjadwal CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O, hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready.
  • Response time. yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untu respon tersebut.

C. Algoritma Penjadwalan

   Penjadwalan CPU berurusan dengan permasalahan memutuskan proses mana yang akan dilaksanakan, oleh karena itu banyak bermacam algoritma penjadwalan, seperti berikut :

1. Algoritma first come first served (FCFS)

Merupakan algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat prioritas. Penjadwalan FCFS algoritma adalah nonpremptive. Ketika CPU telah dialokasikan untuk sebuah proses, proses tetap menahan CPU sampai selesai.

2. Algoritma Shortest Job Fist (SJF)

Algoritma ini berkaitan dengan waktu setiap proses. Ketika CPU bebas proses yang mempunyai waktu terpendek untuk menyelesaikannya mendapat prioritas. Ada dua skema dalam Algoritma Shortest Job Fist ini yaitu:

a. Nonpremptive, ketika CPU memberikan kepada proses itu tidak bisa ditunda hingga selesai.

b. Premptive, bila sebuah proses datang dengan waktu prose lebih rendah dibandingkan dengan waktu proses yang sedang dieksekusi oleh CPU maka proses yang waktunya lebih rendah mendapatkan prioritas.

3. Penjadwalan Prioritas

Penjadwalan SJF (Shortest Job First) adalah kasus khusus untuk algoritma penjadwal prioritas. Prioritas dapat diasosiasikan masing-masing proses dan CPU dialokasikan untuk proses dengan prioritas tertinggi. Untuk proritas yang sama dilakukan dengan FCFS. Dalam algoritma ini ada dua skema yaitu :

a. Preemptive : proses dapat di interupsi jika terdapat prioritas lebih tinggi yang memerlukan CPU.

b. Nonpreemptive : proses dengan prioritas tinggi akan mengganti pada saat pemakain time-slice habis.

SJF adalah contoh penjadwal prioritas dimana prioritas ditentukan oleh waktu pemakaian CPU berikutnya. 

4. Penjadwalan Round Robin

Algoritma ini mirip dengan penjadwal FCFS, namun preemption ditambahkan untuk switch antara proses. Berikut algoritma untuk penjadwal Round Robin :

a. Setiap proses mendapat jatah waktu CPU (time slice/quantum) tertentu, Time slice/quantum umumnya antara 10 – 100 milidetik.

b. Setelah time slice/quantum maka prose s akan di-preempt dan dipindahkan ke antrian ready.

c. Proses ini berlangsung adil dan sederhana.

Kinerja dari algoritma ini tergantung dari ukuran time quantum. Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS.


D. Penjadwalan Multipe Processor

Multiprocessor membutuhkan penjadwalan yang lebih rumit karena mempunyai banyak kemungkinan yang dicoba tidak seperti pada processor tunggal. Dalam kasus ini, bagaimana pun, satu prosesor bisa menjadi idle dengan antrian yang kosong sedangkan yang lain sangat sibuk. Salah satu cara menggunakan symetric multiprocessing (SMP) di mana setiap prosesor men- jadwalkan diri sendiri. Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi. Beberapa sistem membawa struktur satu langkah kedepan, dengan membawa semua keputusan penjadwalan, I/O prosesing, dan aktivitas sistem yang lain ditangani oleh satu prosesor yang bertugas sebagai master prosesor. Prosesor yang lain mengeksekusi hanya user code yang disebut asymmetric multipro.


Sekian, Naurah<3.

Komentar

Postingan Populer