Sakupljanje smeća (računarstvo)

Skupljanje smeća (eng. garbage collection, kratica GC) je oblik automatskog upravljanja memorijom. Skupljač smeća (eng. garbage collector) ili kraće skupljač (eng. collector) pokušava vratiti u uporabljiv oblik smeće ili objekte koje računalni program više ne rabi. John McCarthy je otkrio ovo oko 1959. godine da bi riješio probleme Lispa.[1][2] Ovime se oslobađa memoriju koja više nije potrebna.[3] Ova složena funkcija[4] potrebna je jer se tijekom izvođenja programa raspoloživa memorija smanjuje za preostali dio programa koji se ima izvršiti.[3] Kod programa gdje ovo sustav ne rješava sâm, sustavu se mora kvalitetno zadati kad osloboditi memoriju, jer u suprotnom uništit će se objekt koji bi se poslije mogao pokazati potrebnim.[3] Obje pojave, i memorijsko curenje i uništenje objekta čestim su uzrokom kad program ili pak cijelo računalo "zablokira".

Danas su ovi mehanizmi različito zastupljeni kod programa. Java taj mehanizam ima ugrađen i sâm se pokreće, ovisno o potrebi.[3] Kod C++-a ovo nije ugrađeno u sustav, no postoje knjižnice (i besplatne i komercijalne) koje to ugrađuju u sustav.[3]

Izvori

uredi
  1. Recursive functions of symbolic expressions and their computation by machine. Portal.acm.org. Pristupljeno 29. ožujka 2009.
  2. Recursive functions of symbolic expressions and their computation by machine, Part I. Pristupljeno 29. svibnja 2009.
  3. a b c d e Motik, Šribar: Demistificirani C++, 2. izdanje, str. 9 (PDF). Inačica izvorne stranice (PDF) arhivirana 7. rujna 2012. Pristupljeno 24. lipnja 2012.
  4. Demistificirani C++, 2. izdanje, str. 2 (PDF). Inačica izvorne stranice (PDF) arhivirana 7. rujna 2012. Pristupljeno 24. lipnja 2012.
  NODES