www.wikidata.uk-ua.nina.az
V informatici pidrahunok posilan tehnika zberigannya kilkosti posilan vkazivnikiv abo hendleriv na resurs takij yak ob yekt dilyanka pam yati prostir disku abo inshij resurs Takozh ce mozhe oznachati algoritm pribirannya smittya yakij vikoristovuye znannya kilkosti posilan dlya znishennya ob yektiv na yaki bilshe ne posilayutsya Zmist 1 Vikoristannya v pribiranni smittya 2 Perevagi i nedoliki 3 Predstavlennya grafom 4 Obrobka neefektivnosti cherez onovlennya 5 Robota z ciklichnimi posilannyami 6 PrimitkiVikoristannya v pribiranni smittya red Yak odna z form algoritmu pribirannya smittya pidrahunok posilan slidkuye za kilkistyu posilan na kozhnij ob yekt z boku inshih ob yektiv Yaksho kilkist posilan ob yekta dosyagaye nulya ob yekt staye nedosyazhnim i mozhe buti znishenim Koli ob yekt znishenij vsi ob yekti na yaki vin posilavsya zmenshuyut svoyi lichilniki posilan Tobto viluchennya odnogo posilannya mozhe viklikati zvilnennya velikoyi kilkosti ob yektiv Zazvichaj vikoristovuyetsya pidhid za yakim zamist negajnogo znishennya ob yekta pri dosyagnenni jogo lichilnikom posilan nulya vin dodayetsya do spisku nedostupnih ob yektiv i cherez pevni promizhki chasu abo za potreboyu odin abo bilshe elementiv z cogo spisku znishuyutsya Prostij pidrahunok posilan vimagaye chastih onovlen Shorazu koli posilannya znishuyetsya abo zminyuyetsya lichilnik posilan ob yekta na yakij vono velo zmenshuyetsya i shorazu koli posilannya stvoryuyetsya abo kopiyuyetsya lichilnik posilan vidpovidnogo ob yekta zbilshuyetsya Pidrahunok posilan takozh vikoristovuyetsya v diskovih operacijnih sistemah i rozpodilenih sistemah de pribirannya smittya vidstezhennyam iz negajnim vidalennyam vivilnenih ob yektiv takozh poglinaye bagato chasu cherez velikij rozmir grafu ob yektiv i povilnij dostup Perevagi i nedoliki red Golovnoyu perevagoyu pidrahunku posilan nad pribirannyam smittya vidstezhennyam angl tracing garbage collection ye te sho ob yekt utilizuyetsya odrazu zh yak na nogo perestayut posilatisya i v krokovomu angl incremental pidhodi bez dovgih pererv dlya cikliv pribirannya i z chitkoyu trivalistyu zhittya kozhnogo ob yekta V realnochasovih zastosunkah abo sistemah z obmezhenoyu pam yattyu ce vazhlivo dlya pidtrimki reaktivnosti zdatnosti do reaguvannya Pidrahunok posilan takozh odna z najprostishih dlya zdijsnennya form pribirannya smittya Vin takozh dozvolyaye efektivno keruvati ne tilki resursami pam yati a j ob yektami operacijnoyi sistemi yaki nabagato deficitnishi nizh pam yat sistemi pribirannya smittya vikoristovuyut zavershuvachi angl finalizers dlya cogo ale vidkladena utilizaciya mozhe viklikati problemi Zvazhenij pidrahunok posilan ce horoshij vihid v rozpodilenih sistemah Cikli pribirannya smittya vidstezhennyam zapuskayutsya nadto chasto yaksho nabir zhivih ob yektiv zajmaye bilshu chastinu vilnoyi pam yati taka tehnika potrebuye bilshe misce dlya efektivnosti Vidatnist pidrahunku posilan ne pogirshuyetsya iz zmenshennyam vilnogo miscya 1 Kilkist posilan takozh ye korisnoyu informaciyeyu dlya inshih optimizacij chasu vikonannya Napriklad sistemi yaki aktivno vikoristovuyut nezminni ob yekti takimi ye bagato funkcionalnih mov programuvannya mozhut zmenshiti negativnij vpliv na efektivnist cherez chasti kopiyuvannya Odnak yaksho mi znayemo sho ob yekt maye lishe odne posilannya yak ce buvaye u bilshosti v bagatoh sistemah i ce posilannya vtrachayetsya odnochasno zi stvorennyam novogo ob yekta yak v dodavanni do ryadka str str a mi mozhemo prosto zaminiti cyu operaciyu zminoyu pervisnogo ob yekta Pidrahunok posilan maye dva golovni nedoliki porivnyano z pribirannyam smittya vidstezhennyam obidvi vimagayut dodatkovi mehanizmi dlya polipshennya Chasti onovlennya yaki vin vimagaye ye prichinoyu neefektivnosti Hocha pribirannya smittya vidstezhennyam silno vplivaye na efektivnist cherez peremikannya kontekstu i pohibki keshu ale same pribirannya vidbuvayetsya nechasto v toj chas yak dostup do ob yektiv postijno Takozh mensh vazhlivo pidrahunok posilan vimagaye vid kozhnogo ob yekta vidilennya miscya vid kilkist posilan V pribiranni smittya vidstezhennyam cyu informaciyu neyavno nesut sami posilannya na cej ob yekt zberigayuchi misce hocha pribiralniki smittya vidstezhennyam osoblivo krokovij mozhe vimagati dodatkove miscya dlya inshih cilej Prostij algoritm opisanij vishe ne mozhe obrobiti ciklichni posilannya tobto ob yekt yakij pryamo abo nepryamo posilayetsya na sebe Mehanizm sho pokladayetsya viklyuchno na kilkist posilan nikoli ne rozpiznaye ciklichni lancyugi ob yektiv dlya viluchennya cherez te sho yihni kilkosti posilan garantovano budut nenulovimi Pidhid dlya ciyeyi situaciyi isnuye ale takozh zbilshuye nakladni vitrati i skladnist pidrahunku posilan z inshogo boku cej pidhid maye buti zastosovanij lishe dlya danih yaki mozhut utvoryuvati cikli chasto ce mala pidmnozhina vsih danih Odin z takih pidhodiv ce vikoristannya slabkih posilan Predstavlennya grafom red Pri roboti z pribirannyam smittya chasto korisno dumati pro graf posilan yakij ye oriyentovanim grafom de vershinami ye ob yekti i isnuye rebro vid ob yekta A do ob yekta B yaksho A mistit posilannya na B Mi takozh mayemo osoblivi vershini sho predstavlyayut lokalni zminni i posilannya yaki utrimuye rantajm sistema niyaki rebra ne vedut do cih vershin hocha mozhut vesti z nih do inshih vuzliv U comu pripushenni prosta kilkist posilan ob yekta ce vhidna stepin vershini Viluchennya vershini shozhe na pribirannya ob yekta Ce mozhe vidbutis lishe yaksho nemaye vhidnih reber tobto ce ne vplivaye na kilkist vihidnih reber bud yakoyi inshoyi vershini ale mozhe vplinuti na vhidnu stepin inshih vershin sprichinyayuchi yih mozhlive pribirannya Odna z komponent zv yaznosti grafu mistit ob yekti sho ne mozhut buti pribranimi v toj chas yak inshi komponenti zv yaznosti mistyat smittya Za prirodoyu pidrahunku posilan kozhna z komponent zi smittyam maye mistiti ne menshe odnogo ciklu Obrobka neefektivnosti cherez onovlennya red Zbilshennya i zmenshennya kilkosti posilan shorazu koli posilannya stvoryuyetsya abo znishuyetsya mozhe znachno zashkoditi vidatnosti Vikonannya cih operacij ne tilki poglinaye chas ale she j shkodit vidatnosti keshu i mozhe prizvesti do konfliktiv v konveyeri Navit diyi tilki na chitannya yak ot pidrahunok dovzhini spisku vimagaye velikoyi kilkosti chitan i zapisiv dlya onovlennya posilan pri prostomu pidrahunku posilan Odin prostij pidhid dlya kompilyatora ce ob yednati kilka susidnih onovlen posilan v odne Ce osoblivo efektivno dlya posilan yaki stvoryuyutsya i shvidko znishuyutsya Odnak treba buti oberezhnim i pomistiti ob yednane onovlennya v potribne misce zadlya uniknennya peredchasnogo vivilnennya Metod vidkladenogo pidrahunku posilan Dojtcha Boborova angl Deutsch Bobrow otrimuye zisk z togo sho bilshist onovlen kilkist posilan naspravdi vidbuvayetsya cherez posilannya zberezheni v lokalnih zminnih Algoritm ignoruye ci posilannya ale pered tim yak vidaliti ob yekt z nulovoyu kilkistyu posilan sistema maye pereviriti chi nemaye posilan na cej ob yekt zi steka i registriv Perevirka vidbuvayetsya koli tablicya ob yektiv z nulovoyu kilkistyu posilan angl zero count table zapovnyuyetsya V cij tablici znahodyat ob yekti dvoh tipiv ti na yaki posilayutsya lishe lokalni zmini i ti na yaki nihto ne posilayetsya Robota z ciklichnimi posilannyami red Isnuye bagato shlyahiv vikonannya zadachi znajdennya i pribirannya ciklichnih posilan Odin z nih ce pryama zaborona takih cikliv V deyakih sistemah podibnih do fajlovoyi sistemi ce zagalnovzhivane rishennya Inodi v sistemah z korotkim chasom zhittya i malenkoyu kilkistyu ciklichnogo smittya na cikli prosto ne zvertayut uvagi osoblivo koli sistema bula rozroblena vikoristovuyuchi pidhid yakij unikaye ciklichnih struktur danih koli ce mozhlivo Inshij pidhid pokladayetsya na periodichne vikoristannya pribirannya smittya vidstezhennyam dlya utilizaciyi cikliv Oskilki cikli zazvichaj skladayut vidnosno malu chastinu zvilnenogo miscya pribirannya cikliv mozhe vidbuvatis nechasto porivnyano zi zvichajnim pribirannyam smittya vidstezhennyam Primitki red Wilson Paul R Uniprocessor Garbage Collection Techniques Proceedings of the International Workshop on Memory Management London UK Springer Verlag s 1 42 ISBN 3 540 55940 X Section 2 1 Otrimano z https uk wikipedia org w index php title Pidrahunok posilan amp oldid 32838037