Sabtu, 25 Desember 2010

Penjadwalan CPU

I. Pengenalan Penjadwalan CPU

Penjadwalan CPU (CPU Scheduling) adalah basis dari sistem operasi multiprograming. Dengan men-switch CPU kepada proses-proses, sistem operasi dapat membuat komputer lebih produktif.

Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akan dilaksanakan dalam suatu sistem. Proses yang belum mendapat jatah alokasi dari CPU akan mengantri di ready queue. Algoritma penjadwalan berfungsi untuk menentukan proses manakah yang ada di ready queue yang akan dieksekusi oleh CPU.

II. Konsep Dasar Penjadwalan CPU

Tujuan dari multiprograming adalah agar beberapa proses dapat berjalan sedemikian rupa sehingga penggunaan CPU menjadi maksimal (CPU utilization maksimal). Ketika CPU mengganggur, sistem operasi harus memilih satu dari proses dalam ready queue untuk dieksekusi. Pemilihan tersebut dilakukan oleh penjadwal CPU (CPU Scheduler). Penjadwal tersebut akan memilih di antara proses di memori yang siap untuk dieksekusi dan kemudian akan memberikan jatah CPU kepada salah satu proses tersebut.

Keputusan dalam penjadwalan CPU berlangsung saat state proses :

1. Berubah dari running state ke waiting state

2. Berubah dari running state ke ready state

3. Berubah dari waiting state ke ready state

4. Terminates

Untuk nomor 1 dan 4, skema penjadwalannya dikatakan non-preemptive. Sedangkan untuk nomor 2 dan 3, skema penjadwalannya dikatakan preemptive. Preemptive maksudnya dapat diganti oleh proses lain. Non-preemptive maksudnya tidak dapat diganti oleh proses lain (proses yang sedang berjalan harus dijalankan sampai selesai dulu).

III. Kriteria Penjadwalan

Kriteria yang digunakan untuk membandingkan algoritma-algoritma penjadwalan adalah sebagai berikut:

  • CPU utilization

Idealnya adalah membuat CPU bekerja sesibuk mungkin.

  • Throughput
    Throughput adalah banyaknya proses yang selesai dieksekusi per satuan waktu. Semakin banyak throughput, semakin baik.
  • Turnaround time
    Turnaround time adalah waktu yang dibutuhkan untuk mengeksekusi suatu proses. Semakin kecil turnaround time, semakin baik.
  • Waiting time
    Waiting time adalah waktu yang dibutuhkan suatu proses selama menunggu di ready queue. Semakin kecil waiting time, semakin baik.
  • Response time
    Response time adalah waktu yang dibutuhkan sejak suatu proses datang me-request sampai proses itu menerima response pertama. Semakin kecil response time, semakin baik.

IV. Algoritma Penjadwalan

Jenis-jenis algoritma penjadwalan adalah sebagai berikut :

1. Nonpreemptive, menggunakan konsep :

a. FIFO (First In First Out) atau FCFS (First Come First Serve)

b. SJF (Shortest Job First)

c. HRN (Highest Ratio Next)

d. MFQ (Multiple Feedback Queues)

2. Preemptive, menggunakan konsep :

a. RR (Round Robin)

b. SRF (Shortest Remaining First)

c. PS (Priority Schedulling)

d. GS (Guaranteed Schedulling)


sumber :http://bebas.vlsm.org/

Tidak ada komentar:

Posting Komentar