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

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • How To Cook That

    How To Cook

    16 NİSAN 2011
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009