SORU
26 Mayıs 2009, Salı


Malloc tembel Linux üzerinde bir ayırma (ve diğer platformlar için destek sayfaları oluşturur?

Linux üzerinde ise malloc(1024 * 1024 * 1024), ben malloc tam olarak ne yapar?

Ayırma (boş liste yürüyüş ve gerekiyorsa yeni bir eşleme oluşturmak için sanal bir adres atar eminim, ama aslında takas Sayfa 1 GiB değer yaratır? Veya mprotect adres aralığı ve aslında onlar gibi dokununca sayfaları oluşturmak mmap mı geliyor?

(the standard ayrıntılar bu tür sessiz olduğu için Linux belirterek değilim ama diğer platformlar da ne yaptığını merak ediyorum.)

CEVAP
26 Mayıs 2009, Salı


Linux ertelenmiş sayfa ayırma, aka. 'iyimser bir bellek ayırma'. Belleği geri gelen malloc değil desteklenen bir şey ve ne zaman sen dokun olabilir aslında bir OOM durumu (takas alanı için bu sayfayı açtığınız bu durumda, a process is unceremoniously terminated.

Örneğin http://www.linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html bkz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • pjtoohot

    pjtoohot

    15 NİSAN 2008
  • Santozz Yazz

    Santozz Yazz

    23 Mart 2014