Saturday, March 14, 2020

Penjadwalan non preemptive dan preemptive

Penjadwalan secara proses dibagi menjadi 2, yaitu :

1.Non-Preemptive
    Apabila ada suatu proses yang berjalan maka Sistem Operasi atau os ataupun proses yang lainnya tidak dapat menganggu sampai proses sebelumnya selesai. Proses dapat diganggu atau dialihkan apabila proses sebelumnya telah selesai baik secara normal ataupun abnormal. Penjadwalan non preempative bisanya digunakan untuk sistem batch atau sekuensial.
2.Preemptive
    Berbeda dengan non preemptive, proses yang menggunakan penjadwalan preemptive dapat diganggu atau dialihkan tanpa harus menunggu proses tersebut untuk selesai. Penjadwalan preemptive digunakan untuk sistem yang prosesnya harus dilakukan dan ditanggapi oleh prosesor dengan sangat cepat. Penjadwalan preemptive biasanya dipakai untuk sis pada sistem real-time atau interaktif time-sharing.

Algoritma-algoritma yang digunakan pada penjadwalan
    Penjadwalan pastinya berkaitan dengan masalah pengambilan keputusan proses mana yang harus dilakukan atau diselesaikan terlebih dahulu. Apabila ada proses yang belum mendapatkan resource, maka proses tersebut akan menunggu sampai ready to queue.
Terdapat algoritma-algoritma yang digunakan agar penjadwalan bisa dilakukan secara baik dan efektif baik untuk non-preemptive ataupun preemptive.

A. Algoritma Non-Preemptive
 1.First In First Out (FIFO)
    Algoritma FIFO adalah algoritma yang tidak memiliki prioritas. Proses yang menggunakan FIFO diberi waktu proses sesuai dengan waktu kedatangan proses tersebut, dimana proses yang pertama pasti akan diproses langusng sampai selesai sesuai dengan waktu yang diberikan.
Keuntungan dan kerugian FIFO:
- Adil
- Efisien
- Waktu proses yang tidak baik
- Turn around time kurang baik
- Throughtput kurang baik
- jarang berinteraksi dengan user atau pemakai, baik sistem batch ataupun lainnya.
- Kurang baik apabila dipakai untuk sistem yang interaktif
- Tidak dapat digunakan untuk aplikasi yang menggunakan sistem real time

2.Shortest Job First (SJF)
    Algoritma penjadwalan ini ialah dengan menjadwalkan proses dengan waktu yang tercepat lebih didahului  sampai proses tersebut selesai, sehingga efisiensi dari algoritma ini sangatlah tinggi dan mempunyai turn around time yang rendah. yang berarti waktu yang digunakan oleh program mulai dari masuk ke system sampai proses akan mempersingkat waktu.

3.Highest Ratio Next (HRN)
    Merupakan Algoritma yang memprioritaskan bukan hanya memprioritaskan proses berdasarkan waktu, ia juga memprioritaskan proses berdasarkan jumlahnya. Begitu proses mendapat waktu, proses akan berjalan sampai selesai.
Algoritma HRN dihitung berdasarkan rumus :

Prioritas = (Waktu tunggu + waktu layanan)/waktu layanan

    Karena algoritma tersebut, maka proses lebih pendek akan lebih diprioritaskan. Alasan mengapa disebut HRN karena waktu tanggap adalah waktu tunggu + waktu layanan. Ketentuan Algoritma HRN ialah untuk mendapatkan waktu tanggap tertinggi yang harus dilayani.

4.Multiple Feedback Queue (MFQ)
    Algoritma ini hampir sama seperti algoritma multilevel queue. Tetapi algortima ini dapat memindahkan antrian. jika ada proses yang menggunakan menyita waktu CPU terlalu lama, maka proses tersebut akan dipindahkan ke antrian yang lebih rendah. Prioritas tertinggi akan diberikan untuk proses yang memakai CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh. Semakin rendah tingkatannnya, panjang CPU burst proses juga semakin besar.

B. Algoritma Preemptive
 1. Round Robin (RR)
    Algoritma RR merupakan penjadwalan preemptive, namun proses ini tidak dipreemptive secara langsung oleh proses lain. Proses ini dipreemptive oleh penjadwal berdasarkan lamanya waktu berjalannya suatu proses, maka penjadwalan ini disebut preempt-by-time. Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma First Come First Served dan apabila sebaliknya, akan semakin banyak peralihan proses sehingga banyak waktu terbuang.

 2.Shortest Remaining First (SRF)
    Pada algoritma ini, proses dengan waktu pemrosesan terendah yang akan dijalankan terlebih dahulu, walaupun proses tersebut baru tiba di antrean proses. Selain itu, jika ada proses yang sedang berjalan, dapat diambil alih oleh proses yang mewakili waktu pemroresan lebih sedikit.

Perbedaan SRF dengan SJF:
- Pada SJF, begitu proses dieksekusi,proses dijalankan sampai selesai
- Pada SRF, saat proses sedang berjalan dapat diambil alih oleh proses baru dengan sisa waktu jalan yang diestimasi lebih rendah

Kelamahan:
- Memiliki overhead yang lebih besar daibandingkan SJF
- Memerlukan penyimpanan waktu layanan yang telah dihabiskan proses
- Kadang-kadang harus menangani peralihan

 3.Priority Schedulling (PS)
    Merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tinggi. Algoritma ini juga bisa dijalankan secara preemptive maupun non-preemptive.
Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas lebih tinggi, maka proses(lebih rendah) yang sedang berjalan akan dihentikan, lalu CPU dialihkan untuk proses yang baru tersebut.
    Pada non-preemptive, proses yang baru datang tidak dapat mengganggu proses yang sedang berjalan, tetapi hanya diletakkan di queue. Keunggulan penjadwalan prioritas biasanya memenuhi kebijaksanaan yang ingin mencapai maksimal suatu kriteria yang diterapkan.

 4.Guaranteed Schedulling (GS)
    Penjadwalan ini berupaya memberi tiap pemakai daya pemroses yang sama untuk membuat dan menyesuaikan perfomance adalah jika ada N pemakai, tiap pemakai mendapat 1/N dari daya pemroses CPU. Untuk mewujudkannya, sistem harus menyimpan informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi n, sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu.



No comments:

Post a Comment