-->
Beranda administrasi Guru Materi Info Teknologi

Penjadwalan CPU

UlasTKJ - Komputer merupakan alat elektronik yang berfungsi untuk mengolah data informasi,. komputer modern adalah komputer yang mampu melakukan beberapa pekerjaan di dalam waktu yang bersamaan (multitasking) dimana CPU sebagai pusat pemrosesan data. meskipun CPU dapat melakukan mustitasking padahal sebetulnya terjadi semacam antrian di dalam mengeksekusi program yang diperintahkan oleh User, istilah ini dikatakan dengan penjadwalan.  Penjadwalan CPU erupakan pemilihan proses dari antrian  ready  untuk dapat dieksekusi. Penjadwalan CPU merupakan  konsep dari  multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Kriteria penjadwalan CPU adalah:
  • CPU utilization Merupakan proses terbaik dari CPU, CPU akan bekerja setiap waktu, biasanya penggunaan CPU berkisar dari 40% sampai 90%.
  • Throughput Merupakan banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
  • Turnaround time Banyaknya waktu yang diperlukan untuk mengeksekusi proses, mulai dari menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.
  • Waiting time Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.
  • Response time Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.
  • Fairness Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair).
Adapun algoritma Penjadwalan CPU yang digunakan adalah :
  • First Come First Serve(FCFS) Scheduling
  • Shortest-Job-First(SJF) Scheduling 
  • Priority Scheduling
  • Round Robin(RR) Scheduling
  • Multilevel Queue Scheduling
First Come First Serve(FCFS) Scheduling
Proses yang pertama kali meminta waktu untuk menggunakan CPU akan dilayani terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali juga. Misal terdapat empat proses yang dapat dengan urutan P1, P2, P3 dan P4 dengan waktu CPU-burst dalam milidetik yang diberikan sebagai berikut :
Rata rata waktu tunggu adalah = ( 0 + 21 + 24 + 30 ) / 4 = 18.75 ms
Gant Chart dengan penjadwalan FCFS


Shortest-Job-First(SJF) Scheduling

SJF merupakan proses penjadwalan yang ada di ready queue dan akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan  waktu tunggu  yang pendek untuk setiap proses. Karena hal tersebut, maka waktu tunggu rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.SJF memiliki 2 sifat :

         1. Non-preemptive (tidak dapat diinterupsi), pemilihan  proses  dalam antrian yang memiliki waktu eksekusi tercepat. CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil.
 

Waktu proses terpendek akan dieksekusi. Sesuai dengan gantt  chart tersebut maka waktu tunggu adalah (0 + 2 + 5 + 11)/4 = 4,5ms



       2. Preemptive (dapat diinterupsi), proses yang dipilih adalah proses yang memiliki waktu sisa eksekusi terkecil. Teknik ini juga dikenal dengan nama  Shortest Remaining Time First.
Rata-rata waktu tunggu adalah ( ( 5-3 ) + (6-2) + (12-1))/4 = 4.25ms


Priority Scheduling
Merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing. Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain:
1.  Time limit.
2.  Memory requirement.
3.  Akses file.
4.  Perbandingan antara burst M/K dengan CPU burst.
5.  Tingkat kepentingan proses.

Gantt chart dari proses algoritma priority scheduling adalah sebagai berikut

Waktu rata-rata yang dibutuhkan adalah: ( 0 + 3 + 24 + 26 ) / 4 = 13.25ms

Round Robin (RR) Scheduling
Penjadwalan Round Robin (RR) dilakukan secara bergiliran berdasarkan  antrian, prosessor mengerjakan sesaat setiap proses berturut-turut. Proses yang telah dieksekusi prosessor dan belum selesai akan kembali ke antrian terakhir yang ada pada saat itu sehingga pergiliran untuk eksekusi tersebut seperti gelang.Semua proses di  anggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice dimana proses berjalan.
Gantt chart dari proses RR adalah:

Multilevel Queue Scheduling
Algoritma ini membagi beberapa antrian yang akan diberi prioritas berdasarkan tingkatan. Tingkatan lebih tinggi menjadi prioritas utama. Ready queue dibagi menjadi queue yang terpisah yaitu  foreground (interaktif)  dan  background (batch). Setiap queue mempunyai algoritmanya masing  -  masing.  Foreground queue  memakai algoritma penjadwalan  round robin  sedangkan  background queue  memakai algoritma penjadwalan FCFS