Penjadwalan Prosesor Tunggal (Uniprocessor Scheduling)

Memori

Penjadwalan Prosesor Tunggal (Uniprocessor Scheduling) – www.kolonginfo.com. Penjadwalan Prosesor Tunggal atau Uni Processor Scheduling bertujuan menjalanankan satu proses pada saat tertentu, sedangkan yang lain harus menunggu CPU bebas dan dijadwal ulang. Sobat kolonginfo.com dapat membaca seluruhnya sebagai berikut.

Latar belakang

Dalam pemrosesan prosesor dikenal uni processor scheduling/penjadwalan prosesor tunggal dan multi processor scheduling. Pada artikel ini diulas tentang uni processor scheduling, untuk multi processor scheduling berlanjut di artikel berikutnya. (Menu Sistem Informasi)

Sobat kolonginfo.com akan mengenal teknik alogritma dan penjelasan teknisnya. Selamat membaca.

Penjadwalan Prosesor Tunggal

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.

Jenis Penjadwalan Prosesor Tunggal

Tipe penjadwal yang berada bersama pada sistem operasi kompleks, yaitu :

  • Penjadwal jangka pendek yaitu menjadwalkan alokasi pemroses di antara proses-proses yang telah siap di memori utama.
  • Penjadwal jangka menengah yaitu menangani serta mengendalikan transisi dari suspended-to- ready dari proses-proses swapping.
  • Penjadwal jangka panjang yaitu bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi.

Algoritma Penjadwalan Prosesor Tunggal

Masalah penjadwalan CPU adalah memutuskan proses mana yang berada di dalam antrian ready akan dialokasikan ke CPU. Ada beberapa algoritma penjadwalan CPU beberapa diantaranya dapat sobat kolonginfo.com temukan berikut.

First-Come First-Served (FCFS)

First-Come First-Served (FCFS): Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan ke dalam antrian FIFO sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi terlebih dahulu.

Baca Juga:  Manajemen Memori pada Sistem Operasi

Kelemahan dari algoritma ini:

  • Waiting time rata-ratanya cukup lama.
  • Terjadinya convoy effect, yaitu proses-proses menunggu lama untuk menunggu satu proses besar yang sedang dieksekusi oleh CPU.
  • Algoritma ini juga menerapkan konsep non-preemptive, yaitu setiap proses yang sedang dieksekusi oleh CPU tidak dapat di-interrupt oleh proses yang lain.

Shortest-Job First (SJF)

Algoritma ini mempunyai cara penjadwalan yang berbeda dengan FCFS. Dengan algoritma ini maka setiap proses yang ada di antrian ready akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

Ada beberapa kekurangan dari algoritma ini yaitu:

  • Kesulitan untuk memprediksi burst time proses yang akan dieksekusi selanjutnya .
  • Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.

Algoritma SJF dapat dibagi menjadi dua bagian yaitu:

  1. Preemptive. Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di antrian ready dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di antrian ready tersebut. Preemptive SJF sering disebut juga Shortest-Remaining-Time-First scheduling.
  2. Non-preemptive. CPU tidak memperbolehkan proses yang ada di antrian ready untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil.

Priority Scheduling/Penjadwalan dengan Prioritas

Penjadwalan dengan Prioritas atau Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses dengan nilai prioritas tertinggi.

Baca Juga:  Memori Virtual pada Sistem Operasi

Karakteristik prioritas antara lain:

  • Batas waktu
  • Kebutuhan Memori
  • Akses file
  • Perbandingan antara I/O Burst dengan CPU Burst
  • Tingkat kepentingan proses

Penjadwalan dengan prioritas juga dapat dijalankan secara preemptive maupun non-preemptive :

  1. preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut.
  2. non-preemptive, proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan antrian.

Kelemahan algoritma prioritas yaitu indefinite blocking (starvation) à suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam antrian secara bertahap.

Round Robin

Untuk sistem time-sharing. Proses akan mendapat jatah sebesar time quantum dengan nilai quantum umumnya sebesar 10-100 ms. Jika time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU (1/n), dan tak akan menunggu lebih lama dari (n-1)/q. Algoritma ini sepenuhnya bergantung pada besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first-come first-served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang.

Antrian Multilevel (Multilevel Queue)

Prinsipnya adalah, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka akan didapati queue/antrian.

Berawal dari priority scheduling, algoritma Multilevel Queue pun memiliki kelemahan yang sama dengan priority scheduling, yaitu sangat mungkin bahwa suatu proses pada queue dengan prioritas rendah bisa saja tidak mendapat jatah CPU.

Baca Juga:  Memori Virtual pada Sistem Operasi

Untuk mengatasi hal tersebut, salah satu caranya adalah dengan memodifikasi algoritma ini dengan adanya jatah waktu maksimal untuk tiap antrian, sehingga jika suatu antrian memakan terlalu banyak waktu, maka prosesnya akan dihentikan dan digantikan oleh antrian dibawahnya, dan tentu saja batas waktu untuk tiap antrian bisa saja sangat berbeda tergantung pada prioritas masing-masing antrian.

Multilevel Feedback Queue

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 dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya.

Untuk mengetahui mana penjadwal terbaik, kita harus mengetahui nilai parameter tersebut.

Multilevel feedback queue adalah salah satu algoritma yang berdasar pada algoritma mulilevel queue. Perbedaan mendasar yang membedakan multilevel feedback queue dengan multilevel queue biasa adalah terletak pada adanya kemungkinan suatu proses berpindah dari satu antrian ke antrian lainnya, entah dengan prioritas yang lebih rendah ataupun lebih tinggi.

Algoritma Multilevel Feedback Queue 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

Penutup Pengenalan Penjadwalan Prosesor Tunggal

Dalam pemrosesan procesor dapat mengeksekusi proses secara tunggal (uni processor scheduling/Penjadwalan Prosesor Tunggal) . Dalam implementasinya terdapat algoritma, kelebihan dan keuntungan. Tentunya sobat kolonginfo.com juga dapat membandingkannya dengan multiprocessor

Sobat kolonginfo.com dapat menemukan artikel yang lebih mendalam tentang memori pada sistem operasi/sistem informasi dapat ditemukan pada menu Sistem Informasi. Semoga bermanfaat

Diolah dari berbagai sumber