Pengutipan sampah (sains komputer)

Dalam bidang sains komputer, pengutipan sampah atau GC (singkatan untuk garbage collection) ialah suatu bentuk pengurusan ingatan automatik. Ia adalah kes khas bagi pengurusan sumber, di mana sumber terhad yang diurus ialah ingatan. Pengutip sampah, atau pengutip sahaja, cuba untuk menebus sampah atau ingatan yang diisi oleh objek yang tidak lagi digunakan oleh atur cara yang berkaitan. Pengutipan sampah dicipta oleh John McCarthy sekitar 1959 untuk menyelesaikan masalah di dalam Lisp.

Pengutipan sampah selalu digambarkan sebagai berlawanan dengan pengurusan ingatan manual, yang memerlukan pengatur cara untuk menyatakan objek yang mana mahu dinyahperuntukkan dan dikembalikan kepada sistem ingatan. Walau bagaimanapun, kebanyakan sistem menggunakan gabungan kedua-dua pendekatan, dan teknik-teknik lain seperti peruntukan tindanan dan pentabiran kawasan boleh mengatasi sebahagian daripada masalah yang berkenaan. 

Pengutipan sampah tidak mengurus sumber terhad selain ingatan yang digunakan oleh atucara-aturcara tipikal (misalnya soket-soket rangkaian, pengawal pangkalan data, tetingkap interaksi pengguna, serta pemerihal fail dan peranti) secara tradisional. Kaedah-kaedah yang digunakan untuk mengurus sumber sebegini, khususnya pemusnah, mungkin juga sudah cukup untuk mengurus ingatan, lantas, GC tidak diperlukan. Sesetengah sistem GC membenarkan sumber-sumber lain disekutukan dengan suatu kawasan ingatan, yang jika dikutip, mengakibatkan sumber lain berkenaan ditebus; ini dipanggil pemuktamadan. Pemuktamadan mungkin menyebabkan kerumitan yang membatasi kebolehgunaannya, contohnya kependaman di antara nyahguna dan tebus bagi khususnya sumber terhad.

Rujukan

Pautan luar 
 A Garbage Collection Course Curriculum at MSDN Academic Alliance 
 Penerbitan oleh kumpulan OOPS di Universiti Texas di Austin
 Pengutip sampah untuk C dan C++  oleh Hans Boehm
 Notes on the CLR Garbage Collector
 A Glance At Garbage Collection In Object-Oriented Languages
 On-the-fly garbage collection: an exercise in cooperation oleh Edsger W. Dijkstra dan Leslie Lamport and A.J.Martin and C.S.Scholten and E.F.M.Steffens
 Richard Jones and Rafael Lins, Garbage Collection: Algorithms for Automatic Dynamic Memory Management, Wiley and Sons (1996), ISBN 0-471-94148-4
 Richard Jones' Garbage Collection Page
 A Real-Time Garbage Collector Based on the Lifetimes of Objects oleh H. Lieberman and C. Hewitt, MIT Artificial Intelligence Laboratory

Pengurusan ingatan