Perbedaan antara kebuntuan dan kelaparan dalam OS Operating System OS

Perbedaan antara kebuntuan dan kelaparan dalam OS Operating System OS

Sistem operasi adalah perangkat lunak paling mendasar yang berjalan di komputer. Ini bertanggung jawab untuk mengelola memori dan proses komputer, serta melindungi detail perangkat keras dari program aplikasi menggunakannya. Sistem operasi komputer juga memastikan alokasi sumber daya yang adil untuk pengguna dan program yang bertentangan dengan distribusi yang sama di antara proses. Sistem penjadwalan yang adil memungkinkan satu proses untuk menggunakan CPU sementara yang lain menunggu dalam antrian. Akibatnya, setiap utas mendapatkan akses yang cukup ke sumber daya yang terbatas mencegah dua kondisi paling umum yang akan menunda proses sebaliknya: kebuntuan dan kelaparan. Keduanya adalah konsep terkait di mana prosesnya tidak memiliki akses ke sumber daya. Artikel ini menyoroti beberapa poin utama yang membandingkan keduanya di berbagai bidang.

Apa itu kebuntuan?

Deadlock adalah kondisi di mana satu set utas diblokir karena setiap proses yang memegang sumber daya sedang mencoba mengakses beberapa sumber daya lain yang dipegang oleh proses lain yang pada akhirnya mencegah penjadwalan sistem yang adil. Situasi kebuntuan muncul ketika empat kondisi berikut berlaku: pengecualian timbal balik berarti hanya satu proses yang dapat mengakses sumber daya pada suatu waktu; Tidak ada kondisi preemption berarti sumber daya hanya dapat dirilis secara sukarela dengan proses memegang sumber daya; Hold & Wait berarti sumber daya holding proses dapat meminta sumber daya tambahan yang dipegang oleh proses lain dan; Tunggu melingkar berarti dua atau lebih proses macet dalam rantai melingkar menunggu setiap proses untuk melepaskan sumber daya masing -masing.

Apa itu kelaparan?

Kelaparan adalah suatu kondisi yang muncul ketika suatu proses masuk ke masa tunggu tanpa batas waktu sebagai proses prioritas rendah tidak pernah mendapat kesempatan untuk mengakses sumber daya karena aliran konstan proses prioritas tinggi yang mengakses sumber daya yang sama. Ini adalah masalah manajemen sumber daya karena suatu proses ditolak akses ke sumber daya yang dibutuhkan dengan demikian mendorong proses ke masa tunggu yang tidak terbatas. Itu terjadi karena sumber daya yang dibutuhkannya tidak pernah dialokasikan untuk proses yang menyebabkan proses kelaparan untuk sumber daya, karenanya namanya. Cara terbaik untuk menghindari kelaparan adalah dengan menggunakan teknik penuaan yang secara bertahap meningkatkan prioritas proses yang dalam waktu tunggu untuk waktu yang lama untuk memastikan sistem penjadwalan yang adil.

Perbedaan antara kebuntuan dan kelaparan di OS

  1. Definisi kebuntuan dan kelaparan

Baik kebuntuan dan kelaparan adalah konsep terkait yang mencegah penjadwalan sistem yang adil di mana proses diblokir dari mendapatkan akses ke sumber daya. Deadlock, seperti namanya, mengacu pada kondisi di mana satu set utas atau proses diblokir karena setiap proses menunggu untuk memperoleh sumber daya yang dipegang oleh proses lain sehingga menghasilkan situasi kebuntuan di mana program berhenti berfungsi untuk berfungsi. Kelaparan, di sisi lain, dipicu oleh kebuntuan yang menyebabkan proses membeku karena proses prioritas rendah ditolak akses ke sumber daya yang dialokasikan untuk proses prioritas tinggi.

  1. Kondisi

Kebuntuan mengacu pada kondisi tertentu yang terjadi ketika utas atau proses masuk ke masa tunggu karena sumber daya sistem yang diminta dipegang oleh proses lain, yang pada gilirannya menunggu proses lain untuk melepaskan sumber dayanya sehingga menciptakan kebuntuan. Ini disebabkan oleh pemanfaatan sumber daya yang buruk. Starvation adalah kondisi penundaan yang tidak terbatas di mana proses prioritas rendah ditolak akses ke sumber daya yang dibutuhkan karena sumber daya dialokasikan untuk proses prioritas tinggi lainnya. Ini adalah masalah manajemen sumber daya yang memaksa sistem untuk mengalokasikan sumber daya hanya untuk proses prioritas tinggi.

  1. Karakterisasi kebuntuan dan kelaparan

Deadlock adalah bentuk utama kelaparan yang disebabkan ketika empat kondisi berikut terjadi secara bersamaan: pengecualian timbal balik, tidak ada preemption, tahan & tunggu, dan tunggu melingkar. Kondisi kebuntuan hanya terjadi dalam sistem di mana keempat kondisi tersebut berlaku. Kelaparan terjadi berdasarkan kondisi yang berbeda seperti ketika tidak ada sumber daya yang cukup untuk berkeliling dan prioritas proses mulai semakin rendah atau ketika proses mulai menyerahkan sumber daya ke proses lain tanpa kontrol. Jika proses prioritas rendah meminta sumber daya yang disediakan untuk proses prioritas tertinggi, prosesnya kelaparan selamanya. Kelaparan juga terjadi ketika sumber daya dialokasikan secara sewenang -wenang menyebabkan proses menunggu waktu yang lebih lama.

  1. Pencegahan

Kelaparan dapat dicegah dengan menggunakan algoritma penjadwalan yang tepat dengan antrian prioritas yang sebenarnya juga menggunakan teknik penuaan - teknik penjadwalan yang menambahkan faktor penuaan pada prioritas setiap permintaan yang berarti meningkatkan tingkat prioritas proses prioritas rendah yang telah menunggu untuk waktu yang lama. Juga menyediakan lebih banyak sumber daya untuk program harus menghindari kemacetan sumber daya yang berkelanjutan. Untuk mencegah sistem masuk ke jalan buntu, proses harus ditolak akses ke satu atau lebih sumber daya sambil secara bersamaan menunggu orang lain dan hanya satu proses yang harus diizinkan untuk mengakses sumber daya pada suatu waktu.

Deadlock vs. Kelaparan: Bagan Perbandingan

Ringkasan Deadlock VS. Kelaparan

Baik kebuntuan dan kelaparan adalah konsep terkait dalam sistem operasi multiproses atau sistem terdistribusi yang menyebabkan satu atau lebih utas atau proses terjebak dalam menunggu sumber daya yang mereka butuhkan. Deadlock adalah situasi yang muncul ketika satu atau lebih proses meminta akses ke sumber daya yang sama menyebabkan proses membeku, sedangkan kelaparan disebabkan oleh kebuntuan yang mendorong proses ke keadaan penundaan yang tidak terbatas karena proses ditolak akses ke sumber daya yang dipegang oleh a proses prioritas tinggi dan perlu menunggu selamanya.