Penjadwalan CPU


Nama Kelompok : 
1.  Sherly 210.511.013
2.  Megga Farah Nazsa 210.511.016
3.  Sri Romadhani 210.511.045
4. Kartika Wahyuningtyastuti 210.511.164   

Halo. Pada artikel ini kami akan menulis tentang Membuat Penjadwalan CPU. Seperti pada artikel saya sebelumnya. Kami minta maaf apabila ada penulisan kami yang kurang berkenan. Semoga artikel ini dapat membantu dan bermanfaat bagi pembaca dan kami untuk lebih menambah ilmu. Amin.
Langsung aja, pada bahasan kali ini saya akan menjelaskan mengenai Penjadwalan CPU, Tipe penjadwalan dan beberapa pembahasan lainnya
Konsep Dasar
Dalam pemroses tunggal, hanya satu proses yang dapat dijalankan pada saat tertentu, sedangkan yang lain harus menunggu CPU bebas dan dijadwal ulang. Multiprogramming merupakan cara untuk menjalankan proses setiap waktu sehingga memaksimalkan penggunaan CPU. Penjadwalan merupakan salah satu fungsi dasar dari sistem operasi. Hampir semua sumber daya komputer dijadwalkan sebelum digunakan.

CPU-I/O Burst Cycle
Kesuksesan penjadwaln CPU tergantung dari observasi proses-proses. Pengeksekusian proses terdiri putaran ekseskusi CPU dan penungguan I/O. Eksekusi proses dimulai dari CPU burst, yaitu diikuti oleh I/O burst kemudian diikuti CPU burst lainnya lalu I/O burst lainnya dan begitu seterusnya.


Gambar 1 Urutan pergantian CPU Burst dengan I/O Burst

Penjadwalan CPU
Ketika CPU mengalami waktu idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian yang akan untuk dieksekusi. Pemilihan tersebut dilakukan oleh penjadwal jangka pendek atau penjadwal CPU. [Bambang2002] Ada tiga tipe penjadwal yang berada bersama pada sistem operasi kompleks, yaitu :
a. Penjadwal jangka pendek yang bertugas menjadwalkan alokasi pemroses di antara proses-proses yang telah siap di memori utama.
b. Penjadwal jangka menengah akan menangani serta mengendalikan transisi dari suspended-toready dari proses-proses swapping.
c. Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi.


Gambar 2 Tipe-tipe penjadwalan

Penjadwalan memilih proses yang ada di memori serta siap untuk dieksekusi, dan mengalokasikan CPU untuk mengeksekusinya.
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 atau cooperative 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 yaitu saat suatu proses sedang dieksekusi, CPU dapat diambil alih oleh proses lain sehingga proses di tunda dan dilanjutkan kembali hingga proses selesai.


Kriteria Penjadwalan
Setiap algoritma penjadwalan dapat berbeda dengan nilai yang berbeda dan sistem komputer yang berbeda. Dalam penjadwalan CPU diperlukan beberapa kriteria diantaranya adalah:

CPU Utilization. Kita menginginkan kerja CPU sesibuk mungkin. Konsepnya pemanfaatan CPU mempunyai jangkauan dari 0 sampai 100 persen. Di sistem yang sebenarnya mungkin hanya mempunyai jangakuan dari 40 (untuk pemanggilan ringan sistem) sampai 90 persen
(pemanggilan berat sistem).

Throughput. Pengukuran kinerja CPU adalah banyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, hasil kinerja bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik.

Turnaround 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 lama waktu yang dipakai untuk menyelesaikan sebuah proses. Misal, kita memilki system komputer yang identik dan proses-proses yang identik pula, namun kita memakai algoritma yang berbeda, algoritma yang mampu menyelesaikan proses yang sama dengan waktu yang lebih singkat mungkin lebih baik dari algoritma yang lain. Interval waktu yang diijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah proses disebut turnaround time.Turnaround time adalah jumlah periode tunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi I/O atau waktu yang dihabiskan dari saat program atau job mulai masuk sistem sampai proses diselesaikan sistem.

Turnaround = waktu eksekusi + waktu menunggu

Waiting Time. Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O, karena hanya mempengaruhi jumlah waktu yang dibutuhkan proses diantrian ready. Waiting time adalah jumlah waktu yang dbutuhkan proses di antrian ready.

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. Hal ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut. Turnround time umumnya dibatasi oleh kecepatan peralatan keluaran. Ada dua jenis response time berdasarkan penggunaannya pada sistem interaktif dan sistem waktu nyata (real time), yaitu:

  • Terminal response time merupakan response time pada sistem interaktif sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar.
  • Event response time merupakan response time pada sistem waktu nyata sebagai waktu dan kejadian (internal/eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi. Sebaiknya ketika kita akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan
penggunaan CPU dan throughput, dan meminimalkan turnaround time, waiting time, dan response
time.

Waktu & Tujuan Penjadwalan CPU

 Penjadwalan: pemilihan proses selanjutnya yg akan dieksekusi
  • Melakukan multiplexing CPU
  • Kapan dilakukan penjadwalan?
  • Proses baru dibuat
  • Proses selesai dieksekusi
  • Proses yg sdg dieksekusi diblokir
  • Terjadi I/O interrupt (mis. proses yg diblokir siap utk dieksekusi kembali)
  •  Terjadi clock interrupt (mis. sekali 40mdet)
 Tujuan Penjadwalan
  • Adil
  • Prioritas
  • Efisiensi
  • Mendukung beban yg berat
  • Beradaptasi dgn beragam
  •  lingkungan (interaktif, real-time,multimedia)

Kriteria Performansi
·      Keadilan
·      Efisiensi: optimalisasi penggunaan sumberdaya
·      Throughput: # proses yg selesai dalam satuan waktu tertentu
·      Waktu Turnaround (aka: elapse time): waktu yg diperlukan utk menyelesaikan eksekusi sejak proses tsb masuk
·       Waktu Tunggu: waktu yg diperlukan proses utk menunggu di antrian ready
·       Waktu Respon: jangka waktu sejak proses disubmit hingga memperoleh respon pertama
·      Penerapan Kebijakan: sesuai dgn kebijakan yg telah ditetapkan
·      Proporsionalitas: memenuhi keinginan user
·      Memenuhi Tenggat

 Fokus Penjadwalan pd Berbagai Sistem
·         Untuk semua: keadilan, penerapan kebijakan, pemerataan beban
·          Sistem Batch :maks. troughput, min waktu turnaround, maks penggunaan CPU
·         Sistem Interaktif: min. waktu respon, proporsionalitas
·         Sistem Real-Time: dpt diprediksi, memenuhi tenggat

Penjadwalan Preemptive vs Nonpreemptive
·         Penjadwalan Preemptive: Proses yg sdg dieksekusi dpt diinterupsi dan dipaksa utk menyerahkan CPU
·          Penjadwalan Non-preemptive: Proses yg sdg dieksekusi menggunakan CPU hingga proses tsb menyerahkannya secara sukarela

Algoritma Penjadwalan Prosesor Tunggal
·         Sistem Batch:
§  First Come First Serve (FCFS)
§  Shortest Job First (SJF)
·         Sistem Interaktif
§  Round Robin
§  Penjadwalan Prioritas
§  Multi Queue dan Multi Level Feedback
§  Shortest Process Time
§  Guaranteed Scheduling
§  Lottery Scheduling 
§  Fair Sharing Scheduling

 Referensi:

[Silberschantz2005] Abraham Silberschantz, Peter Baer Galvin & Greg Gagne. 2005. Operating System
Concepts. Seventh Edition. John Wiley & Son
[Bambang2002] Bambang Hariyanto,. Ir. 2002. Sistem Operasi. Edisi kedua. Informatika. Bandung
[MDGR2006] Masyarakat Digital Gotong Royong (MDGR). 2006. Pengantar Sistem Operasi Komputer
Plus Illustrasi Kernel Linux. http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/. Diakses 31
Agustus 200

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

1 komentar:

ima maryam mengatakan...

izin copy ya

Posting Komentar