Onur Dayıbaşı

CV
none

Stack ile Hesap Bellek Arasındaki Fark ?

CPU’nun aritmetik işlemleri yapabilmesi için Register (Yazmaçları) kullanır. Fakat bu alanlar tüm kodun çalıştırılması için yetmeyecektir. Bundan dolayı CPU memory(belleği) kullanarak işlemlerini gerçekleştirir. Belleği iki şekilde kullanıyoruz Stack ve Heap.

Stack Belleği için statik bellek ayrımı yapılmıştır. Boyutu sınırlıdır. Veriler Stack veri yapısında tutulur. Yani LIFO(Last In First Out), Stack push/pop methodları ile hızlı bir şekilde erişebilirsiniz.. Kodların çalıştırılması sırasında değişkenler ve kod parçacıklarının tutulduğu kısımdır.

Heap Belleği ise Virtual Memory(Sanal Belleğiniz) yani disk üzerinde swap edebilen belleğiniz büyüklüktedir. C malloc, calloc tahsis ettiğimiz yerler bu alanlardır. Boyutları çok geniştir. Stack belleğe göre erişim daha yavaştır. Bellek blokları arasında boşluklar mevcuttur. İstenilen blok veriye istenildiği zaman erişim sağlanabilir.

Heap vs Stack

Referanslar