Mashinaning xotira xaritasida uyum qayerda joylashgan?
Mashinaning xotira xaritasida uyum qayerda joylashgan?

Video: Mashinaning xotira xaritasida uyum qayerda joylashgan?

Video: Mashinaning xotira xaritasida uyum qayerda joylashgan?
Video: iPhone tezro ishlashi uchun RAM ni tozalash 2024, Noyabr
Anonim

Yuqori manzillarda joylashgan stack pastki manzilda esa uyum . Ikki xotira ajratish hududlari foydalanilmaydigan va taqsimlanmagan manzil maydonining o'rtasiga o'sadi.

Bundan tashqari, yig'indi xotirada qayerda joylashgan?

Stak statik uchun ishlatiladi xotira ajratish va Uyum dinamik uchun xotira ajratish, ikkalasi ham kompyuterda saqlanadi Ram . ga ajratilgan o'zgaruvchilar stack bor to'g'ridan-to'g'ri saqlanadi xotira va bunga kirish xotira juda tez va uni taqsimlash dastur tuzilganda ko'rib chiqiladi.

Bundan tashqari, yig'ma xotira nima? A xotira to'plami joylashgan joy hisoblanadi xotira qayerda xotira tasodifiy kirishda ajratilishi mumkin. Qaerda stekdan farqli o'laroq xotira juda belgilangan tartibda ajratiladi va chiqariladi, alohida ma'lumotlar elementlari bo'yicha ajratiladi uyum odatda bir-biridan asinxron bo'lgan usullarda chiqariladi.

Bundan tashqari, savol tug'iladi: uyum xotirada qayerda joylashgan va u qaysi yo'nalishda o'sadi?

The Uyum dinamik bo'lgan segmentdir xotira ajratish odatda amalga oshiriladi. Bu maydon odatda BSS segmentining oxirida boshlanadi va o'sadi yuqoridan yuqoriga xotira manzillar. C tilida u malloc / new, free / delete tomonidan boshqariladi, ular hajmini sozlash uchun brk va sbrk tizim chaqiruvlaridan foydalanadi.

Malloc xotirani qayerdan oladi?

C tilida dinamik xotira ba'zi standart kutubxona funktsiyalaridan foydalangan holda to'pdan ajratiladi. Ikki asosiy dinamik xotira funktsiyalari hisoblanadi malloc () va bepul (). The malloc () funktsiyasi bitta parametrni oladi, bu so'ralgan o'lchamdir xotira baytdagi maydon. U ajratilgan joyga ko'rsatgichni qaytaradi xotira.

Tavsiya: