Perbezaan Antara Kebuntuan Dan Kelaparan

Isi kandungan:

Perbezaan Antara Kebuntuan Dan Kelaparan
Perbezaan Antara Kebuntuan Dan Kelaparan

Video: Perbezaan Antara Kebuntuan Dan Kelaparan

Video: Perbezaan Antara Kebuntuan Dan Kelaparan
Video: 【English Sub】萦萦夙语亦难求 16 | Su Yu 16(郭俊辰、李诺、吴泽南、程也晴、阳兵卓、刘骐、杨叙辰、杨云棹、魏晓东) 萦萦夙语亦难求 16 英语 2024, Mungkin
Anonim

Kebuntuan vs Kelaparan

Perbezaan utama antara kebuntuan dan kebuluran adalah hubungan sebab dan akibat antara mereka; kebuntuan yang menyebabkan kebuluran. Perbezaan lain yang menarik antara kebuntuan dan kebuluran adalah bahawa kebuntuan adalah masalah sementara kebuluran kadang-kadang dapat membantu untuk keluar dari kebuntuan. Dalam dunia komputer, semasa menulis program komputer akan ada lebih dari satu proses / utas yang secara bersamaan akan berjalan satu demi satu untuk memenuhi layanan yang diperlukan untuk program ini. Oleh itu, untuk memiliki sistem yang adil, pengaturcara harus memastikan bahawa semua proses / utas akan menerima atau mendapat akses yang mencukupi ke sumber yang mereka perlukan. Sekiranya tidak, akan ada kebuntuan, dan itu akan menyebabkan kebuluran kelak. Secara amnya, sistem yang adil tidak mengandungi kebuntuan atau kebuluran. Kebuntuan dan kelaparan akan berlaku terutamanya apabila banyak utas bersaing untuk mendapatkan sumber yang terhad.

Apakah Kebuntuan?

Kebuntuan adalah keadaan yang berlaku apabila dua utas atau proses saling menunggu untuk menyelesaikan tugas. Mereka hanya akan berhenti tetapi tidak akan berhenti atau menyelesaikan tugas mereka. Dalam sains komputer, kebuntuan dapat dilihat di mana-mana sahaja. Dalam pangkalan data transaksi, apabila dua proses masing-masing dalam transaksi sendiri mengemas kini dua baris maklumat yang sama tetapi dalam urutan yang berlawanan, akan menyebabkan kebuntuan. Dalam pengaturcaraan serentak, kebuntuan dapat terjadi ketika dua aksi bersaing akan saling menunggu untuk terus maju. Dalam sistem telekomunikasi, kebuntuan boleh berlaku kerana kehilangan atau kerosakan isyarat.

Pada masa ini, kebuntuan adalah salah satu masalah utama dalam sistem multiprosesan dan pengkomputeran selari. Sebagai penyelesaiannya, sistem penguncian yang disebut proses sinkronisasi dilaksanakan untuk perisian dan juga perkakasan.

Perbezaan Antara Kebuntuan dan Kelaparan
Perbezaan Antara Kebuntuan dan Kelaparan

Apa itu kelaparan?

Dari kamus sains perubatan, kelaparan adalah akibat kekurangan nutrien yang teruk atau total yang diperlukan untuk pemeliharaan kehidupan. Begitu juga dalam sains komputer, kelaparan adalah masalah yang dihadapi ketika banyak utas atau proses menunggu sumber yang sama, yang disebut kebuntuan.

Untuk keluar dari kebuntuan, salah satu proses atau utas harus menyerah atau memutar kembali sehingga utas atau proses lain dapat menggunakan sumber daya. Sekiranya ini berterusan berlaku dan proses atau utas yang sama harus menyerah atau memutar balik setiap kali membiarkan proses atau utas lain menggunakan sumbernya, maka proses atau utas yang dipilih, yang digulung kembali akan mengalami situasi yang disebut kelaparan. Oleh itu, untuk keluar dari kebuntuan, kelaparan adalah salah satu jalan keluar. Oleh itu, kadang-kadang kelaparan disebut sejenis makhluk hidup. Apabila terdapat banyak proses atau utas keutamaan tinggi, proses atau utas keutamaan yang lebih rendah akan selalu mengalami kebuntuan.

Terdapat banyak kebuluran seperti kelaparan pada sumber dan kelaparan pada CPU. Terdapat banyak contoh biasa mengenai kelaparan. Mereka adalah masalah Pembaca-penulis dan masalah ahli falsafah makan, yang lebih terkenal. Terdapat lima ahli falsafah senyap duduk di meja bulat dengan mangkuk spageti. Garpu diletakkan di antara setiap pasangan ahli falsafah yang berdekatan. Setiap ahli falsafah mesti berfikir dan makan secara bergantian. Walau bagaimanapun, seorang ahli falsafah hanya dapat memakan spageti apabila dia mempunyai garpu kiri dan kanan.

Kebuntuan vs Kelaparan
Kebuntuan vs Kelaparan

"Ahli Falsafah Makan"

Apakah perbezaan antara kebuntuan dan kebuluran?

• Proses:

• Dalam kebuntuan, kedua-dua utas atau proses akan saling menunggu dan kedua-duanya tidak bergerak maju.

• Dalam keadaan kelaparan, apabila dua atau lebih utas atau proses menunggu sumber yang sama, satu akan memutar kembali dan membiarkan yang lain menggunakan sumber itu terlebih dahulu dan seterusnya benang atau proses kelaparan akan mencuba lagi. Oleh itu, semua utas atau proses akan terus maju.

• Melancarkan Belakang:

• Dalam kebuntuan, kedua-dua utas / proses dengan keutamaan tinggi, dan juga urutan / proses dengan keutamaan rendah, akan saling menunggu antara satu sama lain. Ia tidak pernah berakhir.

• Tetapi, dalam keadaan kelaparan, yang berprioriti rendah akan menunggu atau mundur tetapi yang keutamaan tinggi akan diteruskan.

• Menunggu atau Mengunci:

• Kebuntuan adalah menunggu bulat.

• Kelaparan adalah sejenis kunci hidup dan kadang-kadang membantu untuk keluar dari kebuntuan.

• Kebuntuan dan Kelaparan:

• Kebuntuan menyebabkan kebuluran, tetapi kebuluran tidak menyebabkan kebuntuan.

• Sebab:

• Kebuntuan akan berlaku kerana pengecualian bersama, penangguhan dan penantian, tidak ada penentuan awal atau menunggu pekeliling.

• Kelaparan berlaku kerana kekurangan sumber daya, pengurusan sumber yang tidak terkawal, dan keutamaan proses.

Ringkasan:

Kebuntuan vs Kelaparan

Kebuntuan dan kelaparan adalah beberapa masalah yang berlaku disebabkan oleh perlumbaan data dan keadaan perlumbaan yang berlaku semasa pengaturcaraan serta pelaksanaan perkakasan. Dalam kebuntuan, dua utas akan saling menunggu tanpa henti sementara, dalam keadaan kelaparan, satu utas akan berpusing ke belakang dan membiarkan utas yang lain menggunakan sumbernya. Kebuntuan akan menyebabkan kebuluran sedangkan kelaparan akan membantu benang keluar dari kebuntuan.

Gambar ihsan:

  1. Komputer oleh Steve Jurvetson dari Menlo Park, Amerika Syarikat (CC BY 2.0)
  2. The "Philosophers Dining" oleh Bdesham (CC BY-SA 3.0)

Disyorkan: