Mengapa memori utama untuk alokasi objek disebut 'heap'?


10

Adakah yang punya ide mengapa area memori utama di mana objek dialokasikan disebut sebagai heap. Saya dapat memahami alasan untuk LIFO stack tetapi ingin tahu apa alasannya untuk nama 'heap'.


2
Saya tidak memiliki sejarah atau bukti untuk mendukung hal ini, tapi saya akan bertaruh tumpukan datang pertama, dan dalam bahasa Inggris tumpukan pada dasarnya adalah kebalikan dari tumpukan, jadi ketika sesuatu datang bukan tumpukan dan tidak memiliki jaminan struktural, tumpukan hanya datang ke pikiran untuk beberapa set orang dan menyebar seperti bahasa cenderung ..
Jimmy Hoffa

2
@JimmyHoffa: Anda mungkin tidak jauh. Di masa lalu (yang bagi saya adalah sekitar tahun 8086), tumpukan dan tumpukan tumbuh berlawanan arah satu sama lain, tumpukan tumbuh dari bawah (ujung memori) ke atas, dan tumpukan tumbuh dari atas (mulai dari memori pengguna) ) bawah.
Robert Harvey

4
@DeadMG: Karena itulah kami meminta suara ini untuk ditutup, dan bendera moderator jika Anda tidak memiliki cukup tenaga untuk memilih untuk ditutup. Gagal semua itu, Anda dapat menautkan ke duplikat di sini di komentar. Bagaimanapun, saya melakukan pencarian, dan tidak dapat menemukan korban penipuan.
Robert Harvey

1
Untuk pemilihan tertutup - Pertanyaan ini sesuai topik. Silakan lihat pertanyaan Meta terbaru ini untuk lebih jelasnya. Ironisnya, pertanyaan meta itu tercantum dalam daftar buletin komunitas saya untuk pertanyaan ini.

Jawaban:


7

Dari informasi yang ditemukan di StackOverflow - Apa asal usul istilah "heap" untuk toko gratis? dan mengapa dua konsep berbeda keduanya disebut "tumpukan"?

Informasi ini setidaknya berasal dari Knuth pada tahun 1975 merujuk penulis lain (tidak disebutkan namanya):

Beberapa penulis mulai sekitar tahun 1975 menyebut kumpulan memori yang tersedia sebagai "tumpukan." Tetapi dalam seri buku ini, kita akan menggunakan kata itu hanya dalam pengertian yang lebih tradisional terkait dengan antrian prioritas. (Seni Pemrograman Komputer - Algoritma Fundamental, edisi ke-3, hal. 435)

Ada juga yang menyebutkan tentang pembahasan Wijngaarden tentang Algol pada awal 1970-an yang merujuk pada kumpulan memori yang tersedia sebagai heap ( heapadalah kata yang disediakan di Algol yang didefinisikan di tempat-tempat sebagai "alokasikan variabel beberapa ruang kosong dari heap global." - tanggal Algol68 dari 1968).

Menerapkan tumpukan ALGOL 68 dari tahun 1970 mungkin berguna dalam melacak beberapa aspek asal kata, meskipun banyak jika berada di belakang paywall.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.