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

  • DavidParody

    DavidParody

    17 EKİM 2009
  • Lamborghini

    Lamborghini

    13 Aralık 2005
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006