Pertanyaan Apa perbedaan antara deadlock dan penundaan yang tidak terbatas?


Kebuntuan - situasi di mana dua atau lebih tindakan yang saling bersaing masing-masing menunggu yang lain selesai, dan dengan demikian tidak pernah melakukannya.

Penundaan Tak Terbatas - untuk menunda tanpa batas penjadwalan proses sementara proses lainnya menerima perhatian sistem

Kedua istilah ini tampak sangat mirip. Bagaimana saya membedakan mereka?


4
2017-10-20 21:02


asal


Jawaban:


Dalam sistem apa pun yang membuat proses menunggu sementara itu terjadi   alokasi sumber daya dan keputusan penjadwalan proses, itu mungkin   menunda tanpa batas waktu penjadwalan proses sementara lainnya   proses menerima perhatian sistem. Situasi ini, bermacam-macam   disebut penundaan tak terbatas, pemblokiran tak terbatas, atau kelaparan,   bisa sama menghancurkannya seperti deadlock

Dari:

http://wps.prenhall.com/esm_deitel_os_3/17/4402/1127072.cw/index.html

Kondisi Havender untuk deadlock (1968) - 7.2.1

• Ada daftar proses melingkar yang masing-masing menginginkan sumber daya yang dimiliki   oleh yang lain dalam daftar.

• Sumber daya tidak dapat dibagikan.

• Hanya pemilik yang dapat melepaskan sumber daya

• Suatu proses dapat memegang sumber daya sementara   meminta yang lain

Dari:

http://www.cs.auckland.ac.nz/~robert-s/415.340/lectures_1997/lecture35.pdf

Penundaan yang tak terbatas menyebabkan 1 proses menderita sementara yang lain terus normal, yang dapat disebabkan oleh penjadwalan yang buruk atau alasan lain, situasi di mana proses tanpa penundaan yang tertunda selalu memiliki prioritas yang lebih rendah daripada semua proses lain setelah sumber daya yang sama. Beberapa waktu kemudian, MUNGKIN berakhir dengan prioritas yang cukup tinggi untuk mendapatkan sumber daya.

Deadlock terjadi ketika suatu proses meminta sumber daya yang dipegang oleh proses lain. Proses itu (A) tidak akan melepaskan sumber daya sampai ia mendapatkan sumber daya lain yang diminta, yang kebetulan dipegang oleh proses lain (B) yang tidak akan melepaskannya sampai ia mendapatkan sumber daya yang dipegang oleh proses lain (C) yang tidak akan merilisnya sampai mendapat sumber daya yang ditahan oleh (A). Skenario itu melibatkan 3 proses, A, B, C; tetapi berpotensi melibatkan "lingkaran" dari 2 atau lebih proses.


4
2017-10-20 21:13



Jika dua proses dalam kebuntuan, tidak mungkin bagi mereka untuk melakukan pekerjaan yang bermanfaat - karena mereka bergantung satu sama lain, dan tidak akan pernah menghasilkan.

Jika proses ditunda tanpa batas waktu, paling tidak secara teoritis mungkin bagi proses tersebut untuk melanjutkan dan melakukan beberapa pekerjaan yang bermanfaat pada suatu waktu di masa depan. Itu bisa terjadi jika proses lain berhenti menyalahgunakan sumber daya atau hanya berhenti, atau jika Anda meningkatkan prioritas proses yang tanpa batas ditunda.


3
2017-10-20 21:13