SORU
17 EYLÜL 2008, ÇARŞAMBA


Ne ve nerede stack ve heap.

Programlama dili kitap yığını, ve referans türleri üzerinde oluşturulan açıklamak bu iki şeyin ne olduğunu açıklamadan öbek üzerinde oluşturulur. Bu net bir açıklama okumadım. Ne demek olduğunu anladımbir yığınama ne onlar (gerçek bir bilgisayarın belleğinde fiziksel olarak) nerede?

  • Ne kadar işletim sistemi veya dil çalışma zamanı tarafından kontrol edilir?
  • Bunların kapsamı nedir?
  • Her boyutunu ne belirler?
  • Bir daha hızlı yapan ne?

CEVAP
17 EYLÜL 2008, ÇARŞAMBA


Yığın bellek yürütme iş parçacığı için çizik alanı olarak bir kenara koyun. Bir fonksiyon çağrıldığında, bir blok yerel değişkenler ve bazı muhasebe veri yığınının üstünde ayrılmıştır. Döndüren fonksiyonu, blok kullanılmamış olur ve bir fonksiyon denir dahaki sefere kullanılabilir. Yığın her zaman (son giren ilk çıkar) FIFO sırada ayrılmıştır; en son ayrılan blok her zaman serbest bir sonraki blok. Bu gerçekten basit takip yığın tutmak için yapar; yığından bir blok kurtararak bir işaretçi ayarlamak başka bir şey değildir.

Yığın bellek dinamik ayırma için bir kenara koyun. Aksine, yığın, yığın blokları ayırma ve kaldırma için uygulanan desen yok; istediğiniz zaman ayırma ve her zaman özgür olabilir. Bu çok daha karmaşık olan öbek parçaları ayrılır izlemek için veya ücretsiz herhangi bir zamanda yapar; çok özel öbek yöneticileri farklı kullanım şekilleri için ayarlama yığın performans vardır.

Her iş parçacığı genellikle uygulama ayırma farklı türleri için birden fazla kümeler için nadir değildir rağmen) tek bir yığın varken bir yığın alır.

Sorularınıza doğrudan cevap vereyim

Ne kadar işletim sistemi veya dil çalışma zamanı tarafından kontrol edilir?

İşletim sistemi iş parçacığı oluşturulurken sistem düzeyinde parçacığı her yığın ayırır. Genellikle OS dil çalışma zamanı tarafından uygulama için yığın ayırmaya denir.

Bunların kapsamı nedir?

Yığın iş parçacığı yığın iadesi çıkar bu yüzden bir iplik yapışık. Öbek genellikle çalışma zamanı tarafından uygulamanın başlangıç sırasında ayrılır ve uygulama (teknik olarak süreci) çıktığında iadesi.

Her boyutunu ne belirler?

Yığın boyutunu bir iş parçacığı oluşturulurken ayarlanır. Öbek boyutunu uygulama başlangıç olarak ayarlanmış, ancak alanı gerektiğinde büyüyebilir (ayırıcı istekleri işletim sisteminden daha fazla bellek).

Bir daha hızlı yapan ne?

Bu yığın, çünkü daha hızlı erişim desen yapar önemsiz tahsis ve ayırması bellek (işaretçi/tamsayı sadece artan veya azalır), süre öbek sahip çok daha karmaşık defter tutma ilgili bir ayırma ya da ücretsiz. Ayrıca, yığındaki her bir bayt eşlenen olma eğilimindedir anlamına gelir çok sık işlemci önbelleği için, çok hızlı yapma yeniden eğilimindedir. Başka bir performans vurmak için öbek öbek olan, çoğunlukla bir küresel kaynak, genellikle sahip olmak çoklu iş parçacığı güvenli, yani her ayırma ve kaldırma ihtiyaçlarını karşılamak üzere - genellikle - senkronize "tüm" diğer yığın erişir program.

Açık bir gösteri:

Görüntü kaynağı: vikashazrati.wordpress.com

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ama Jenna

    Ama Jenna

    29 NİSAN 2011
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • SoundHound

    SoundHound

    8 Mart 2006