LINUXTNT Telegram 4568
⭐️لینوکس پیشرفته
⭐️مفهوم Copy-on-Write (COW) در لینوکس

🔸در سیستم‌عامل لینوکس، زمانی که چند پردازش (Process) از یک ناحیه حافظه یا فایل مشترک استفاده می‌کنند ، کرنل در ابتدا فقط یک نسخه‌ی مشترک از داده‌ها را در حافظه نگه می‌دارد.
در این حالت، تمام پردازش ها به‌صورت هم‌زمان به همان داده‌ها دسترسی دارند، اما هیچ‌یک تا زمانی که داده را تغییر نداده‌اند، مالک واقعی آن کپی نیستند.

🔸به محض این‌که یکی از پردازش ‌ها تلاش کند بخشی از داده را تغییر دهد (Write)، مکانیزم Copy-on-Write (COW) فعال می‌شود.
در این لحظه، کرنل یک کپی مستقل از همان صفحه‌ی حافظه (Memory Page) را فقط برای همان پردازش می‌سازد و سایر پردازه‌ها همچنان به نسخه‌ی اصلی دسترسی دارند.
ربه این ترتیب، عملیات نوشتن باعث می‌شود داده‌ها از حالت اشتراک خارج شوند، در حالی که خواندن همچنان بدون تکرار حافظه انجام می‌شود.

🔸این روش باعث صرفه‌جویی چشمگیر در حافظه می‌شود، به‌ویژه زمانی که چند پردازه از یک برنامه واحد ایجاد شده باشند (مانند فرآیندهای متعدد سرورهای وب یا برنامه‌های چندرشته‌ای).

🔹 درون کرنل لینوکس:
پیاده‌سازی اصلی این رفتار در فایل زیر قرار دارد:
mm/memory.c
در این بخش از کرنل، مکانیزم COW هنگام بروز page fault مدیریت می‌شود.

مشاهده‌ی رفتار حافظه‌ی اشتراکی و صفحه‌های COW

با این ابزارها می‌تونی بفهمی چند صفحه‌ی حافظه واقعاً فیزیکی مشترک است و کجاها COW رخ داده.
نمونه:

pmap -x <PID>


نویسنده: حسین سیلانی.اموزش بیشتر در:
https://learninghive.ir
👍8



tgoop.com/linuxtnt/4568
Create:
Last Update:

⭐️لینوکس پیشرفته
⭐️مفهوم Copy-on-Write (COW) در لینوکس

🔸در سیستم‌عامل لینوکس، زمانی که چند پردازش (Process) از یک ناحیه حافظه یا فایل مشترک استفاده می‌کنند ، کرنل در ابتدا فقط یک نسخه‌ی مشترک از داده‌ها را در حافظه نگه می‌دارد.
در این حالت، تمام پردازش ها به‌صورت هم‌زمان به همان داده‌ها دسترسی دارند، اما هیچ‌یک تا زمانی که داده را تغییر نداده‌اند، مالک واقعی آن کپی نیستند.

🔸به محض این‌که یکی از پردازش ‌ها تلاش کند بخشی از داده را تغییر دهد (Write)، مکانیزم Copy-on-Write (COW) فعال می‌شود.
در این لحظه، کرنل یک کپی مستقل از همان صفحه‌ی حافظه (Memory Page) را فقط برای همان پردازش می‌سازد و سایر پردازه‌ها همچنان به نسخه‌ی اصلی دسترسی دارند.
ربه این ترتیب، عملیات نوشتن باعث می‌شود داده‌ها از حالت اشتراک خارج شوند، در حالی که خواندن همچنان بدون تکرار حافظه انجام می‌شود.

🔸این روش باعث صرفه‌جویی چشمگیر در حافظه می‌شود، به‌ویژه زمانی که چند پردازه از یک برنامه واحد ایجاد شده باشند (مانند فرآیندهای متعدد سرورهای وب یا برنامه‌های چندرشته‌ای).

🔹 درون کرنل لینوکس:
پیاده‌سازی اصلی این رفتار در فایل زیر قرار دارد:
mm/memory.c
در این بخش از کرنل، مکانیزم COW هنگام بروز page fault مدیریت می‌شود.

مشاهده‌ی رفتار حافظه‌ی اشتراکی و صفحه‌های COW

با این ابزارها می‌تونی بفهمی چند صفحه‌ی حافظه واقعاً فیزیکی مشترک است و کجاها COW رخ داده.
نمونه:

pmap -x <PID>


نویسنده: حسین سیلانی.اموزش بیشتر در:
https://learninghive.ir

BY linuxtnt(linux tips and tricks)


Share with your friend now:
tgoop.com/linuxtnt/4568

View MORE
Open in Telegram


Telegram News

Date: |

The best encrypted messaging apps fire bomb molotov November 18 Dylan Hollingsworth yau ma tei Hashtags Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” Read now
from us


Telegram linuxtnt(linux tips and tricks)
FROM American