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 MID Teknologi 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

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
- 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

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).
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 MID Teknologi sampaikan mengenai Apa itu Starvation pada sistem operasi pengertian,penyebab serta solusi, semoga bermanfaat

Adinata is a tech expert and content creator experience more than 5 years on networking, coding and managed cloud vps server