Razlika med zamrznitvijo in stradanjem

Zastoj proti stradanju
 

Glavna razlika med zastojem in stradanjem je v vzročno-posledični povezavi med njima; zastoj je tisti, ki povzroča lakoto. Druga zanimiva razlika med slepo ulico in stradanjem je, da je zamuda težava, medtem ko lahko lakota včasih pomaga izstopiti iz mrtve točke. V računalniškem svetu bo med pisanjem računalniškega programa več procesov / niti, ki se bodo hkrati izvajali drug za drugim, da bi izpolnili zahtevano storitev za program. Zato bi moral programer zagotoviti pravičen sistem, da bodo vsi procesi / niti dobili ali dobili dovolj dostopa do virov, ki jih potrebujejo. Če ne, bo prišlo do zastoja in kasneje bo prišlo do stradanja. Na splošno pravičen sistem ne vsebuje zastojev ali stradanja. Zastoji in stradanja se bodo pojavljali predvsem takrat, ko se veliko niti konkurira za omejene vire.

Kaj je zamrznitev?

Zastoj je pogoj, ki se pojavi, ko dve niti ali procesi čakajo drug drugega, da opravijo nalogo. Odložili se bodo le, a nikoli ne ustavili ali končali svoje naloge. V računalništvu je mogoče povsod videti mrtve točke. V bazi podatkov o transakcijah, ko dva procesa znotraj lastne transakcije posodobita isti dve vrstici informacij, vendar v nasprotnem vrstnem redu, povzroči slepo ulico. Pri sočasnem programiranju lahko pride do zastoja, ko bosta dve konkurenčni akciji čakali, da nadaljujeta naprej. V telekomunikacijskih sistemih lahko pride do zastoja zaradi izgube ali poškodbe signalov.

Trenutno je zamuda ena od glavnih težav v večprocesorskih sistemih in vzporednem računanju. Kot rešitev se imenuje zaklepni sistem sinhronizacija procesa se izvaja tako za programsko kot strojno opremo.

Kaj je stradanje?

Iz slovarja medicinske znanosti je stradanje posledica hudega ali popolnega pomanjkanja hranil, ki so potrebna za vzdrževanje življenja. Podobno je v računalništvu stradanje težava, s katero se srečujemo ko več niti ali procesov čaka na isti vir, ki se imenuje zastoj.

Če želite izstopiti iz mrtve točke, bi se moral eden od procesov ali niti prepustiti ali vrniti nazaj, da bi lahko druga nit ali postopek uporabil vir. Če se to nenehno dogaja in se mora isti proces ali nit vsakič odpovedati ali vrniti nazaj, medtem ko drugim procesom ali niti dovoli, da uporabljajo vir, potem bo izbrani postopek ali nit, ki se vrne nazaj, doživel situacijo, imenovano stradanje. Zato, lakota je ena od rešitev. Zato včasih imenujemo stradanje nekakšen živahnik. Kadar obstaja veliko postopkov ali niti z visoko prioriteto, bo postopek ali nit z nižjo prioriteto vedno stradala v slepi ulici.

Lahko je veliko stradanja, kot so stradajo po virih in stradajo v CPU-ju. Na stradanje je veliko pogostih primerov. Gre za problem bralcev in pisateljev ter problem filozofije, ki je bolj znan. Za okroglo mizo sedi pet tihih filozofov s skledami špagetov. Vilice so postavljene med vsakim parom sosednjih filozofov. Vsak filozof mora izmenično razmišljati in jesti. Vendar filozof lahko špagete poje le, če ima tako leve kot desne vilice.

"Filozofi za jedilnico"

Kakšna je razlika med Zastoj in stradanje?

• Proces:

• V neskladju se obe niti ali procesi počakata drug na drugega in oba ne nadaljujeta naprej.

• V primeru stradanja, ko dve ali več niti ali procesov čakata na isti vir, se bo eden vrnil nazaj in pustil, da prvi uporabijo vir, naslednjič pa se gladovna nit ali postopek ponovno poskusi. Zato se bodo vse niti ali procesi tako ali tako nadaljevali naprej.

• Povračilo:

• V tem primeru se tako niti / procesi z visokim prioritetom kot tudi niti / procesi z nizko prioriteto medsebojno čakajo. To se nikoli ne konča.

• Toda v stradanju bodo tisti z nizko prednostjo počakali ali se vrnili nazaj, vendar pa bodo nadaljevali.

• Čakanje ali zaklepanje:

• Zastoj je krožno čakanje.

• Stradanje je neke vrste rešitev in včasih pomaga priti iz mrtve točke.

• Zastoj in stradanje:

• Zastoj povzroči stradanje, stradanje pa ne povzroči slepote.

• Vzroki:

• Do blokade bo prišlo zaradi medsebojne izključitve, čakanja in čakanja, brez predpogojev ali krožnega čakanja.

• Glad se pojavi zaradi pomanjkanja virov, nenadzorovanega upravljanja z viri in prednostnih nalog procesov.

Povzetek:

Zastoj proti stradanju

Zastoj in stradanje so nekatere težave, ki nastanejo zaradi podatkovnih dirk in dirkalnih pogojev, ki se pojavijo med programiranjem, pa tudi pri izvajanju strojne opreme. V slepi ulici se dve nitki nenehno čakata drug na drugega, ne da bi se izvršili, medtem ko se bo v stradanju ena nit vrtela nazaj in pustila drugo nit, da uporablja vire. Zastoj bo povzročil stradanje, medtem ko bo stradanje pomagalo niti, da izstopi iz mrtve točke.

Vljudnost slik:

  1. Računalnik Steve Jurvetson iz Menlo parka, ZDA (CC BY 2.0)
  2. "Filozofi za obedovanje" Bdeshama (CC BY-SA 3.0)