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: |

A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot. “Hey degen, are you stressed? Just let it all out,” he wrote, along with a link to join the group. For crypto enthusiasts, there was the “gm” app, a self-described “meme app” which only allowed users to greet each other with “gm,” or “good morning,” a common acronym thrown around on Crypto Twitter and Discord. But the gm app was shut down back in September after a hacker reportedly gained access to user data. In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members.
from us


Telegram linuxtnt(linux tips and tricks)
FROM American