TGViewer
OS Internals OS Internals @oxaa55 · 3.64K subscribers
Post #137 8.05K
ساعتی با حافظه‌ی مجازی در لینوکس

یکی از کارهایی که سیستم‌های عامل از جمله لینوکس انجام می‌دهند مدیریت حافظه و ایجاد یک لایه‌ی Abstraction برای پروسه‌هاست که به کمک آن هر پروسه‌ای تصور می‌کند کل حافظه‌ی موجود در سیستم، معمولا ۳ گیگ در مدل ۳۲بیتی و ۱۲۸ترابایت در مدل ۶۴بیتی، را در اختیار داشته و از اینکه واقعا چه مقداری حافظه در سیستم موجود بوده و داده بر روی RAM یا Disk ذخیره می‌شود اطلاعی نخواهد داشت.

دریافت حافظه از سیستم‌عامل و نگاشت آن در فضای آدرس دهی پروسه‌ها نیز در واحدهایی به اسم Page و به کمک فراخوانی سیستمی mmap انجام می‌شود که پیش‌فرض مقدار 4KB داشته و از یک Page Table برای مشخص کردن اینکه چه فضایی از پروسه در کجای RAM/Disk قرار گرفته است استفاده می‌شود.

در این ویدئو مفاهیم مربوط به آدرس‌دهی مجازی Virtual Addressing در لینوکس و بخش‌هایی که در آن دخیل بوده شرح داده شده و به کمک چند نمونه کد مفاهیم تست می‌شوند.

برخی از مواردی که در مورد آن‌ها صحبت می‌کنم به شرح زیر است:
• مقدمه‌ای بر حافظه مجازی و دلیل استفاده از Virtual Addressing
• نحوه نگاشت Page و Frame
• مفهوم Page Table و نقش آن در نگاشت آدرس‌ها
• بررسی فایل proc/iomem/ و نحوه نگاشت حافظه در RAM
• تفاوت Page Fault‌های Major و Minor و نحوه مدیریت آن‌ها
• آشنایی با Zone‌های حافظه در لینوکس
• معرفی Slab Allocator و مفهوم کش‌های حافظه
• مقایسه روش‌های تخصیص حافظه در کرنل kmalloc vs vmalloc
• بررسی اطلاعات در حافظه‌ مجازی و RAM به کمک Qemu

لینک ویدئو در یوتیوب:
https://youtu.be/2bjuqRLFaHc
لینک ویدئو در آپارات:
https://aparat.com/v/xqj64rn

#ShortLinuxInternals #linux #internals #VirtualMemory #MemoryManagement #KernelProgramming #PageTable #PageFault #SlabAllocator #kmalloc #vmalloc #SystemProgramming #EmbeddedLinux
YouTube Virtual Memory in Linux یکی از کارهایی که سیستم‌های عامل از جمله لینوکس انجام می‌دهند مدیریت حافظه و ایجاد یک لایه‌ی Abstraction برای پروسه‌هاست که به کمک آن هر پروسه‌ای تصور می‌کند کل حافظه‌ی موجود در سیستم، معمولا ۳ گیگ در مدل ۳۲بیتی و ۱۲۸ترابایت در مدل ۶۴بیتی، را در اختیار داشته…
  • ❤ 28
  • 👍 4
More from @oxaa55
  1. Sep 24, 2026🎯Inside the MBR: How the 512-Byte Boot Sector and Partition Tables Work ⁉️تا حالا به این…
  2. Aug 21, 2026🔸 کارگاه تخصصی «Linux Kernel Internals» اگر با Linux کار می‌کنید، شناختن دستورات و مدیریت…
  3. Aug 14, 2026OS Internals pinned «🚀 دوره‌ی Foundations of Linux Reverse Engineering and Exploitation ب…
  4. Aug 14, 2026🚀 دوره‌ی Foundations of Linux Reverse Engineering and Exploitation به صورت کامل منتشر شد!…
  5. Jun 3, 2026سلام به همه عزیزان، یکی از کارهایی که تجربه خیلی با ارزشی است و یادگیری زیادی داره، کار کر…
  6. Dec 12, 2025📢 انتشار فصل هفتم دوره Linux Exploit Development ℹ️ جزئیات ساختار فایل‌های ELF. مشاهده‌ی…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →