tgoop.com/pythonwithmedev/420
Last Update:
( ربطی به مبحث چنل نداره ولی دیدم این مبحث معماری کامپیوتر جذابه 🦦)
Swap (سواپ):
سواپ یه فرآیندیه که در آن سیستم عامل اون prosses که به طور فعال استفاده نمیشوند را از (RAM) به فضای ( Virtual memory)( یه حافظه مجازی ) منتقل میکند. این یک روش برای مدیریت حافظه است و به سیستم اجازه میدهد تا بیش از ظرفیت فیزیکی RAM خود به نظر برسد. سواپ عمدتاً زمانی اتفاق میافتد که Ram پر شود و به فضای بیشتری برای اجرای برنامهها نیاز باشد و معمولا افزایش یا کاهش Swap دست خودمونه.
خب حالا یه سوال پیش میاد ؟
من میتونم هر برنامه ای مثلا یه گیم با 20 گیگ رم رو تویه سیستم با 8 گیگ رم اجرا کنم؟
نه ، چند تا بحث هس :
اولیش اینه که یه مفهومی هس به اسم ( working set ) و نشون میده که یه مجموعهای از صفحات حافظه ( page tables ) است که یک پروسه در طول یک دوره زمانی خاص به آنها دسترسی دارد یا از آنها استفاده میکند ( اصل لوکالیتی) .
حالا چون برنامه یه سری پروسه ها رو نیاز داره و باید اجرا بشه دنبالش تویه RAM میگرده و پیداش نمیکنه ( اصطلاحا میگن miss خورده) و حالا باید بره از Virtual memory بیاره که اوردر پیدا کردن و آوردنش خیلی بیشتر از پیدا کردن تویه خود ram هست و سرعتو کاهش میده
و یه مسئله دیگه هم اینه که برخی از برنامهها به گونهای طراحی شدهاند که نیاز به مقدار مشخصی از RAM دارند و عملکرد صحیح آنها در صورت کمبود RAM به شدت تحت تأثیر قرار میگیرد یا اصلاً اجرا نمیشن
خب حالا از کجا میفهمه من اونقدر حجم ندارم ؟
برنامهها هنگام اجرا میتوانند درخواست حافظه کنند. اگر سیستم عامل نتواند این مقدار حافظه را فوراً تخصیص دهد (چه به دلیل کمبود RAM، چه نیاز به سواپ کردن دادهها)، برنامه ممکن است با خطا یا کاهش عملکرد مواجه بشه
یا اینکه کلا برنامه میتونه از طریق API های سیستم عامل مقدار حجم ram رو ببینه مثلا تویه لینوکس : /proc/meminfo
BY 🧑💻Cyber.vision🧑💻
Share with your friend now:
tgoop.com/pythonwithmedev/420