Perbezaan Antara Deadlock dan Starvation dalam Sistem Operasi OS

Sistem pengendalian adalah perisian paling asas yang dijalankan pada komputer. Ia bertanggungjawab untuk menguruskan memori dan proses komputer, serta melindungi perincian perkakasan daripada program aplikasi yang menggunakannya. Sistem pengendalian komputer juga memastikan peruntukan sumber yang adil untuk pengguna dan program berbanding dengan pengedaran yang sama di antara proses. Sistem penjadualan yang adil membolehkan satu proses menggunakan CPU manakala yang lain sedang menunggu giliran. Akibatnya setiap benang mendapat akses yang mencukupi kepada sumber terhad yang menghalang kedua-dua keadaan paling biasa yang akan menangguhkan proses sebaliknya: Deadlock and Starvation. Kedua-duanya adalah konsep yang berkaitan di mana proses tidak mempunyai akses kepada sumber. Artikel ini menyoroti beberapa perkara utama yang membandingkan kedua-dua bidang.

Apa itu Deadlock?

Deadlock adalah syarat di mana satu set benang disekat kerana setiap proses yang memegang sumber cuba untuk mengakses beberapa sumber lain yang dipegang oleh proses lain akhirnya menghalang penjadualan sistem yang adil. Keadaan kebuntuan timbul apabila empat syarat berikut berlaku: Pengecualian mutual bermaksud hanya satu proses yang dapat mengakses sumber pada suatu masa; Tiada keadaan pendahuluan bermakna sumber hanya boleh dikeluarkan secara sukarela oleh proses yang memegang sumber; Pegang & tunggu bermakna proses memegang sumber boleh meminta sumber tambahan yang dipegang oleh proses lain dan; Tunggu Pekelular bermakna dua atau lebih proses terjebak dalam rantai pekeliling menunggu setiap proses untuk melepaskan sumber masing-masing.

Apa itu Kelaparan?

Kelaparan adalah keadaan yang timbul apabila proses masuk ke dalam tempoh menunggu selama-lamanya sebagai proses keutamaan yang rendah tidak pernah mendapat peluang untuk mengakses sumber kerana aliran berterusan proses keutamaan tinggi yang mengakses sumber yang sama. Ia adalah masalah pengurusan sumber kerana proses ditolak akses kepada sumber yang diperlukan sehingga mendorong proses menjadi tempoh tunggu yang tidak pasti. Ia berlaku kerana sumber yang diperlukannya tidak pernah diperuntukkan kepada proses yang menyebabkan proses menjadi kelaparan untuk sumber daya, oleh itu namanya. Cara terbaik untuk mengelakkan kebuluran adalah dengan menggunakan teknik penuaan yang secara beransur-ansur meningkatkan keutamaan proses yang dalam tempoh menunggu untuk jangka masa yang panjang untuk memastikan sistem penjadualan yang adil.

Perbezaan antara Deadlock dan Starvation dalam OS

  1. Definisi Deadlock dan Starvation

Kedua-dua kebuntuan dan kelaparan adalah konsep yang berkaitan yang menghalang penjadualan sistem yang adil di mana prosesnya disekat daripada memperoleh akses kepada sumber. Deadlock, seperti namanya, merujuk kepada keadaan di mana satu set benang atau proses disekat kerana setiap proses sedang menunggu untuk memperoleh sumber yang dipegang oleh proses lain yang mengakibatkan situasi kebuntuan di mana program berhenti berfungsi. Di sisi lain, kelaparan adalah dipicu oleh kebuntuan yang menyebabkan proses membeku kerana proses keutamaan yang rendah ditolak akses kepada sumber yang diperuntukkan kepada proses keutamaan yang tinggi.

  1. Keadaan

Kebuntuan merujuk kepada keadaan khusus yang berlaku apabila benang atau proses masuk ke dalam tempoh menunggu kerana sumber sistem yang diminta dipegang oleh proses lain, yang seterusnya menunggu proses lain untuk melepaskan sumbernya sehingga membuat kebuntuan. Ini disebabkan oleh penggunaan sumber yang lemah. Kelaparan adalah keadaan penangguhan yang tidak terbatas di mana proses keutamaan yang rendah tidak dapat diakses dengan sumber yang diperlukan kerana sumber itu diperuntukkan kepada satu lagi proses keutamaan yang tinggi. Ia adalah masalah pengurusan sumber yang memaksa sistem untuk memperuntukkan sumber untuk hanya proses keutamaan yang tinggi.

  1. Pencirian Deadlock and Starvation

Deadlock adalah bentuk utama kelaparan yang disebabkan apabila empat syarat berikut berlaku secara serentak: Pengecualian Mutlak, Tiada Pengecualian, Pegang & Tunggu, dan Tunggu Pekeliling. Keadaan kebuntuan berlaku hanya dalam sistem di mana semua empat keadaan berlaku. Kelaparan berlaku berdasarkan keadaan yang berbeza seperti apabila tidak ada sumber yang mencukupi untuk dikunjungi dan keutamaan proses mula semakin rendah atau apabila proses mula menyalurkan sumber ke proses lain tanpa kawalan. Sekiranya proses keutamaan yang rendah meminta sumber terpelihara untuk proses keutamaan yang tertinggi, proses itu akan berlangsung selama-lamanya. Kelaparan juga berlaku apabila sumber-sumber diperuntukkan sewenang-wenang menyebabkan proses menunggu masa yang lebih lama.

  1. Pencegahan

Kelumpuhan boleh dihalang dengan menggunakan algoritma penjadualan yang betul dengan barisan keutamaan yang sebenarnya juga menggunakan teknik penuaan - teknik penjadualan yang menambah faktor penuaan kepada keutamaan setiap permintaan yang bermaksud ia meningkatkan tahap keutamaan proses keutamaan rendah yang telah menunggu untuk masa yang lama. Juga menyediakan lebih banyak sumber kepada program harus mengelakkan kesesakan sumber daya yang berterusan. Untuk menghalang sistem daripada menjadi kebuntuan, proses harus ditolak akses kepada satu atau lebih sumber sementara pada masa yang sama menunggu orang lain dan hanya satu proses yang harus dibenarkan mengakses sumber pada satu masa.

Deadlock vs. Starvation: Carta Perbandingan

Ringkasan Deadlock VS. Kelaparan

Kedua-dua kebuntuan dan kelaparan adalah konsep yang berkaitan dalam sistem operasi multiprosesor atau sistem yang diedarkan yang menyebabkan satu atau lebih benang atau proses terperangkap dalam menunggu sumber yang mereka perlukan. Deadlock adalah situasi yang timbul ketika satu atau lebih proses meminta akses ke sumber yang sama menyebabkan proses membeku, sedangkan kebuluran disebabkan oleh kebuntuan yang mendorong prosesnya ke negara penundaan yang tidak pasti karena proses ditolak akses ke sumber yang dipegang oleh proses keutamaan yang tinggi dan perlu menunggu selama-lamanya.