Apa itu Starvation pada sistem operasi pengertian,penyebab serta solusi

Apa itu Starvation pada sistem operasi pengertian,penyebab serta solusi – salah satu yang perlu dipertimbangkan dalam membuat sebuah sistem operasi adalah pembagian sumber daya, pembagian sumber daya yang tidak effisien dapat menyebabkan banyak masalah, termasuk deadlock dan Starvation.

kali ini anaktik akan membahas lebih dalam mengenai starvation, so langsung saya kita mulai

Apa itu Starvation

Starvation adalah sebuah kondisi dimana terjadi permasalahan pada sistem manajemen resource sehingga suatu proses tidak dapat berjalan dalam waktu yang relatif lama.

biasanya hal ini terjadi karena sumber daya harus di alokasikan untuk proses lain yang lebih critical.

hal ini sangat wajar terjadi dalam sistem operasi dikarenakan adanya prioritas proses, proses yang lebih critical akan dijalankan terlebih dahulu dibanding proses dengan prioritas rendah.

hingga pada akhirnya proses dengan prioritas rendah harus menunggu adanya sumber daya kosong hingga waktu tertentu.

starvation sering terjadi setelah deadlock, dimana sebelumnya sumber daya mengalami kemacetan dan ketika sudah berjalan, sistem operasi akan mengatur alur sumber daya ke masing masing proses.

untuk memudahkan kita memahami apa itu starvation, kita bisa melihat gambar dibawah

illustrasi starvation

anggaplah bahwa jalanan pada gambar diatas adalah sumber daya dan mobil adalah proses, sistem operasi akan selalu memprioritaskan sumber daya pada proses dengan prioritas tinggi(jalur kiri) sehingga proses dengan prioritas lebih rendah(jalur kanan) akan menunggu hingga proses kiri selesai.

baca juga: Pengertian Sistem Terdistribusi

Penyebab Starvation pada Sistem Operasi

ada beberapa penyebab terjadinya starvation, mari kita bahas

Baca juga  Pengertian Big Data dan contoh pemanfaatan-nya
  • Terjadinya monopoli sumber daya oleh proses dengan prioritas tinggi, hal ini biasanya terjadi saat kita sedang menjalankan proses berat dalam waktu yang lama, hal ini menyebabkan proses dengan prioritas rendah tidak akan pernah dijalankan. jika proses dengan prioritas rendah tidak memberikan impact besar maka tidak akan menyebabkan terjadinya deadlock
  • Tidak cukupnya sumber daya untuk menjalankan seluruh proses, ini biasanya terjadi pada perangkat komputer lama dimana mereka memiliki sumber daya minim (tidak sebesar sumber daya perangkat komputer sekarang)
  • Recovery dari deadlock, saat terjadi deadlock beberapa proses akan dihentikan dan sistem operasi akan mengatur ulang penyaluran sumber daya, hal ini juga dapat memicu terjadinya starvation
  • jika sistem operasi menerapkan random selection untuk membagikan sumber daya maka bisa terjadi adanya starvation pada proses penting yang menyebabkan proses penting tidak mendapatkan sumber daya karena harus menunggu proses lainnya selesai
  • terjadi kesalahan dalam melakukan alokasi sumber daya

Cara Mencegah Terjadinya Starvation pada Sistem Operasi

ada beberapa cara yang dapat dilakukan untuk mencegah terjadinya Starvation, beberapa diantaranya:

  • Membuat manager independent untuk melakukan pembagian sumber daya, sehingga distribusi sumber daya dapat lebih effisien
  • menghindari penggunaan random selection untuk melakukan pembagian sumber daya
  • membuat skema prioritas dengan mempertimbangkan waktu tunggu, sehingga proses dengan waktu tunggu terlama dapat mendapatkan sumber daya terlebih dahulu

Solusi yang dapat diterapkan

Algoritma Aging

illustrasi algoritma aging by geekforgeeks.com

aging adalah sebuah teknik dimana prioritas dari suatu proses akan meningkat seiring dari waktu tunggu proses tersebut.

misalnya sebuah proses a memiliki nilai prioritas 10(rendah) setiap 1 menit waktu tunggu proses akan naik 1 tingkat. jadi jika dalam 10 menit proses a tidak di eksekusi maka prioritas proses a akan naik dari 10(rendah) menjadi 1(sangat tinggi).

Baca juga  Apa Pengertian MYSQL, sejarah, fitur, kelebihan & kekurangannya

algoritma ini memungkinkan seluruh proses dijalankan sehingga tidak terjadi starvation

Priority Scheduling

dalam algoritma ini prioritas dari setiap proses ditentukan oleh beberapa faktor, baik faktor internal(sistem operasi) ataupun faktor external (Aplikasi lain) dan tentunya proses dengan prioritas lebih tinggi akan dijalankan terlebih dahulu.

namun setiap proses yang masuk akan diurutkan berdasarkan waktu kedatangan, hal ini biasanya dikenal dengan First Come First Serve(FCFS) sehingga semua proses dapat dijalankan .

salah satu algoritma yang terkenal dalam priority scheduling adlah algoritma Round Robin, dimana setiap proses memiliki waktu maksimal penggunaan sumber daya.

maka ketika waktu maksimal terpenuhi proses tersebut akan dikembalikan ke dalam antrian.

itulah yang dapat anaktik sampaikan mengenai Apa itu Starvation pada sistem operasi pengertian,penyebab serta solusi, semoga bermanfaat

Add a Comment

Alamat email Anda tidak akan dipublikasikan.