Pagkakaiba sa Pagitan ng Deadlock at Pagkagutom

Talaan ng mga Nilalaman:

Pagkakaiba sa Pagitan ng Deadlock at Pagkagutom
Pagkakaiba sa Pagitan ng Deadlock at Pagkagutom

Video: Pagkakaiba sa Pagitan ng Deadlock at Pagkagutom

Video: Pagkakaiba sa Pagitan ng Deadlock at Pagkagutom
Video: 5 Differences Between a Military Career and a Civilian Career 2024, Nobyembre
Anonim

Deadlock vs Starvation

Ang pangunahing pagkakaiba sa pagitan ng deadlock at gutom ay ang sanhi at epekto na relasyon sa pagitan nila; ito ay deadlock na nagdudulot ng gutom. Ang isa pang kawili-wiling pagkakaiba sa pagitan ng deadlock at gutom ay ang deadlock ay isang problema habang ang gutom ay maaaring, kung minsan, ay makakatulong upang makaalis mula sa isang deadlock. Sa mundo ng kompyuter, kapag nagsusulat ng isang computer program ay magkakaroon ng higit sa isang proseso/thread na sabay-sabay na tatakbo nang sunud-sunod upang matupad ang kinakailangang serbisyo sa programa. Samakatuwid, upang magkaroon ng isang patas na sistema, dapat tiyakin ng programmer na ang lahat ng mga proseso/mga thread ay makakatanggap o makakakuha ng sapat na access sa mga mapagkukunan na kailangan nila. Kung hindi, magkakaroon ng deadlock, at hahantong sa gutom mamaya. Sa pangkalahatan, ang isang patas na sistema ay hindi naglalaman ng anumang mga deadlock o gutom. Pangunahing magaganap ang mga deadlock at gutom kapag maraming thread ang nakikipagkumpitensya para sa limitadong mapagkukunan.

Ano ang Deadlock?

Ang deadlock ay isang kundisyong nangyayari kapag naghihintay ang dalawang thread o proseso sa isa't isa upang makumpleto ang gawain. Magbibitin lamang sila ngunit hindi titigil o tatapusin ang kanilang gawain. Sa computer science, ang mga deadlock ay makikita sa lahat ng dako. Sa isang database ng transaksyon, kapag ang dalawang proseso sa bawat isa sa loob ng sarili nitong transaksyon ay nag-update ng parehong dalawang hilera ng impormasyon ngunit sa kabaligtaran ng pagkakasunud-sunod, ay magdudulot ng deadlock. Sa sabay-sabay na programming, maaaring magkaroon ng deadlock kapag ang dalawang magkatunggaling aksyon ay maghihintay para sa isa't isa na magpatuloy. Sa mga sistema ng telekomunikasyon, maaaring magkaroon ng deadlock dahil sa pagkawala o pagkasira ng mga signal.

Sa kasalukuyan, ang deadlock ay isa sa mga pangunahing problema sa multiprocessing system at parallel computing. Bilang solusyon, ipinapatupad ang locking system na tinatawag na process synchronization para sa software pati na rin sa hardware.

Pagkakaiba sa pagitan ng Deadlock at Pagkagutom
Pagkakaiba sa pagitan ng Deadlock at Pagkagutom
Pagkakaiba sa pagitan ng Deadlock at Pagkagutom
Pagkakaiba sa pagitan ng Deadlock at Pagkagutom

Ano ang Pagkagutom?

Mula sa diksyunaryo ng medikal na agham, ang gutom ay resulta ng malubha o kabuuang kakulangan ng nutrients na kailangan para sa pagpapanatili ng buhay. Katulad nito, sa computer science, ang gutom ay isang problema na nararanasan kapag maraming thread o proseso ang naghihintay para sa parehong mapagkukunan, na tinatawag na deadlock.

Para makaalis sa deadlock, ang isa sa mga proseso o thread ay dapat na sumuko o bumalik upang magamit ng ibang thread o proseso ang mapagkukunan. Kung ito ay patuloy na mangyayari at ang parehong proseso o thread ay kailangang sumuko o bumalik sa bawat oras habang hinahayaan ang iba pang mga proseso o thread na gamitin ang mapagkukunan, ang napiling proseso o thread, na gumulong pabalik ay sasailalim sa isang sitwasyong tinatawag na gutom. Kaya naman, para makaahon sa deadlock, gutom ang isa sa mga solusyon. Samakatuwid, kung minsan ang gutom ay tinatawag na isang uri ng livelock. Kapag maraming proseso o thread na may mataas na priyoridad, palaging magugutom sa deadlock ang mas mababang priyoridad na proseso o thread.

Maaaring maraming gutom gaya ng pagkagutom sa mga mapagkukunan at pagkagutom sa CPU. Maraming mga karaniwang halimbawa sa gutom. Ang mga ito ay problema ng mga Readers-writers at problema ng mga pilosopo sa pagkain, na mas sikat. May limang tahimik na pilosopo na nakaupo sa isang round table na may mga bowl ng spaghetti. Ang mga tinidor ay inilalagay sa pagitan ng bawat pares ng mga katabing pilosopo. Ang bawat pilosopo ay dapat salit-salit na mag-isip at kumain. Gayunpaman, makakakain lang ang isang pilosopo ng spaghetti kapag mayroon siyang kaliwa at kanang tinidor.

Deadlock vs Starvation
Deadlock vs Starvation
Deadlock vs Starvation
Deadlock vs Starvation

Ang “Dining Philosophers”

Ano ang pagkakaiba ng Deadlock at Starvation?

Proseso:

• Sa deadlock, maghihintay ang dalawang thread o proseso sa isa't isa at pareho silang hindi magpapatuloy.

• Sa gutom, kapag naghintay ang dalawa o higit pang thread o proseso para sa parehong mapagkukunan, babalik ang isa at hahayaan muna ang iba na gamitin ang mapagkukunan at susunod na susubukan muli ang nagugutom na thread o proseso. Samakatuwid, ang lahat ng mga thread o proseso ay magpapatuloy pa rin.

Rolling Back:

• Sa isang deadlock, parehong may mataas na priyoridad na thread/proseso, gayundin ang mababang priority na thread/proseso, ay maghihintay sa isa't isa nang walang hanggan. Hindi ito matatapos.

• Ngunit, sa isang gutom, maghihintay o magbabalik ang mga mababa ang priyoridad ngunit magpapatuloy ang mga may mataas na priyoridad.

Naghihintay o Naka-lock:

• Ang deadlock ay isang paikot na paghihintay.

• Ang gutom ay isang uri ng livelock at kung minsan ay nakakatulong upang makaalis sa deadlock.

Deadlock at Gutom:

• Ang deadlock ay nagdudulot ng gutom, ngunit ang gutom ay hindi nagdudulot ng deadlock.

Mga Sanhi:

• Magkakaroon ng deadlock dahil sa mutual exclusion, hold and wait, walang preemption o circular waiting.

• Nangyayari ang gutom dahil sa kakulangan ng mga mapagkukunan, hindi nakokontrol na pamamahala ng mga mapagkukunan, at mga priyoridad sa proseso.

Buod:

Deadlock vs. Starvation

Ang Deadlock at gutom ay ilan sa mga problemang nagaganap dahil sa mga data race at kundisyon ng lahi na nangyayari sa panahon ng programming pati na rin ang pagpapatupad ng hardware. Sa isang deadlock, dalawang thread ang walang hanggan na maghihintay sa isa't isa nang hindi nagsasagawa habang, sa isang gutom, ang isang thread ay babalik at hahayaan ang kabilang thread na gamitin ang mga mapagkukunan. Ang deadlock ay magdudulot ng gutom samantalang ang gutom ay makakatulong sa isang thread na makaalis mula sa deadlock.

Inirerekumendang: