Član : Prijava |Registracija |Znanje Naloži
Iskanje
Zbiranje odpadkov: računalništvo [Sprememba ]
V računalništvu je zbiranje smeti (GC) oblika avtomatskega upravljanja s spominom. Zbiralec smeti ali samo zbiralec poskuša ponovno pridobiti smeti ali pomnilnik, ki ga zasedajo predmeti, ki jih program ne uporablja več. Zbiranje smeti je izumil John McCarthy okoli leta 1959 za poenostavitev ročnega upravljanja spomina v Lisp.
Zbiranje smeti je pogosto prikazano kot nasprotje ročnemu upravljanju pomnilnika, ki od programerja zahteva, da določi, katere predmete je treba odstraniti in se vrniti v pomnilniški sistem. Vendar pa mnogi sistemi uporabljajo kombinacijo pristopov, vključno z drugimi tehnikami, kot so dodeljevanje stikov in sklepanje regij. Tako kot druge tehnike upravljanja s pomnilnikom lahko zbiranje smeti prevzame znaten delež celotnega časa obdelave v programu in lahko posledično pomembno vpliva na uspešnost. Z dobrimi izvedbami, dovolj pomnilnika in odvisno od uporabe, je lahko zbiranje smeti hitrejše od ročnega upravljanja pomnilnika, medtem ko je nasprotno lahko tudi resnično in je v preteklosti pogosto veljal z neobičajnimi GC algoritmi.
Viri, ki niso spomin, kot so omrežne vtičnice, ročaji baze podatkov, okna za interakcijo uporabnikov in deskriptorji datotek in naprav, običajno ne obdelujejo z zbiranjem smeti. Metode, ki se uporabljajo za upravljanje takih virov, zlasti uničevalcev, so lahko zadostne za upravljanje pomnilnika, tako da ne potrebujete GC-ja. Nekateri sistemi GC omogočajo, da se ti drugi viri povezujejo z regijo pomnilnika, ki ob zbiranju povzroči ponovno pridobitev drugega vira; to se imenuje dokončanje. Dokončanje lahko ustvari zapletove, ki omejujejo njeno uporabnost, kot je nedopustna zakasnitev med odstranjevanjem in vračanjem posebej omejenih virov ali pomanjkanje nadzora nad tem, kaj opravlja delo vračanja.
[Računalništvo][Upravljanje pomnilnika][John McCarthy: računalniški znanstvenik][Ročaj: računanje][Okno: računanje][Destructor: računalniško programiranje][Finalizer]
1.Načela
1.1.Prednosti
1.2.Slabosti
2.Strategije
2.1.Sledenje
2.2.Referenčno štetje
2.3.Analiza pobega
3.Razpoložljivost
3.1.BASIC
3.2.Cilj-C
3.3.Omejena okolja
3.4.Uporaba časa za kompiliranje
3.5.Sistemi v realnem času
[Naloži Več Vsebina ]


Avtorske pravice @2018 Lxjkh