Saturday, April 2, 2011

0
Apr 2011 02

Bab 14. Penjadwal CPU

Posted in

14.4. Penjadwalan CPU
Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan:
  1. Berubah dari running ke waiting state.
  2. Berubah dari running ke ready state.
  3. Berubah dari waiting ke ready.
  4. Terminates.
Penjadwalan nomor 1 dan 4 bersifat non-preemptive sedangkan lainnya preemptive. Dalam
penjadwalan non-preemptive sekali CPU telah dialokasikan untuk sebuah proses, maka tidak dapat di ganggu, penjadwalan model seperti ini digunakan oleh Windows 3.X; Windows 95 telah menggunakan penjadwalan preemptive.
Gambar 14.4. Preemptive vs Non Preemptive

  1. Penjadwalan Preemptive
Semua proses yang ada dalam antrian ready (siap) harus dikerjakan oleh CPU. CPU sendiri harus
memilih salah satu proses yang akan dikerjakan dalam satu waktu. Pemilihan tersebut dilakukan oleh short term scheduler dan proses yang dipilih akan dieksekusi dalam CPU dalam satu waktu yang telah ditentukan oleh scheduler.
Gambar 14.5. Dispatch Latency

  1. Penjadwalan Non-Preemptive
Penjadwalan non-preemptive terjadi ketika proses hanya:
  1. berjalan dari running state sampai waiting state.
  2. dihentikan.
Ini berarti cpu menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diinterupt). Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang dapat digunakan untuk platforms hardware tertentu, karena tidak memerlukan perangkat keras khusus (misalnya timer yang digunakan untuk menginterupt pada metode penjadwalan preemptive).

 
14.5. Kriteria Penjadwalan
Kriteria yang digunakan dalam menilai adalah:
  1. CPU Utilization. Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 sampai 100 persen. Di sistem yang sebenarnya ia mempunyai range dari 40 sampai 100 persen.
  2. Through input. Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per satuan waktu.jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, throughput bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik.
  3. Turnaroud Time. Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Memang, lama pengeksekusian sebuah proses sangat tergantung dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap ada dalam. Turanaround time adalah jumlah periode untuk menunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi M/K.
  4. Waiting Time. Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksankan proses tersebut atau M/K, itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian raedy. Waiting time adalah jumlah waktu yang dbutuhkan proses di antrian ready.
  5. Response time. Di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria.sering sebuah proses dapat memproduksi output di awal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke pengguna. ukuran lain adalah waktu dari pengiriman permintaan sampai respon yang pertama diberikan. Ini disebut respon time, yaitu waktu untuk memulai memberika respon, tetapi bukan waktu yang dipakai output untuk respon tersebut.

 
Sebaiknya ketika kita akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan meminimalkan turnaround time, waiting time, dan response time.

 
14.6. Rangkuman
Penjadwalan CPU adalah pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadulan CPU merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda.suatu proses terdiri dari dua siklus yaitu M/K burst dan CPU burst yang dilakukan bergantian hingga proses selesai. Penjadulan CPU mungkin diajalankan ketika proses:
  1. running -> waiting time.
  2. running -> ready state.
  3. waiting -> ready state.
  4. terminates.
Proses 1 dan 4 adalah proses non-preemptive, dimana proses tersebut tidak bisa di interrupt,
seangkan 2 dan 3 adalah preemptive, dimana proses boleh di interrupt. Komponen yang lain dalam penjadwalan CPU adalah dispatcher, dispatcher adalah modul yang memberikan kendali CPU kepada proses.dalam menilai baik atau buruknya suatau algoritma penjadwalan kita bisa memakai beberapa kriteria, diantaranya CPU utilization, throughput, turnaround time,waiting time, dan response time. algoritma yang baik adalah yang mampu memaksimalkan CPU utilization dan throughput, dan mampu meminimalkan turnaroud time, waiting time, dan response time. Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai proses yang lain disebut dengan dispatch latency. Jika dalam suatu proses CPU Burst jauh lebih besar daripada M/K Burst maka disebut CPU Bound. Demikian unutk sebaliknya disebut dengan M/K Bound.

 
[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems

Concepts. Seventh Edition. John Wiley & Sons.



 

0 komentar:

Tinggalkan Pesan, Kesan, Cacian, Omelan, Ocehan