Razlika Med Zastojem In Stradanjem

Kazalo:

Razlika Med Zastojem In Stradanjem
Razlika Med Zastojem In Stradanjem

Video: Razlika Med Zastojem In Stradanjem

Video: Razlika Med Zastojem In Stradanjem
Video: Келли МакГонигал: Как превратить стресс в друга? 2024, November
Anonim

Slepa ulica proti stradanju

Glavna razlika med zastojem in stradanjem je vzročno-posledična povezava med njimi; zastoj povzroča stradanje. Druga zanimiva razlika med zastojem in stradanjem je ta, da je zastoj težava, medtem ko lahko lakota včasih pomaga izstopiti iz zastoja. V računalniškem svetu bo med pisanjem računalniškega programa več postopkov / niti, ki se bodo istočasno izvajali eden za drugim, da bodo izpolnili zahtevano storitev za program. Da bi imel pravičen sistem, bi moral programer zagotoviti, da bodo vsi procesi / niti prejeli ali dobili dovolj dostopa do virov, ki jih potrebujejo. Če ne, bo prišlo do zastoja in kasneje bo prišlo do stradanja. Pravičen sistem na splošno ne vsebuje zastojev ali stradanja. Zastoji in stradanje se bodo pojavili predvsem takrat, ko se veliko niti poteguje za omejene vire.

Kaj je Deadlock?

Zastoj je pogoj, do katerega pride, ko dve niti ali procesi čakata, da bosta opravili nalogo. Odložili bodo samo, vendar nikoli ne bodo ustavili ali končali svoje naloge. V računalništvu je zasleditev mogoče videti povsod. V bazi podatkov o transakcijah, ko dva procesa v svoji transakciji posodobita isti dve vrstici informacij, vendar v nasprotnem vrstnem redu, povzroči zastoj. Pri sočasnem programiranju lahko pride do zastoja, ko bosta dve konkurenčni akciji čakali drug na drugega. V telekomunikacijskih sistemih se lahko zgodi izguba ali izguba signala.

Trenutno je zastoj eden glavnih problemov večprocesorskih sistemov in vzporednega računalništva. Kot rešitev je za programsko in strojno opremo izveden sistem zaklepanja, imenovan sinhronizacija procesov.

Razlika med zastojem in stradanjem
Razlika med zastojem in stradanjem

Kaj je stradanje?

Iz slovarja medicinske znanosti je lakota posledica resnega ali popolnega pomanjkanja hranil, potrebnih za vzdrževanje življenja. Podobno je pri računalništvu stradanje težava, s katero se srečamo, ko več niti ali procesov čaka na isti vir, ki se imenuje mrtva točka.

Za izhod iz mrtve točke se mora eden od procesov ali niti odpovedati ali se vrniti nazaj, tako da lahko druga nit ali postopek uporabi vir. Če se to neprestano dogaja in se mora isti postopek ali nit vsakič odpovedati ali se vrniti nazaj, medtem ko drugim procesom ali nitom dovoli uporabo vira, potem bo izbrani postopek ali nit, ki se je vrnila, doživel situacijo, imenovano stradanje. Zato je stradanje ena izmed rešitev, da bi se rešili iz mrtve točke. Zato se včasih stradanju reče nekakšen živček. Kadar je veliko procesov ali niti z visoko prioriteto, bo postopek ali nit z nižjo prioriteto vedno stradal v mrtvi točki.

Stradanje je lahko veliko, na primer stradanje pred viri in stradanje CPU-ja. Obstaja veliko pogostih primerov o stradanju. So problem bralcev-pisateljev in problem jedilnih filozofov, ki je bolj znan. Pet okrog molčečih filozofov sedi s skledami špagetov. Vilice so nameščene med vsakim parom sosednjih filozofov. Vsak filozof mora izmenično razmišljati in jesti. Filozof pa lahko špagete jedo le, če ima tako levo kot desno vilice.

Slepa ulica proti stradanju
Slepa ulica proti stradanju

"Jedilni filozofi"

Kakšna je razlika med mrtvim mestom in stradanjem?

• Postopek:

• V zastoju bosta niti ali postopka čakali drug na drugega in oba ne bosta nadaljevali naprej.

• Ko stradajo dve ali več niti ali procesi, ki čakajo na isti vir, se bo ena vrnila nazaj in pustila, da bodo drugi najprej uporabili vir, nato pa stradajoča nit ali postopek poskusili znova. Zato se bodo vse niti ali procesi vseeno nadaljevali naprej.

• pomikanje nazaj:

• V zastoju bodo niti / procesi z visoko prioriteto in niti / procesi z nizko prioriteto čakali neskončno. To se nikoli ne konča.

• Toda pri stradanju bodo tisti z nizko prioriteto počakali ali se vrnili nazaj, toda z visoko prioriteto bodo nadaljevali.

• Čakanje ali zaklepanje:

• Zastoj je krožno čakanje.

• Stradanje je neke vrste žival in včasih pomaga priti iz mrtve točke.

• Zastoj in stradanje:

• Zastoj povzroča stradanje, stradanje pa ne povzroči zastoja.

• Vzroki:

• Do zastoja bo prišlo zaradi medsebojne izključitve, zadrževanja in čakanja, brez predhodne ugodnosti ali krožnega čakanja.

• Stradanje nastane zaradi pomanjkanja virov, nenadzorovanega upravljanja virov in procesnih prioritet.

Povzetek:

Zastoj proti stradanju

Zastoj in stradanje so nekatere težave, ki se pojavijo zaradi podatkovnih dirk in dirkalnih pogojev, ki se pojavijo med programiranjem in izvajanjem strojne opreme. V mrtvi točki bosta dve niti neskončno čakali drug drugega, ne da bi se izvršili, medtem ko se bo pri stradanju ena nit vrnila nazaj in pustila drugi niti, da uporabi vire. Zastoj bo povzročil stradanje, medtem ko bo stradanje pomagalo niti, da se izstopi iz zastoja.

Vljudnost slik:

  1. Računalnik Steve Jurvetson iz Menlo Parka, ZDA (CC BY 2.0)
  2. "Jedilni filozofi" Bdeshama (CC BY-SA 3.0)

Priporočena: