Laman

Senin, 22 April 2013

Kelas Storage

Ada 3 tempat di dalam memory yang bisa kita letakkan data: di data section (dideklarasikan dengan .data dalam bahasa assembly), di runtime-stack, dan di heap.

Subroutine boleh memiliki data yang tersimpan di section .data. Di bahasa pemrograman tingkat tinggi, seperti C, type penyimpanan ini disebut static.

Variabel yang disimpan dengan cara mengalokasikan run-time stack, biasanya disebut dengan variabel otomatis. Ini karena mereka secara otomatis di push dan di pop ketika subroutine masuk dan keluar. Biasanya kalau orang bilang "variabel" bisa mengacu ke "variabel otomatis".

Variabel yang tempat penyimpanannya ada di heap biasa disebut variabel dinamik. Bab 33 dari kuliah ini akan membahas tentang heap. Heap adalah tempat memory bagi object (menggunakan instruksi new kalau di Java atau C++). Di bahasa C memory dinamik dialokasikan menggunakan operasi malloc (atau sejenisnya).

Heap ada di atas data segment. Kalau variabel dinamik dialokasikan maka data segment akan tumbuh ke atas ke arah stack.

Quest 22: (mengulang) apa yang akan terjadi jika stack dan heap semakin membesar dan membesar?

Tidak ada komentar:

Posting Komentar