PENJADWALAN CPU

Nama : Dewi Manuwati 

NIM    : STE202202645


Penjadwalan CPU merupakan pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadwalan CPU merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Suatu proses terdiri dari dua siklus yaitu Burst I/O dan Burst CPU yang dilakukan bergantian hingga proses selesai. 

Terdapat 4 skema dalam penjadwalan CPU, yaitu:

    1. Berubah dari runnning state ke ready state

    2. Berubah dari waiting state ke ready state

    3. Berubah dari running state ke waiting state

    4. Terminate

Komponen yang lain dalam penjadwalan CPU adalah Dispatcher, dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling. Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai proses yang lain disebut dengan dispatch latency.

Penjadwalan Preemptive

Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O. Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi. Dan juga membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses. 

Dalam waktu-waktu tertentu, proses dapat dikelompokkan ke dalam dua kategori:

  1. proses yang memiliki Burst M/K yang sangat lama disebut I/O Bound.
  2. proses yang memiliki Burst CPU yang sangat lama disebut CPU Bound.

Kriteria Penjadwalan

Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti. Sehingga untuk memilih algoritma ini harus dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa kriteria yang digunakan untuk melakukan pembandingan algoritma penjadwalan CPU, antara lain:

  1. CPU utilization. Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen yaitu 0–100%. Namun dalam kenyataannya hanya berkisar antara 40–90%.
  2. Throughput. Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
  3. Turnaround time. Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.
  4. Waiting time. Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.
  5. Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.
  6. Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair).

Algoritma Penjadwalan

Penjadwalan CPU menyangkut penentuan proses-proses yang ada dalam ready queue yang akan dialokasikan pada CPU. Terdapat beberapa algoritma penjadwalan CPU, yaitu :

Algoritma first come first served(FCFS)

1.        Ini merupakan algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat prioritas. Penjadwalan FCFS algoritma adalah nonpremptive. Ketika CPU telah dialokasikan untuk sebuah proses, proses tetap menahan CPU sampai selesai.

2.        Algoritma Shortest Job Fist (SJF)

Algoritma ini berkaitan dengan waktu setiap proses. Ketika CPU bebas proses yang mempunyai waktu terpendek untuk menyelesaikannya mendapat prioritas. Ada dua skema dalam Algoritma Shortest Job Fist ini yaitu:

    a. Nonpremptive, ketika CPU memberikan kepada proses itu tidak bisa ditunda hingga selesai.

     b. Premptive, bila sebuah proses datang dengan waktu prose lebih rendah dibandingkan                                  dengan waktu proses yang sedang dieksekusi oleh CPU maka proses yang waktunya lebih                       rendah mendapatkan prioritas.

3.        Penjadwalan Prioritas

Penjadwalan SJF (Shortest Job First) adalah kasus khusus untuk algoritma penjadwal prioritas. Prioritas dapat diasosiasikan masing-masing proses dan CPU dialokasikan untuk proses dengan prioritas tertinggi. Untuk proritas yang sama dilakukan dengan FCFS. Dalam algoritma ini ada dua skema yaitu:

       a.    Preemptive: proses dapat di interupsi jika terdapat prioritas lebih tinggi yang memerlukan                      CPU.

        b.  Nonpreemptive: proses dengan prioritas tinggi akan mengganti pada saat pemakain time- slice                 habis.

    SJF adalah contoh penjadwal prioritas dimana prioritas ditentukan oleh waktu pemakaian                         CPU berikutnya.

4.        Penjadwalan Round Robin

Algoritma ini mirip dengan penjadwal FCFS, namun preemption ditambahkan untuk switch antara proses.

Berikut algoritma untuk penjadwal Round Robin:

                a.  Setiap proses mendapat jatah waktu CPU (time slice/quantum) tertentu, Time                                             slice/quantum umumnya antara 10 – 100 milidetik.

                b. Setelah time slice/quantum maka prose s akan di-preempt dan dipindahkan ke antrian                                ready

                c.  Proses ini berlangsung adil dan sederhana.

Kinerja dari algoritma ini tergantung dari ukuran time quantum. Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS.

Penjadwalan Multipe Processor

Multiprocessor membutuhkan penjadwalan yang lebih rumit karena mempunyai banyak kemungkinan yang dicoba tidak seperti pada processor tunggal. Pada penjadwalan multipresor penjadwalan menjadi lebih kompleks, Jika ada beberapa prosesor yang identik tersedia maka load sharing akan terjadi.

Dalam kasus ini, bagaimana pun, satu prosesor bisa menjadi idle dengan antrian yang kosong sedangkan yang lain sangat sibuk. Untuk mengantisipasi hal ini kita menggunakan ready queue yang biasa. Semua proses pergi ke satu queue dan dijadwalkan untuk prosesor yang bisa dipakai.

Dalam skema tersebut, salah satu penjadwalan akan digunakan. Salah satu cara menggunakan symetric multiprocessing (SMP) di mana setiap prosesor men- jadwalkan diri sendiri. Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi. Beberapa sistem membawa struktur satu langkah kedepan, dengan membawa semua keputusan penjadwalan, I/O prosesing, dan aktivitas sistem yang lain ditangani oleh satu prosesor yang bertugas sebagai master prosesor. Prosesor yang lain mengeksekusi hanya user code yang disebut asymmetric multipro

Komentar

Postingan populer dari blog ini

MANAJEMEN PROSES