ALGORITMA PENJADWALAN

Sistem operasi mempunyai masalah untuk memutuskan proses mana yang berada di antrian ready akan dialokasikan ke CPU. Ada bermacam-macam algoritma penjadwalan dengan menggunakan metode pre-emptive ataupun dengan metode non-preemptive.

FIFO (First In First Out) atau FCFS (First Come First Serve)

FIFO tidak peduli apakahburst time-nya panjang atau pendek, sebuah proses yang sedang dikerjakan diselesaikan terlebih dahulu barulah proses berikutnya dilayani.

Penjadwalan FIFO merupakan penjadwalan :

  • Penjadwalan no-preemptive (run-to-completion)
  • Penjadwalan tidak berprioritas

Ketentuan dari penjadwalan FIFO adalah :

  • proses-proses diberi jatah waktu pemroses, diurut dengan waktu kedatangannya
  • bagian proses mendapatkan jatah waktu pemrosesan, proses dilanjutkan sampai proses tersebut selesai, walaupun ada proses lain yang datang,proses tersebut berada dalam antrian sistem atau disebut dengan ready queue

pada dasarnya algoritma penjadwalan ini cukup adil dalam halbahasa, karena proses yang datang lebih dulu dikerjakan terlebih dahulu. Dari segi konsep sistem operasi, penjadwalan model ini tidak adil karena proses-proses yang memiliki waktu proses yang lebih pendek menunggu sampai proses yang lama tersebut selesai, sedangkan proses-proses yang tidak penting membuat proses penting menunggu.

Penjadwalan FIFO cocok digunakan untuk sistem batch yang sangat jarang melakukan interaksi dengan user secara langsung, tapi tidak cocok digunakan untuk sistem interaktif karena memberi waktu tanggap yang bagus, begitu juga dengan sistem waktu nyata.

Shortest Job First Scheduler (SJF)

Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil ditunda sampaiCPU burst selesai. Terdapat dua skema :

  1. Non Preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai
  2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, program ini ditunda dan diganti dengan proses baru. Skema ini disebut Shortest-Remaining-Time-First (SRTF).

Shortest Remaining Time First (SRTF)

Penjadwalan ini merupakan penjadwalan SJF yang preemptive. Dalam kasus ini penjadwalan selalu memilih proses yang mempunyai perkiraan waktu sisa pemrosesan yang terpendek. Ketika suatu proses baru masuk antrian ready, dan proses tersebut mempunyai waktu sisa pemrossan yang lebig pendek dibanding proses yang sedang berjalan, maka proses yang sedang berjalan tersebut disela untuk menjalankan proses baru. Hal ini juga mempunyai resiko untuk terjadinya starvision.

Priority Scheduling

Algoritna SJF adalah suatu kasus khusus dari penjadwalan berprioritas. Tiap-tiap proses dilengkapi dengan nomor prioritas (interger). CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi (nilai interger terkecil biasanya merupakan rioritas terbesar). Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS. Penjadwalan berprioritas terdiri atas dua skema yaitu non-preemptive dan preemptive.

Ketika suatu proses berada di antrian ready, maka prioritasnya dibandingkan dengan prioritas proses yang sedang berjalan. Metode Preemptive digunakan jika ternyata prioritas proses yang baru masuk lebih tinggi dibandingkan proses yang sedang berjalan. Metode non-preemptive digunakan jika proses yang baru masuk berprioritas lebih rendah dibandingkan proses yang sedang berjalan, dan akan meletakkan proses baru tersebut di antrian ready.

Ada kekurangan dalam penjadwalan prioritas ini, yaitu dapat terjadi suatu starvation yang tidak terduga. Starvation akan terjadi pada proses yang mempunyai prioritas terendah, karena proses yang berprioritas terendah akan selalu ditunda pengeksekusiannya ketika ada proses-proses baru yang berprioritas lebih tinggi. Pemecahan masalah ini adalah dengan menggunakan penjadwalan HRRN.

HRRN (Highest Response Ratio Next)

Penjadawalan ini merupakan penjadwalan non-preemptive yang sebenarnya merupakan perbaikan dari algoritma SJF, karena pada SJF ada kemungkinan proses dengan waktu layanan lama akan menunggu lama untuk dieksekusi. Hal ini disebabkan adanya proses-proses lain yang waktu layanannya selalu lebih pendek dari proses tersebut.

Guaranteed (Terjamin)

Penjadwalan ini berusaha memberikan kepada setiap proses sumber daya CPU yang sama. Jika ada n proses yang ,asuk, maka setiap proses akan mendapat 1/n kekuatan CPU. Untuk mencapai hal tersebut, maka sistem harus selalu mengingat seberapa besar waktu proses menggunakan CPU sejak proses masuk dan jumlah waktu CPU yang digunakan oleh seluruh proses yang masuk.

Deadline

dalam penjadwalan ini seluruh proses yang datang diperiksa deadline pemrosesannya. JIka deadlinenya sudah dekat, maka proses tersebut segera dijalankan. Jika tidak, maka proses tersebut tidak akan pernah dikerjakan lagi. Misalnya proses yang harus diselesaikan dalam waktu 10 detik akan mendaptkan prioritas lebih tinggi dibanding proses yang harus selesai dalam waktu 10 menit.

Round Robin Scheduling

Konsep dasar dari algoritma ii adalah dengan menggunakan time sharing. Pada dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang desebut dengan waktu quantum (quantume time) untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses diutnfa dan ditambahkan pada ready queue

Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses terebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya, Jka terdapat n proses pada ready queue dan waktu quantum q, maka setiap proses mendapatkan 1/n dari waktku CPU paling banyak q unit waktu pada sekali penjadwalan CPU. Tidak ada proses yang menunggu lebih dari (n-1)q unit waktu. Performansi algoritma round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan adalah algoritma FIFO, tetapi jika q lebih kecil maka sering terjadi context switch.

DAFTAR PUSTAKA

Ariyus,Doni&Abas Ali Pagera.2010.Sistem Operasi. Yogyakarta : Andi.

Binanto, Iwan.2005.Sistem Operasi. Yogyakarta : Andi.

Tinggalkan komentar