SORU
17 Mart 2013, Pazar


Ne kadar bellek sızıntısı olabilir?

Bellek sızıntıları birçok defa kullandım. Genellikle yarın yok gibi malloc-ıng olduğumda, ya da FILE *sarkan kirli çamaşır gibi. Ben genel olarak bütün bellek en az program sonlandırıldığında temizlenir (okuma: umutsuzca umut) varsayalım. Sızan bellek program sona erer, ya da çöküyor toplanmaz herhangi bir durum var mıdır?

Cevap yaygın olarak dil-dil değişir, C odaklanalım o zaman.

Lütfen ifade hiperbolik kullanımı not, yarın yok gibi '' ve 'kirli çamaşır gibi sallanan'. Güvensiz* malloc*ıng sevdiklerine zarar verebilir. Ayrıca, lütfen kirli çamaşırları ile dikkatli olun.

CEVAP
17 Mart 2013, Pazar


Hayır. İşletim sistemleri tüm kaynakları, çıktığınızda işler tarafından düzenlenen ücretsiz.

Bu işletim sistemi korur tüm kaynaklar için geçerlidir: bellek, açık dosyalar, ağ bağlantıları, pencere kolları...

Bu program çok basit ya da hatalı bir işletim sistemi ile bir işletim sistemi olmadan, ya da gömülü bir sistem üzerinde çalışıyorsa, bellek yeniden doğmuş kadar kullanışsız olabileceğini söyledi. Ama eğer olsaydı, bu durumda muhtemelen bu soruyu sormasına gerek kalmazdı.

İşletim sistemi, uzun bir süre bazı kaynakları serbest sürebilir. Örneğin, bir ağ sunucusuna bağlantı kabul etmek için kullandığı TCP bağlantı noktası düzgün program tarafından kapalı bile dakika özgür olmak için biraz zaman alabilir. Ağa bağlı bir program da olabiliruzakveritabanı nesneleri gibi kaynakları. Uzak sistem ağ bağlantısı kesildiği zaman bu kaynakları serbest, ama daha uzun yerel işletim sistemi daha sürebilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DrakeVEVO

    DrakeVEVO

    17 AĞUSTOS 2009
  • superemposed

    superemposed

    25 Aralık 2007
  • SVB International

    SVB Internat

    29 EKİM 2011