Perbezaan antara kebuntuan dan kelaparan dalam sistem operasi OS
- 3846
- 956
- Gilbert Schumm
Sistem operasi adalah perisian paling asas yang berjalan di komputer. Ia bertanggungjawab untuk menguruskan memori dan proses komputer, serta melindungi butiran perkakasan dari program aplikasi yang menggunakannya. Sistem operasi komputer juga memastikan peruntukan sumber yang adil kepada pengguna dan program yang bertentangan dengan pengedaran yang sama antara proses. Sistem penjadualan yang adil membolehkan satu proses menggunakan CPU sementara yang lain sedang menunggu dalam barisan. Akibatnya setiap benang mendapat akses yang cukup kepada sumber terhad yang menghalang dua keadaan yang paling biasa yang akan menangguhkan proses sebaliknya: kebuntuan dan kelaparan. Kedua -duanya adalah konsep yang berkaitan di mana proses tidak mempunyai akses kepada sumber. Artikel ini menyoroti beberapa perkara utama yang membandingkan kedua -dua di pelbagai bidang.
Apa itu kebuntuan?
Deadlock adalah syarat di mana satu set benang disekat kerana setiap proses yang memegang sumber cuba mengakses beberapa sumber lain yang dipegang oleh proses lain yang akhirnya menghalang penjadualan sistem yang adil. Keadaan kebuntuan timbul apabila empat keadaan berikut memegang benar: pengecualian bersama hanya satu proses yang dapat mengakses sumber pada satu masa; Tiada keadaan preemption bermakna sumber hanya boleh dikeluarkan secara sukarela oleh proses yang memegang sumber; Hold & Wait bermaksud proses pemegangan proses boleh meminta sumber tambahan yang dipegang oleh proses lain dan; Tunggu bulat bermaksud dua atau lebih proses terjebak dalam rantai bulat yang 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 yang tinggi mengakses sumber yang sama. Ini adalah masalah pengurusan sumber kerana proses ditolak akses kepada sumber yang diperlukannya dengan itu mendorong proses ke dalam tempoh menunggu yang tidak terbatas. Ia berlaku kerana sumber yang diperlukan tidak pernah diperuntukkan kepada proses yang menyebabkan proses itu kelaparan untuk sumber, oleh itu namanya. Cara terbaik untuk mengelakkan kebuluran adalah dengan menggunakan teknik penuaan yang secara beransur -ansur meningkatkan keutamaan proses yang berada dalam tempoh menunggu untuk masa yang lama untuk memastikan sistem penjadualan yang adil.
Perbezaan antara kebuntuan dan kelaparan dalam OS
-
Definisi kebuntuan dan kelaparan
Kedua -dua kebuntuan dan kelaparan adalah konsep yang berkaitan yang menghalang penjadualan sistem yang adil di mana prosesnya disekat daripada mendapatkan 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 dengan itu mengakibatkan keadaan kebuntuan di mana program berhenti berfungsi. Kelaparan, sebaliknya, dicetuskan oleh kebuntuan yang menyebabkan proses membeku kerana proses keutamaan yang rendah ditolak akses kepada sumber yang diperuntukkan kepada proses keutamaan yang tinggi.
-
Keadaan
Kebuntuan merujuk kepada keadaan tertentu yang berlaku apabila benang atau proses masuk ke dalam tempoh menunggu kerana sumber sistem yang diminta dipegang oleh proses lain, yang pada gilirannya sedang menunggu proses lain untuk melepaskan sumbernya dengan itu membuat kebuntuan. Ini disebabkan oleh penggunaan sumber yang lemah. Kelaparan adalah keadaan penangguhan yang tidak terbatas di mana proses keutamaan yang rendah ditolak akses kepada sumber yang diperlukan kerana sumbernya diperuntukkan kepada proses keutamaan yang lain. Ini adalah masalah pengurusan sumber yang memaksa sistem untuk memperuntukkan sumber untuk hanya proses keutamaan yang tinggi.
-
Pencirian kebuntuan dan kelaparan
Deadlock adalah bentuk kelaparan utama yang disebabkan apabila empat syarat berikut berlaku serentak: pengecualian bersama, tidak ada preemption, memegang & tunggu, dan tunggu bulat. Keadaan kebuntuan hanya berlaku dalam sistem di mana semua empat keadaan berlaku. Kelaparan berlaku berdasarkan keadaan yang berbeza seperti ketika tidak ada sumber yang cukup untuk dikunjungi dan keutamaan proses mula semakin rendah atau ketika proses mulai menyerahkan sumber ke proses lain tanpa kawalan. Sekiranya proses keutamaan yang rendah meminta sumber yang dikhaskan untuk proses keutamaan tertinggi, prosesnya menjadi kelaparan selama -lamanya. Kelaparan juga berlaku apabila sumber diperuntukkan sewenang -wenangnya menyebabkan proses menunggu masa yang lebih lama.
-
Pencegahan
Kelaparan boleh dicegah dengan menggunakan algoritma penjadualan yang betul dengan giliran 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 yang rendah yang telah menunggu Untuk masa yang lama. Juga menyediakan lebih banyak sumber kepada program harus mengelakkan kesesakan sumber yang berterusan. Untuk mengelakkan sistem daripada masuk ke kebuntuan, proses mesti ditolak akses kepada satu atau lebih sumber sementara pada masa yang sama menunggu orang lain dan hanya satu proses yang dibenarkan untuk mengakses sumber pada satu masa.
Deadlock vs. Kelaparan: Carta Perbandingan
Ringkasan kebuntuan vs. Kelaparan
Kedua -dua kebuntuan dan kebuluran adalah konsep yang berkaitan dalam sistem operasi multiprocessing atau sistem yang diedarkan yang menyebabkan satu atau lebih benang atau proses tersekat dalam menunggu sumber yang mereka perlukan. Deadlock adalah situasi yang timbul apabila satu atau lebih proses meminta akses kepada sumber yang sama menyebabkan proses membeku, sedangkan kelaparan disebabkan oleh kebuntuan yang mendorong prosesnya ke keadaan penangguhan yang tidak terbatas kerana proses ditolak akses ke sumber yang dipegang oleh a proses keutamaan yang tinggi dan perlu menunggu selama -lamanya.