Serbest liste, dinamik bellek tahsisi kullanılırken çalışan bir program tarafından kullanılabilen bilgisayar belleği konumlarının adreslerini tutan bir veri yapısıdır. yığın olarak adlandırılan boş hafıza alanından, boş bir listenin uygulanması basit bir bağlantılı liste olabilir ya da bir gibi daha karmaşık bir veri yapısı olabilir. En üst düzey bilgisayar programlama dilleri, otomatik listeyi otomatik olarak tutar ve manuel yönetim ihtiyacını ortadan kaldırır.
Bir program, program yürütme sırasında bilgileri depolamak için alan gerektirdiğinde, temel işletim sisteminden belirli bir miktarda bellek isteğinde bulunmalıdır.Kullanılabilecek bellek bloklarının yerleri Tahsisin başarılı olması için istenen hafıza miktarının bu bloklardan bir veya daha fazlasında bulunması gerekir. Uygun bir hafıza konumuna bir işaretçi döndürüldüğünde, Listenin bu elemanı kaldırılır.
Hafıza kullanılarak bir program yapıldıktan sonra, bu kodu kaldırabilir: Bu, işaretçiyi bir sonraki tahsisat işleminde kullanılabilir hale geleceği imlecin hafıza bloğuna tekrar serbest listeye geçirilmesini içerir. Liste boş olduğundan veya programın isteğini yerine getirecek kadar büyük bellek blokları olmadığından bellek ayırma işlemi başarısız olabilir.
En basit bellek yönetimi şekli ilk sistem olarak adlandırılır.Bu sistem tek bir boş bellek yeri listesi tutar, bellek talebi gönderildiğinde liste geçilir ve ilk satır Bu, yeterince büyük, döndürülür. Blok, istenen boyutun iki katından fazla ise, yarıya iner ve kullanılmayan yarısı listeye geri eklenir. asla listeye geri alınamayacak parçalanmış hafıza alanlarına sahip olma riski.
Farklı bir bellek yönetim şekli, bu sisteme tahsis sistemi denir.Bir ilk uygun sistemden farklı olarak, bu kişilere tahsisat, her biri sadece belirli bir büyüklükte açık bloklar tutan birkaç ücretsiz liste tutar. Bir tahsis talebi alındığında, talebi dolduracak kadar büyük blokları tutan listeye danışılır ve açık bir konum döndürülür. İstenirse, gereksinimleri karşılamak için daha büyük bir blok ikiye bölünür.
"Serbest liste" terimi, bağlı bir adres adreslerine bağlı bir listeye atıfta bulunabilir veya çok daha karmaşık bir veri yapısı türünü ifade edebilir. Kaynak kodu karmaşık hale getirme pahasına açık bellek blokları bulma hızını artırmaya yardımcı olabilir Bağlantılı bir liste özel bir sıralama ağacından daha yavaş olabilir ancak okunması çok daha kolay bir programlama kodu oluşturur, hata ayıkla ve değiştir.
Bazı programlama dilleri ve işletim sistemleri, çöp toplama adı verilen özel bir mekanizmadan yararlanmaktadır.Bu, ücretsiz bir listedeki farklı girişlerin alınmasına yardımcı olan ve bitişik olmaları için boş alanları birleştiren bir işlemdir. parçalanmanın önlenmesi ve daha büyük bellek bloklarının tahsis edilmesine izin verilmesi.


