🧩 Bitmap Summary در مدیریت صفحات Go
در این شکل، هر بیت از bitmap نشاندهندهی وضعیت یک صفحهی حافظه است:
0 → صفحه آزاد (free)
1 → صفحه در حال استفاده (allocated)
برای بهینهسازی جستجوی صفحات آزاد، Go برای هر bitmap سه مقدار خلاصهشده (summary) نگه میداره:
start = 3 → یعنی در ابتدای bitmap، ۳ صفحهی متوالی آزاد داریم
end = 7 → یعنی در انتهای bitmap، ۷ صفحهی متوالی آزاد داریم
max = 10 → طولانیترین دنبالهی صفحات آزاد در کل bitmap برابر با ۱۰ صفحه است
🔹 فلش در تصویر جهت افزایش آدرس حافظه (از پایین به بالا) رو نشون میده.
در نتیجه، ۳ صفحهی آزاد در بخش پایینتر حافظه (low address) و ۷ صفحهی آزاد در بالاترین بخش (high address) قرار دارن.
این ساختار باعث میشه Go خیلی سریعتر بتونه محدودههای بزرگ از صفحات آزاد رو پیدا کنه بدون اینکه کل bitmap رو اسکن کنه — فقط با نگاه کردن به summaryها! ⚡️
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Post #4307
484
Gopher Academy 📌 Memory Allocation in Go ❌این پست اپدیت میشود ❌ 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم. درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction…
