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

  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007