Jumat, 23 Januari 2015

PENJADWALAN PROSES BAGIAN II

disini saya akan menjelaskan beberapa tentang penjadwalan proses bagian ll di antaranya
1. Priority Scheduling
2. Round Robin
3. Multilevel Queue
4. Multilevel Feedback Queue



Sebulum kita lanjut kita harus tau penjadwalan proses itu apa,,, penjadwwalan proses adalah: 

A. Deskripsi Penjadwalan Proses

·                     Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
·                     Sedangkan proses merupakan unit kerja terkecil yang secara individu memiliki sumberdaya atau unit pemilikan sumberdaya.
Tugas penjadwalan diantaranya adalah sebagai berikut :

·                     Memutuskan proses yang berjalan.
·                     Memutuskan kapan dan selama berapa lama proses itu berjalan.
Sasaran utama dalam penjadwalan proses adalah :

·                     Adil (fairness)
Adil adalah proses-proses diperlukan sama yaitu mendapat jatah waktu pemrosesan yang sama dan tak ada pemroses yang tak kebagian layanan pemroses sehingga mengalami (starvation).
·                     Efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
·                     Waktu tanggap (response time), dibagi menjadi :
1.             Sistem Interaktif
Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap ini disebut terminal response time
2.             Sistem Realtime
Pada sistem waktu nyata (real-time), waktu tanggap di definisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time. Sasaran penjadwalan adalah meminimalkan waktu tanggap.
3.             Turn Arround Time
Waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.
4.             Throughput
Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
B. Tipe-tipe Penjadwalan

·                     Penjadwalan jangka pendek (short-termscheduller)
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready dimemori utama.
·                     Penjadwalan jangka menengah (medium-termscheduller)
Penjadwalan jangka menengah adalah menangani proses-proses swapping (aktivitas pemindahan proses yang tertunda dari memory utama ke memory sekunder)
·                     Penjadwalan jangka panjang (long-termscheduller)
Penjadwalan jangka panjang bekerja terhadap antrian batch (proses-proses dengan penggunaan sumberdaya yang intensif) dan memilih batch berikutnya yang harus di eksekusi.
C. Strategi Penjadwalan

·                     Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
·                     Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
D. Algoritma-algoritma Penjadwalan
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya adalah :

·                     FIFO (First - In , First - Out)
·                     SJF (Shortest Job First)
·                     HRN (Highest Ratio Next)
·                     MFQ (Multiple Feedbak Queues)
Algoritma-algoritma yang menerapkan strategi preemptive diantaranya adalah :

·                     RR (Round-Robin)
·                     SRF (Shortest - Remaining - First) 
·                     PS (Priority Schedulling)
·                     GS (Guaranteed Schedulling)
Klasifikasi lain berdasarkan adanya prioritas di proses-proses yaitu :

  •              Algoritma penjadwalan tanpa berprioritas.
  • .            Algoritma penjadwalan berprioritas yang terdiri dari :
  •               Algoritma penjadwalan berprioritas statik.
  •              Algoritma penjadwalan berprioritas dinamis.

 Priority Scheduling

- Tiap proses diberi skala prioritas, proses yang mendapatkan prioritas tertinggi mendapat jatah waktu pemroses

- Prioritas dapat diberikan secara :
*  Prioritas statis (static priorities)
*  Prioritas dinamis (dynamic priorities)
- Jika beberapa proses memiliki prioritas yang sama akan digunakan algoritma FCFS, prioritas meliputi :
*  Waktu
*  Memori yang dibutuhkan
*  Banyaknya file yang dibuka
*  Perbandingan antara rata-rata I/O Burst dengan rata-rata CPU Burst

- Algoritma Priority Scheduling dapat bersifat Preemptive atau Non Preemptive. Jika ada  proses P1 yang datang pada saat P0 sedang berjalan à akan dilihat prioritas P1, Jika prioritas P1>P0, maka :
*  Pada Non Preemptive, Algoritma tetap akan menyelesaikan P0 sampai habis CPU burstnya dan meletakkan P1 pada posisi head queue.
*  Pada Preemptive, P0 akan dihentikan dulu dan CPU ganti dialokasikan untuk P1.

Contoh Priority Scheduling



Keunggulan priority scheduling biasanya memenuhi kebijaksanaan yang ingin mencapai maksimasi suatu kriteria diterapkan.

Round Robin

Ø  Algoritma ini menggilir proses yang ada di antrian.
Ø  Proses akan mendapat jatah sebesar time quantum.
o   Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya.
Ø  proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses dapat jatah waktu yang sama dari CPU.
Ø  Contoh 1
Sebuah CPU dengan quantum 4 mendapat beberapa proses sebagai berikut:






       Kelemahan

      Permasalahan utama adalah menentukan besarnya time quantum.
      Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 time quantum.
       Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (context switches time).
      Jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma First Come First Served.



Multilevel Queue

       Ide dasar dari algoritma ini adalah berdasarkan pada sistem prioritas proses.
       Prinsipnya adalah, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka akan didapati queue.

       Dari gambar, terlihat bahwa akan terjadi pengelompokan-pengelompokan proses-proses berdasarkan prioritasnya.

       Kemudian muncul ide untuk menganggap kelompok-kelompok tersebut sebagai sebuah antrian-antrian kecil yang merupakan bagian dari antrian keseluruhan proses, yang sering disebut dengan algoritma multilevel queue.

       Kelemahan:
       algoritma ini pun memiliki kelemahan yang sama dengan priority scheduling, yaitu suatu proses pada queue dengan prioritas rendah bisa saja tidak mendapat jatah CPU.
       Untuk mengatasinya, memodifikasi algoritma ini dengan adanya jatah waktu maksimal untuk tiap antrian,
       jika antrian memakan terlalu banyak waktu, maka prosesnya akan dihentikan dan digantikan oleh antrian dibawahnya (batas waktu untuk tiap antrian bisa berbeda tergantung pada prioritas masing-masing antrian).

 Multilevel Feedback Queue


       Algoritma ini mirip sekali dengan algoritma Multilevel Queue.
       Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian.
       Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah.
       Ini menguntungkan proses interaksi, karena proses ini hanya memakai waktu CPU yang sedikit.
       Demikian pula proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya.

       Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh dan I/O dapat terus sibuk.
       Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.
       Algoritma ini didefinisikan melalui beberapa parameter, antara lain:
      Jumlah antrian
      Algoritma penjadwalan tiap antrian
      Kapan menaikkan proses ke antrian yang lebih tinggi
      Kapan menurunkan proses ke antrian yang lebih rendah
      Antrian mana yang akan dimasuki proses yang membutuhkan

Tidak ada komentar:

Posting Komentar